波茨XMPP机器人
botz.xmpp的Python项目详细描述
botz是一个纯python3框架来编程bots(botlib),提供irc和xmpp bots,并且可以通过编程自己的命令来扩展。 基本功能是一个rss提要获取器,您可以使用它将提要显示到您的频道中。 botz使用一个时间戳,输入文件名,json字符串,文件系统后端的文件,并具有基于时间的日志记录功能。Botz已被置于公共域中,不包含版权或许可证。
S O U R C E
botz.base - base classes. botz.bot - event handler. botz.clock - timers, repeaters. botz.cmds - basic command set. botz.edit - json file editor. botz.email - email scanning module. botz.entry - simple data entry commands. botz.event - event handler. botz.fleet - list of bots. botz.handler - event handler. botz.kernel - main select loop. botz.loader - module loader. botz.poller - polling based handler. botz.rss - feed fetcher. botz.shell - shell related commands. botz.store - timestamped json file backend. botz.tasks - botz threads. botz.udp - udp to channel relay. botz.users - manage users. botz.utils - utility functions. botz.xmpp - xmpp bot.
P R O G R A M I N G
编写自己的命令很简单,您可以使用-m选项加载模块。 如果创建mods目录并将hello.py模块放入其中,则可以使用:
> botz -m mods
在hello.py中编码的任何命令都将可用,请参见show cmds命令。
> botz show cmds
命令是带有一个参数的函数,该参数是在bot上生成的事件。
示例:
- def mycmd(event):
- <your code here>
您可以使用event.reply()将响应发送回用户:
- def hello(event):
- event.reply(“hello %s” % event.nick)
使用-m mods启动botz之后,您将看到添加到bot的hello命令:
> s cmds
ed,find,hello,log,oper,restore,rm,show,todo
I N S T A L
您可以从以下位置获取botz:
https://pypi.org/project/botz | http://bitbucket.org/bthate/botz
如果您需要botz访问本地目录,请使用以下命令:
> export PYTHONPATH=”.”
这将把当前目录添加到pythonpath中,以便其中的包 波茨可以找到。
通过pypi进行安装:
> sudo pip3 install botz
你也可以在pypi的tarball上运行机器人,直接运行它,或者 使用setup.py安装:
> python3 setup.py install –user
C o n f i g u r a t i o n
BOTZ包括一个程序,BOTZ外壳:
> botz [-m mod1,mod2] command
要连接到irc,请使用-m irc选项。
> botz -m irc -s irc.freenode.net -c #dunkbots -n botzi -z
使用xmpp模块几乎是一样的。
> botz -m xmpp -s botz@okdan.home -p <password> -z
要将bot用作rss提要阅读器,请使用rss命令添加提要url:
> botz rss https://www.reddit.com/r/Python/new/.rss
并在加载rss模块后启动bot
> botz -m rss -z
这将启动一个获取程序,显示您在 频道。
H a v e f u n
bthate@dds.nl在irc.freenode.net的dunkbots上的botfather:xmpp:bart@xmpp.fi