​​Telegram​​ 机器人如何获取用户输入?

驹新之驹新之06月15日114

刚刚写了一个Telegram机器人,怎么获取用户发的消息内容?例如用户发了文字、图片、命令等消息,机器人如何接收到用户发来的消息内容呢?求具体操作步骤!

2 个回答

石念真
石念真回答于 06 月 15 日
最佳答案

Telegram机器人获取用户信息的方式主要是Webhook和轮询。

1. Webhook设置。

通过BotFather设置/setwebhook命令,配置服务器地址,Telegram会把用户的消息推送到你的服务器,注意地址需要HTTPS证书。

2. 解析消息内容

收到POST后消息内容在JSON数据中。不同的消息类型(文本/图片/命令)放在各自的字段。例如text字段保存文本消息,photo数组保存图片信息。

3. 轮询方法替代方案

不想配HTTPS可以使用getUpdates方法轮询,延迟高,适合开发测试使用。

消息处理逻辑写在你的后端代码里即可,Python使用python-telegram-bot库最方便。遇到具体问题可以再问。

浮稷
浮稷回答于 06 月 15 日

Telegram机器人获取用户消息主要有Webhook和轮询两种方式。

1. 创建机器人之后获取token

2. 设置webhook地址(推荐)或getUpdates

3. 用户消息将包含在update对象中,按类型解析

4. 文字在message.text,图片在message.photo数组

5. 注意设置allowed_updates接收全部消息类型

实际开发建议采用现有框架,如python-telegram-bot,更方便些。

您的答案