谷歌聊天机器人

HangupsBot的Python项目详细描述


用于Google Hangouts的机器人程序

要求

用法

运行hangupsbot --help查看所有可用选项。 通过运行hangupsbot启动hangupsbot。

您可以在config.json文件中配置基本设置。这个文件将是 复制到用户数据目录(例如,Linux上的~/.local/share/hangupsbot/) 在上吊机器人第一次启动后。

第一次启动hangupsbot时,系统会提示您打开一个链接 在您的网络浏览器中登录到您的google帐户。登录后 点击“登录”,你会看到授权码。复制此代码 将其粘贴到hangupsbot中以完成该过程。你的 凭证只会被发送到google,并且只有oauth 2刷新令牌 将存储在本地。

帮助

usage: hangupsbot [-h] [-d] [--log LOG] [--token TOKEN] [--config CONFIG]
                  [--version]

optional arguments:
  -h, --help       show this help message and exit
  -d, --debug      log detailed debugging messages (default: False)
  --log LOG        log file path (default:
                   ~/.local/share/hangupsbot/hangupsbot.log)
  --token TOKEN    OAuth refresh token storage path (default:
                   ~/.local/share/hangupsbot/refresh_token.txt)
  --config CONFIG  config storage path (default:
                   ~/.local/share/hangupsbot/config.json)
  --version        show program's version number and exit

功能(事件处理程序)

  • autoreplies-自动回复邮件中的指定关键字
  • 命令-运行/bot命令(键入/bot help可查看可用命令列表)
  • 转发-将消息从一个会话转发到另一个会话
  • 成员身份-观看添加/删除用户的对话
  • rename-查看重命名的对话(only example plugin for now

开发

您可以通过两种方式扩展hangupsbot—编写handlerscommands插件。 handlerscommands目录中的每个python文件(不以u开头) 自动加载。

处理程序

插件中的函数可以注册为事件处理程序,方法是用 @handler.register(priority=10, event=None)装饰器。

如果event参数为None(默认值),则所有事件类型都将转发给处理程序。 如果只想处理某些特定类型的事件,可以设置eventhangups.ChatMessageEventhangups.MembershipChangeEventhangups.RenameEvent

通过指定priority参数(默认值为10),可以更改处理程序的优先级。 数字越低,优先级越高。如果在中引发StopEventHandling异常 您的处理程序,当前事件将不会由任何其他处理程序处理。

命令

插件中的函数可以注册为/bot命令,方法是用 @command.register(admin=False)装饰器。

如果admin参数是False(默认值),任何人都可以运行该命令。 如果adminTrue,则只有管理员(如config.json中设置的)可以运行它。

参见现有命令示例。

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

推荐PyPI第三方库


热门话题
java Maven发布插件在创建标记时失败   opencv使用java控制网络摄像头LED灯   java在使用JTA时不能使用EntityTransaction。使用非JTA   java映射大小与实际条目不同   javaspringboot。执行saveAndFlush并将实体结果修改为未保存的trancient异常   java在Selenium 3.0.0中运行Selenium IDE?   用于捕获键/值的java正则表达式   java Ivy的transitive=“false”在从Nexus下载时被忽略   JavaSpring引导忽略应用程序中的数据源url。yml   可以使用正则表达式拆分Java字符串,但正则表达式匹配返回false   log4j2中的javakafka追加器。xml不起作用   循环java测试分数统计   JFrame中边框的java返回类型   java在LibGDX中如何防止相机延迟?