纯蟒蛇3通道机器人。
obot的Python项目详细描述
自述文件
obot是一个irc/xmpp机器人,您可以使用它来显示rss提要,使用带时间戳的 json文件后端提供持久性,使您可以编程 启用自己命令的自己模块位于公共域中,包含 没有版权或许可证。
下载
克隆源。
::
git clone https://github.com/bthate/obot cd obot sudo python3 setup.py install
另一个选择是使用pip3下载并全局安装。
::
sudo pip3 install obot --upgrade
您还可以使用setup.py的install--user选项进行本地安装。
::
python3 setup.py install obot --user
外壳
不带参数启动obot将启动shell。
基本机器人有3个命令:
- 显示可用命令的命令。
- 加载以加载添加命令的模块。
- 卸载以卸载模块并删除命令。
键入load/unload without arguments可提供以下选项:
::
BART@DELL:~/obot$。/bin/obot
cmds cmds|load|unload load entry|cmds|db|tasks|show|loader|mbox|user|wisdom|rss unload entry|cmds|db|tasks|show|loader|mbox|user|wisdom|rss
您可以使用-m选项在开始时间加载模块:
::
bart@okdan:~$obot-m条目,任务
ps 1 1s Task(CLI.select) log first entry to log ok 1 find log 0 first entry to log
obot还提供了可以用作命令行shell程序的ob程序。
::
巴特@奥克丹:~$OB V 双簧管7
独立shell由obs程序和标准守护版本提供 使用OBD程序。
模块
可能要加载的模块有:
::
ob-保存/加载json文件。 机器人-机器人基类。 时钟定时器,中继器。 显示命令列表。 命令-将字符串解析为命令。 db-对象查询。 entry-log和todo命令。 错误-基本OB异常。 舰队-机器人列表。 处理程序-事件回调调度程序。 内核运行时对象和引导代码。 装载机-模块装载机。 shell-shell函数。 show-显示运行时数据。 任务-OB线程(任务)。 终端功能。 与时间文件相关的实用程序。 跟踪-跟踪函数。 类型-OB类型。 用户-用户管理。 utils-与文件相关的实用程序。 obot-对象bot IRC-IRC机器人。 MBOX-电子邮件到对象扫描仪。 rss-rss提要获取程序。 udp-udp到通道中继 智慧-wijsheid,wijs! xmpp-xmpp机器人为双簧管。
rss
添加URL。
::
obot -m rss rss https://news.ycombinator.com/rss ok 1
您可以使用find命令查看注册了哪些url:
::
obot -m db find rss rss 0 https://news.ycombinator.com/rss
IRC
如果您想连接到irc或xmpp,默认的bot只会启动shell 使用-p(提示)选项提供连接参数,对于irc,这是<;server>;<;channel>;<;nick>;。
::
obot -m irc -p localhost #obot obot
您可以使用-b选项在后台启动bot,日志文件可以在~/.obot/logs中找到。
用户
默认的shell用户是root@shell,允许访问所有可用的命令。 您可以使用--owner选项将bot的所有者设置为您自己的用户主机。
如果bot加入了频道,默认情况下它不会听您的,您需要将irc用户添加到bot。 bot缓存meet命令中需要使用的用户主机,因此您可以使用昵称而不是完整的用户主机。
::
meet bart ~bart@localhost added.
您还可以使用完整的userhost作为参数来满足。
::
meet user@server user user@server created
编程
如果要将自己的模块添加到bot,可以将.py文件放在“mods”目录中,并使用-m选项指向该目录。
基本代码是将事件作为参数获取的函数。
::
def命令(事件): <;<;此处是您的代码>;>;
使用event.reply(txt)方法向用户提供反馈。
::
def命令(事件): event.reply(“yooo%s”%event.origin)
为了能够处理它需要的事件orig,origin和txt属性集。 orig属性是bot的repr的一个字符串,用于标识要给其答复的bot。 可以使用bot的事件方法创建要使用的基本事件。
事件最重要的属性是:
- 频道-显示响应的频道。
- orig-此事件起源于的bot的repr()
- origin-创建事件的用户的用户主机。
- TXT-生成事件的文本。
parse()方法使用一个txt参数将文本解析为 事件。
::
事件=事件() event.parse(“CMDS”) event.orig=repr(机器人) event.origin=“根@shell”
使用func编码;]
作业
。自动摘要: :t目录树:代码 :template:module.rst
ob
ob.bot
ob.clock
ob.cmds
ob.command
ob.db
ob.entry
ob.errors
ob.fleet
ob.handler
ob.kernel
ob.loader
ob.shell
ob.show
ob.tasks
ob.term
ob.times
ob.trace
ob.types
ob.user
ob.utils
双簧管
。自动摘要: :t目录树:代码 :template:module.rst
obot
obot.irc
obot.mbox
obot.rss
obot.udp
obot.xmpp
obot.wisdom
联系人
你可以通过irc/freenode/dunkbots联系我。
::
| Bart Thate (bthate@dds.nl, thatebart@gmail.com)
| botfather on #dunkbots irc.freenode.net