纯蟒蛇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个命令:

  1. 显示可用命令的命令。
  2. 加载以加载添加命令的模块。
  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的事件方法创建要使用的基本事件。

事件最重要的属性是:

  1. 频道-显示响应的频道。
  2. orig-此事件起源于的bot的repr()
  3. origin-创建事件的用户的用户主机。
  4. 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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
无法在Java Android中比较字符串   java Month二月在下面的程序中被解析为'33'。如何修复?   用于在方法调用中显式指定泛型参数的Javasyntax   java 安卓。操作系统。NetworkOnMainThread尝试与jsoup 安卓连接时出现异常   java Spring引导找不到jsp视图   java如何访问注释中的属性值?   反射我可以使用isAssignableFrom检查C1是Java中C2的子类型吗?   java如何在selenium中从HTTP服务器传递图像URL   java导入失败。hibernate中的sql   Java中的“断开”while循环   java如何向Spark数据集添加映射列?   java应该在中部署消息驱动bean。耳文件?   java为何如此悲观。在springboot JPA中写入不起作用?   web服务如何在Java中高效地管理文件系统上的文件?   Java验证日期条目   java错误:在AWS RDS上找不到适合数据库的驱动程序   java如何将OBJ文件面定义传递给openGL