这是我用python写的一个irc bot,觉得现在写得还算好用了,所以公布在这里
有写的不好的地方还请指出 :thank
主要特点:
1,支持多服务器登录;
2,方便使用配置文件;
3,支持插件。
使用方法:
1,依照下面的范例填写配置文件 evilcat.conf,放进 ~/.evilcat;
2,运行 脚本( 需要 python 的 irclib )
3,用python写出自己的插件,放在 ~/.evilcat/plugins
配置文件范例:
- [evilcat]
- hosts = YourName
- # 用放在这里的 nick name 可以
- # 向bot发布名种命令: join, nick,
- # load, reload ( 重新载入插件的命令,
- # load 寻找新插件并载入
- # reload 则只载入现有插件)
- servers = freenode
- # 要加入的服务器名,可添加多个,用空格隔开
- [freenode_server]
- # freenode 服务器的属性,加了 _server 后缀
- nickname = a_small_bot
- server = tolkien.freenode.net
- password =
- # 密码,在 freenode 私聊需要注
- # 册的 nickname,没有密码留空即可
- port = 6667
- channals = #evil_cat
- encode = UTF-8
- # 此为自加的服务器属性,便于编写插件
复制代码 插件范例:- # 写好两个属性和 handler 函数即可
- nice = 19 # 越小优先级越高,先执行的
- # return "NO MORE“ 后,后面
- # 的 handler 则不会执行
- eventtypes = ('pubmsg','privmsg') # 处理的消息类型,此
- # 处为 私人消息 和 频道消息
- def handler( server, event): # sever 和 event 的用法
- # 不清楚的可以用 dir 看看
- eventtype = event.eventtype()
- target = event.target()
- source = event.source()
- tenick = source.split('!')[0]
- event_text = event.arguments()[0]
- if eventtype == 'privmsg':
- chan = tenick
- else:
- chan = target
- server.privmsg(chan, "I am a bot !!!")
复制代码 |