IRC Python Bot:最佳方式 [关闭]

     2023-03-13     260

关键词:

【中文标题】IRC Python Bot:最佳方式 [关闭]【英文标题】:IRC Python Bot: Best Way [closed] 【发布时间】:2010-11-09 04:58:12 【问题描述】:

我想构建一个基本上执行以下操作的机器人:

    聆听房间并与用户互动,并鼓励他们私信聊天机器人。 一旦用户发送消息,机器人就会使用各种 AI 技术与客户端互动。

我应该只使用 Python 中的 IRC 库或 Sockets,还是需要更多的机器人框架。

你会怎么做?

谢谢!

这是我目前正在使用的代码,但是我还没有让它工作。

#!/usr/bin/python 
import socket
network = 'holmes.freenet.net'
port = 6667
irc = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
irc.connect ( ( network, port ) )
irc.send ( 'NICK PyIRC\r\n' )
irc.send ( 'USER PyIRC PyIRC PyIRC :Python IRC\r\n' )
irc.send ( 'JOIN #pyirc\r\n' )
irc.send ( 'PRIVMSG #pyirc :Can you hear me?\r\n' )
irc.send ( 'PART #pyirc\r\n' )
irc.send ( 'QUIT\r\n' )
irc.close()

【问题讨论】:

我即将完成 Python 的 IRC 包,它可能会帮助您。我会在这里提供:ircutils.evanfosmark.com 太棒了!谢谢!我会记住这一点! 【参考方案1】:

如果您想要一个理智的设计,请使用Twisted 或Asynchat。可以只使用套接字来完成,但为什么要从头开始呢?

【讨论】:

我刚刚再次查看了 Twisted,并在 IM 部分下找到了它。感谢您的链接。 Asynchat 到底有什么帮助?【参考方案2】:

如果您想涉及 AI 技术,那么我建议您查看 Python 的 AIML 包。这与 ALICE 机器人所采用的技术相同。

【讨论】:

感谢您对 AIML 包的关注!【参考方案3】:

如果您想要创建 AI 部分,为什么还要自己编写 IRC 连接所需的所有代码?

我建议使用SupyBot,只需将您的 AI 代码编写为它的插件即可。有相当容易理解的文档和大量示例代码可供查找。此外,它还附带了大量插件,可用于各种用途,可以补充您的 AI。

【讨论】:

【参考方案4】:

我在 2 年后回复,我只是为 Google 员工写这篇文章:-P

在这里https://github.com/julienpalard/yauib 试试我的“又一个无用的 IRC 机器人”,让您可以使用任何您想要的语言编写机器人的每个功能。

【讨论】:

【参考方案5】:

我使用irclib 做了一个(非常糟糕,而且很长一段时间都在重构)IRC bot。该文档几乎没有,但它摆脱了让您必须进行所有套接字连接之类的事情,这是我真的不想处理的事情。不过各有各的。

【讨论】:

【参考方案6】:

使用现有的 IRC 库而不是自己实现协议。

【讨论】:

IRC Bot - 防洪(python)

