【问题标题】:Building an IRC bot using PHP, need some help使用 PHP 构建 IRC 机器人,需要一些帮助
【发布时间】:2011-06-22 13:04:46
【问题描述】:

我为此使用a SmartIRC 库。 我需要做的是让机器人运行并接受用户的命令,并监听 UDP 套接字。 我通过 UDP 套接字发送数据,我需要分析、排序到 MySQL 表等。 我需要我的 BOT 可以使用该 UDP 数据。

所以问题是,每当我打开一个 UDP 套接字时,它都会在一个“while”循环中监听所有数据。 所以这意味着 IRC 机器人本身在循环结束并关闭之前无法运行。 我想过使用某种多线程解决方案,但我不确定如何。 我需要找到某种方法来生成 UDP 套接字的新线程,并将该数据发送到我当前正在运行的机器人。啊,不知道。

有什么想法吗? 希望我解释得够清楚,让你们明白我到底想要什么。

谢谢!

【问题讨论】:

  • 您选择 PHP 来完成这个任务有什么特别的原因吗? Eggdrops 是首选的 IRC 机器人。缺点是你需要学习 TCL 来为机器人编写脚本,除非你想编写自己的编译模块(我不记得这些是用什么语言编写的)。我会说 PHP 不是理想的语言。
  • 好吧,我选择了 PHP,因为我对它有一定的了解。我不知道任何其他足以在其中创建机器人的语言。如果我找不到解决方案,我可能会快速学习 Java 并使用它创建一个机器人。

标签: php multithreading sockets irc


【解决方案1】:

我不确定您为什么要在 while 循环中侦听数据。当我过去使用 SmartIRC 时,我使用 $irc->registerActionhandler() 来处理用户命令,然后调用 $irc->listen( ),这样库就会为你处理所有事情。

可以在here 找到一些使用 SmartIRC 的好例子,希望它们对您有所帮助。

【讨论】:

  • 我正在尝试从远程服务器侦听 UDP 数据,这与 IRC 完全无关。所以我不确定这会有什么帮助。
猜你喜欢
  • 2011-09-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-02
  • 1970-01-01
  • 1970-01-01
  • 2018-11-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多