中继是一个irc微框架,闻起来太像web框架了
relay-framework的Python项目详细描述
一个irc微框架闻起来太像web框架了。
接力是一个玩具项目,它的目标是让我尝试框架设计, 了解有关IRC协议的更多信息,并替换可用的 irc python库:它们中的大多数并没有取悦我。
安装
我建议您使用virtualenv
$ pip install relay-framework
示例
这是一个机器人的例子,它发送任何在'之后发送的东西!回音在私人信息中:
fromrelayimportRelay,auto_join,auto_pongfromrelay.constantsimportprivmsgbot=Relay("echobot")@bot.handler(privmsg)defecho(target,message,sender,*args,**kwargs):ifnotmessage.startswith("!echo "):returnsender_nick=sender.split('@')[0].split('!')[0]# We just want the nickmessage=message[6:]# We just want whatever is after '!echo 'iftarget==bot.client['nick']:result="PRIVMSG {sender_nick} :{sender_nick}: {message}"else:result="PRIVMSG {{target}} :{sender_nick}: {message}"yieldresult.format(sender_nick=sender_nick,message=message)if__name__=="__main__":bot.register(auto_pong)bot.register(auto_join(['#tests']))bot.config(from_env=True).run()
运行它:
$ RELAY_HOST=irc.example.net RELAY_NICK=echobot python echobot.py
更改日志
0.1.0: | Initial version, client accepts handlers, connects and matches data with those. |
---|
待办事项
- 编写一个像样的irc客户端实现
- 为中继类编写测试
- 编写文档
- 子类中继以允许regexp路由