】IRCBot-防洪(python)【英文标题】:IRCBot-floodprotection(python)【发布时间】:2011-04-1923:14:12【问题描述】:ifdata.find(\'PRIVMSG\')!=-1:nick=data.split(\'!\')[0].replace(\':\',\'\')text=\'\'ifdata.count(text)>=200:sck.send(\'KICK\'+""+ch 查看详情

Python 3 Twitch IRC bot 接收 Python 或错误代码的消息限制?

】Python3TwitchIRCbot接收Python或错误代码的消息限制?【英文标题】:Python3TwitchIRCbotreceivingmessageslimitationsofPythonorbadCode?【发布时间】:2015-03-0923:49:15【问题描述】:当我试图在很短的时间内接收大量消息时,我似乎碰壁了。我不确... 查看详情

Twisted Python IRC Bot - 如何在 bot 运行命令时监听命令?

】TwistedPythonIRCBot-如何在bot运行命令时监听命令?【英文标题】:TwistedPythonIRCBot-Howtolistenforcommandswhilebotisrunningacommand?【发布时间】:2012-08-0104:45:49【问题描述】:我有一个使用TwistedPythonIRC协议编写的IRC机器人。我希望能够运行... 查看详情

Python IRC bot + SQLAlchemy - 多渠道跟踪用户

】PythonIRCbot+SQLAlchemy-多渠道跟踪用户【英文标题】:PythonIRCbot+SQLAlchemy-trackusersinmultiplechannels【发布时间】:2012-10-1912:19:47【问题描述】:我目前将IRC用户存储在字典中,使用他们的昵称作为“键”以便于检索。用户是从SQLAlchemy... 查看详情

节目频道的最佳 IRC 服务器? [关闭]

】节目频道的最佳IRC服务器?[关闭]【英文标题】:BestIRCserverforprogrammingchannels?[closed]【发布时间】:2009-10-2823:31:27【问题描述】:我一直将EFnet用于IRC,但最近发现了Freenode。这是一般程序员人数最多的服务器吗?【问题讨论】... 查看详情

Twisted irc python bot - 缓冲消息

】Twistedircpythonbot-缓冲消息【英文标题】:Twistedircpythonbot-bufferingmessages【发布时间】:2012-06-0515:31:56【问题描述】:“为什么我用transport.write发送的数据需要很长时间才能到达连接的另一端?”只有在你放弃对反应器的执行控制... 查看详情

IRC Bot 未连接到频道

...个网站上的教程:http://wiki.shellium.org/w/Writing_an_IRC_bot_in_Python当我在Ubuntu中打开终端并运行screenpythonircbot.py时,以下是我收到的消息。:irc.codetalk.ioNO 查看详情

如何使用 Python Twitch IRC Bot 获取聊天消息参数?

】如何使用PythonTwitchIRCBot获取聊天消息参数?【英文标题】:HowdoIuseaPythonTwitchIRCBottotakechatmessageparameters?【发布时间】:2016-02-1906:54:15【问题描述】:我对Python编码相当陌生,只是想知道是否有人知道我的PythonTwitchIRCBot使用套接... 查看详情

Python3 webserver 在 IRC bot 的线程之间进行通信

】Python3webserver在IRCbot的线程之间进行通信【英文标题】:Python3webservercommunicatebetweenthreadsforIRCbot【发布时间】:2016-07-2313:26:22【问题描述】:我已经阅读了很多关于线程、队列、池等的文档,但仍然不知道如何解决我的问题。情... 查看详情

在网页中嵌入 IRC 客户端的最佳方式

】在网页中嵌入IRC客户端的最佳方式【英文标题】:BestwaytoembedanIRCclientinawebpage【发布时间】:2009-04-2217:55:27【问题描述】:我正在寻找一个好的、免费的、最好是开源的IRC客户端以嵌入到网页中。支持大多数浏览器的明显要求... 查看详情

Python IRC bot 在 3 次 ping 后断开连接

】PythonIRCbot在3次ping后断开连接【英文标题】:PythonIRCbotdisconnectingafter3pings【发布时间】:2014-09-1222:19:37【问题描述】:所以我编写了一个小型twitchirc机器人,但它断开了连接,机器人只是保持ping的状态,在3次pong之后,我的机... 查看详情

Twisted Python IRC bot - 如何异步执行函数以便它不会阻塞机器人?

】TwistedPythonIRCbot-如何异步执行函数以便它不会阻塞机器人?【英文标题】:TwistedPythonIRCbot-howtoexecuteafunctionasynchronouslysothatitdoesn\'tblockthebot?【发布时间】:2019-02-0813:43:01【问题描述】:我正在尝试编写一个IRC机器人,它在执行... 查看详情

在 Azure 中观看多个 IRC 频道的最佳方式

】在Azure中观看多个IRC频道的最佳方式【英文标题】:BestwaytowatchmultipleIRCchannelsinAzure【发布时间】:2020-08-2422:31:27【问题描述】:我正在尝试将我的应用程序连接到多个IRC频道以读取传入的聊天消息并将它们发送给我的用户。可... 查看详情

托管 Facebook Messenger Bot 代码的最佳位置是啥? [关闭]

】托管FacebookMessengerBot代码的最佳位置是啥?[关闭]【英文标题】:WhatisthebestplaceforhostingFacebookMessengerBotcode?[closed]托管FacebookMessengerBot代码的最佳位置是什么?[关闭]【发布时间】:2018-05-0400:28:23【问题描述】:我有一个问题可能... 查看详情

Irc-bot 使用扭曲与期刊印刷

】Irc-bot使用扭曲与期刊印刷【英文标题】:Irc-botusingtwistedwithperiodicalprinting【发布时间】:2011-06-1810:36:49【问题描述】:我遇到的问题确实很小,但是我已经尝试了两天,但还是无处可去。基本上我正在使用twisted构建一个IRC机... 查看详情

使用 irc.bot.SingleServerIRCBot 持续存在的线程(与 twitch 一起使用)

】使用irc.bot.SingleServerIRCBot持续存在的线程(与twitch一起使用)【英文标题】:Threadspersistingwithirc.bot.SingleServerIRCBot(usingwithtwitch)【发布时间】:2018-10-3105:12:20【问题描述】:向包含SingleServerIRCBot的线程发送断开信号的正确方法是... 查看详情

显示提要的 Bot IRC 不起作用

】显示提要的BotIRC不起作用【英文标题】:BotIRCtoshowfeedsdoesnotwork【发布时间】:2015-02-1021:02:14【问题描述】:我正在NodeJS中为IRC开发一个机器人,该机器人进入频道但它不显示最新的提要,还在控制台中显示任何错误。我最初... 查看详情

在硬件上 C++ 和 Python 之间进行通信的最佳方式是啥? [关闭]

】在硬件上C++和Python之间进行通信的最佳方式是啥?[关闭]【英文标题】:WhatisthebestwaytocommuniatebetweenC++andPythononHardware?[closed]在硬件上C++和Python之间进行通信的最佳方式是什么?[关闭]【发布时间】:2020-07-2818:28:37【问题描述】... 查看详情