谷歌聊天机器人
HangupsBot的Python项目详细描述
用于Google Hangouts的机器人程序
要求
- python>;=3.3
- 挂机(https://github.com/tdryer/hangups)
- 应用程序目录(https://github.com/ActiveState/appdirs)
- python的异步(https://pypi.python.org/pypi/asyncio)<;3.4
用法
运行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—编写handlers或commands插件。 handlers和commands目录中的每个python文件(不以u开头) 自动加载。
处理程序
插件中的函数可以注册为事件处理程序,方法是用 @handler.register(priority=10, event=None)装饰器。
如果event参数为None(默认值),则所有事件类型都将转发给处理程序。 如果只想处理某些特定类型的事件,可以设置event 到hangups.ChatMessageEvent,hangups.MembershipChangeEvent 或hangups.RenameEvent。
通过指定priority参数(默认值为10),可以更改处理程序的优先级。 数字越低,优先级越高。如果在中引发StopEventHandling异常 您的处理程序,当前事件将不会由任何其他处理程序处理。
命令
插件中的函数可以注册为/bot命令,方法是用 @command.register(admin=False)装饰器。
如果admin参数是False(默认值),任何人都可以运行该命令。 如果admin是True,则只有管理员(如config.json中设置的)可以运行它。
参见现有命令示例。