使用 PHP 构建 IRC 机器人,需要一些帮助

发布于 2024-11-16 15:44:58 字数 411 浏览 2 评论 0原文

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

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

有什么想法吗? 希望我解释得足够多,这样你们就能明白我到底想要什么。

谢谢!

I am using the a SmartIRC library for this.
What I need to be able to do is have the bot running and accepting commands from users, and also listening on a UDP socket.
I get data sent through the UDP socket that I need to analyze, sort into MySQL tables and such.
I need that UDP data to be available to my BOT.

So the problem is, whenever I open a UDP socket it listens to all the data in a 'while' loop.
So it means that the IRC bot itself is un-functional until the loop is over and closed.
I thought about using some kind of a multi-threading solution, but I am not sure how.
I need to find some way to spawn a new thread of the UDP socket, and send that data to my currently running bot. ah, no clue.

Any ideas?
Hopefully I explained it enough so you guys can understand what the hell I want.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小嗷兮 2024-11-23 15:44:58

我不确定你为什么要在 while 循环中监听数据。当我过去使用 SmartIRC 时,我使用 $irc->registerActionhandler() 作为用户命令,然后调用 $irc->listen( ),这样图书馆会为您处理这一切。

此处可以找到一些使用 SmartIRC 的好示例,希望它们会对您有所帮助。

I'm not sure why you're listening for data in a while loop. When I have used SmartIRC in the past I use $irc->registerActionhandler() for the user commands and then call $irc->listen( ), that way the library handles it all for you.

Some good examples of using SmartIRC can be found here, hopefully they will help you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文