电报机器人和爱丽丝技巧的另一个常见包装

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 包裹。

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

推荐PyPI第三方库


热门话题
java以编程方式最小化JInternalFrame?   java使用JsonPath将不均匀列表提取为类型化对象   spring如何将java/resources文件获取到InputStream?   Java逻辑错误并不总是存在   java Firebase,更新特定字段   Java stream groupby并同时加入以进行csv导出   java安卓:如果出现任何声音,监听器将录制声音   java如何从多个文件中轮询最后修改的文件并发送到apache camel中的目标端点?   java是否返回多个比较器?   JavaBean IO:Date MMM在CAPS中不解析   当JButton从另一个类单击时,java正在更新JLabel   基类中子类的Java泛型初始化   jakarta ee Java ee制作一个以毫秒为间隔的计时器来发送数据包   json Windows Azure日期格式转换为Java日期