Python IRC机器人功能

Python IRC机器人功能,python,irc,Python,Irc,我正在学习Python,想开始一个小项目。似乎制作IRC机器人在初学者中很受欢迎,所以我想我会实现一个。显然,有一些核心功能,比如能够连接到服务器和加入频道,但机器人中通常包含哪些好功能?谢谢你的想法。我还在node.js中编写一个机器人。以下是我的一些目标/职能: 映射“@”命令,以便bot检测消息历史记录中的最后一个URI并使用w3 html验证服务 通过调用设置一个琐事游戏!提问,提出一个带有3个提示的问题,能够根据类别加载自定义问题 使用weather[zip/name]获取天气信息

我正在学习Python,想开始一个小项目。似乎制作IRC机器人在初学者中很受欢迎,所以我想我会实现一个。显然,有一些核心功能,比如能够连接到服务器和加入频道,但机器人中通常包含哪些好功能?谢谢你的想法。

我还在node.js中编写一个机器人。以下是我的一些目标/职能:

  • 映射“@”命令,以便bot检测消息历史记录中的最后一个URI并使用w3 html验证服务
  • 通过调用设置一个琐事游戏!提问,提出一个带有3个提示的问题,能够根据类别加载自定义问题
  • 使用
    weather
    [zip/name]获取天气信息
  • 连接
    jseval
    命令以评估javascript,python、perl和haskell也是如此
  • seen
    命令,报告机器人最后一次“看到”联机人员的时间
  • translate命令将X语言字符串转换为Y语言字符串
  • 将dict映射到字典服务
  • 将wik映射到wiki服务

    • 这是非常主观的,完全取决于机器人的使用地点。我相信其他人会有很好的建议。但无论你做什么,请不要随意查询用户。不要定期给主要聊天发垃圾邮件。

      除非只是为了教育体验,否则你真的应该为核心功能使用一个框架

      也就是说,以下是我的家庭IRC频道中的机器人所做的一些事情:

      • 从选项列表中选择一项
      • 显示Linux命运文件中的随机条目
      • 显示Emacs spook文件中的一组随机单词
      • 检查来自用户的每一行,并显示来自的报价,如果它足够相似(这可能有点特定于我的频道:)
      • 检查之前是否提到过某个链接,并说出谁/何时(我们都阅读相同的RSS源,并且倾向于大量复制链接)
      • 投票
      • 从我们的内部网站中获取给定的报价
      • 检查给定链接是否已发布到Reddit,如果已发布,则提供相应的Reddit线程链接。如果发布了Reddit链接,则改为提供直接链接
      • 追踪尼克最后一次出现在频道上的时间,以及他们最后一次说话的时间
      • 排队等待脱机尼克的消息,该消息在他们加入时在通道中自动发送
      • 使用谷歌翻译来翻译一个给定的短语
      • 在我们频道的推特提要上发布一条给定的行
      • 选择一个随机用户并踢他们(这不是最好的主意,取决于你的频道有多不守规矩)
      • 从Wikipedia中提取给定术语的摘要,并将其与全文链接一起显示
      • 显示任何发布的Youtube链接的信息(视频标题、长度、提交者、投票、评论等)

      在谷歌上搜索一个实现IRC协议的库。这样,您只需添加功能,这些功能已经足以让您感到困扰

      共同职能:

      • 从wiki或google进行搜索
      • 在项目/问题更新时通知人员
      • 留言
      • 向频道发送垃圾邮件的玩具
      • 挑个话题
      • 对邮件进行分类
      • 从频道日志中搜索

      同样,这是一个完全个人的建议,但我真的希望看到eggdrop用Python重写

      这样的项目可以使用Twisted来提供基本IRC交互,但随后需要支持附加脚本


      这对于使用python而不是TCL脚本构建简单的IRC bot功能来说是非常好的。

      您使用什么方法来确定lebowski引号的相似性?@Daenyth它在一个数组中保留了电影中约1500行内容,并使用fuzzy with
      k=3在其上循环,以检查用户的字符串是否是任何行的fuzzy子字符串。Bitap很有用,因为它告诉你子字符串在哪里,所以机器人可以显示电影中的完整行,但在它的子字符串下面加下划线,该子字符串与用户所说的参与类似项目的内容相匹配,不是python方面的专家,但很乐意伸出援手。“这些已经够麻烦你的了。”OP正在学习python,如果你想实现对未广泛使用的协议的客户机/服务器支持,了解如何使用python中的套接字是至关重要的,等等。