电报机器人和爱丽丝技巧的另一个常见包装
tgalice的Python项目详细描述
t车道
这是另一个常见的python包装器,用于telegram bots*,alice skills, 以及Facebook Messenger机器人。
目前,它提供:
- 你的机器人和telegram或alice之间的(几乎)统一接口:
DialogConnector
- 一些简单的对话构造函数:
BaseDialogManager
及其风格,包括:- 一个简单的常见问题对话框管理器
- 一个简单的表单填写对话框管理器
- 存储对话状态的包装器:
BaseStorage
及其味道(具体地说,MongoBasedStorage
)
此package可以使用
安装pip install tgalice
tgalice
的三个组成部分可以组合如下:
importtgaliceconnector=tgalice.dialog_connector.DialogConnector(dialog_manager=tgalice.dialog_manager.BaseDialogManager(),storage=tgalice.session_storage.BaseStorage())
现在您可以将alice和telegram插入连接器。在下面的示例中,它们与烧瓶一起使用。
@app.route("/"+ALICE_URL,methods=['POST'])defalice_response():response=connector.respond(request.json,source='alice')returnjson.dumps(response,ensure_ascii=False,indent=2)@bot.message_handler(func=lambdamessage:True)deftelegram_response(message):response=connector.respond(message,source='telegram')bot.reply_to(message,**response)
为了进一步减少样板代码的数量,可以使用FlaskServer
类,
它为您配置alice和telegram,也可以在纯命令行模式下运行
(例如,如果你想在没有互联网连接的情况下测试你的机器人)。
server=tgalice.flask_server.FlaskServer(connector=connector)server.parse_args_and_run()
现在,如果你的应用程序托管在地址{BASE_URL}
上,那么alice和facebook的webhook将可用,
分别位于{BASE_URL}/alice/
和{BASE_URL}/fb/
(如果需要,可以重新配置)。
examples目录包含更详细的示例 如何创建对话并为机器人服务。
*电报包装基于pyTelegramBotAPI 包裹。