Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash IRC bot获取通道用户模式的最简单方法_Bash_While Loop_Bots_Irc - Fatal编程技术网

bash IRC bot获取通道用户模式的最简单方法

bash IRC bot获取通道用户模式的最简单方法,bash,while-loop,bots,irc,Bash,While Loop,Bots,Irc,我已经为IRC编写了一个bash bot,它使用tail-f文件| nc IRC.server.org |同时读取字符串来连接并与IRC服务器对话 我遇到的问题是,我想检查bot加入的频道中的用户模式,例如(+voice,@OP)等 我发现获取此信息的第一种方法是通过/NAMES#channel,这并不理想,因为我必须等待响应,然后在处理响应之前运行while循环的另一个循环 我想做的另一件事是查看用户是否已针对nickserv进行了身份验证,我可以通过发送消息nickserv STATUS U

我已经为IRC编写了一个bash bot,它使用
tail-f文件| nc IRC.server.org |同时读取字符串
来连接并与IRC服务器对话

我遇到的问题是,我想检查bot加入的频道中的用户模式,例如(+voice,@OP)等

我发现获取此信息的第一种方法是通过
/NAMES#channel
,这并不理想,因为我必须等待响应,然后在处理响应之前运行while循环的另一个循环


我想做的另一件事是查看用户是否已针对nickserv进行了身份验证,我可以通过发送消息
nickserv STATUS Username
,来实现这一点,但我需要再次等待响应。

机器人应该能够在加入频道时从网络状态页面获取用户模式。如果他们可以将其添加到用户消息字符串中,生活会不会很简单?这不是一个真正的答案,所以我将其放在评论中,但是如果你想用bash制作一个IRC机器人,我强烈建议您使用此工具:,它是一个使用Unix文件系统进行通信的IRC客户端。如果你想用它来构建一个机器人,你只需要读/写文件就可以了,所以用ii我就能收到
!命令
,然后进行查找以查看他们是否已注册,获得响应,然后以正确的输出进行回复?@l'l我遵照您的建议并在加入频道时捕获了用户列表,然后在自动语音/OP/etc使用模式上捕获chanserv消息,tnx:)