如何使用Telegram Bot API处理带按钮的回调查询(Callback Query)?

瓮依珊瓮依珊06月16日317

我现在做Telegram营销的,需要让用户点击按钮触发某个动作,比如领取优惠券,加入群组等。如何通过Bot API接收按钮回调的数据?有简单的教程或者示例代码吗?

2 个回答

宫宛菡
宫宛菡回答于 06 月 16 日
最佳答案

1. 创建带按钮的回复,使用InlineKeyboardMarkup结构

2. 每个按钮设置 callback_data 参数,这个字符串会原样返回给你

3. 用户点击按钮,你的服务器会接收到 CallbackQuery 对象

4. 注意看 callback_query.data 字段,就是你设置的参数

5. 处理完毕别忘了调用 answerCallbackQuery,不然按钮没有反馈效果

6. 建议采用Webhook方式接收事件,不建议轮询营销号

7. 优惠券类场景建议采用唯一ID作为回调参数,避免撞单。

8. 加群按钮建议放群链接,回调用于处理业务逻辑

9. 测试的时候要记得开启bot的读取权限。

10. 官方文档包含完整示例,建议结合 Postman 调试

卢智渊
卢智渊回答于 06 月 16 日

1. 你需要先使用createInlineKeyboardMarkup创建带按钮的回复

2. 为每个按钮设置callback_data参数,该字符串是回调数据

3. 用户点击按钮后收到callback_query事件

4. 通过getUpdates或webhook监听这个事件

5. 从callback_query.data字段可以获取你设置的回调数据

6. 根据不同的数据执行不同的动作,比如发优惠券,拉群

7. 处理完要使用answerCallbackQuery向用户反馈

这样就基本完成了按钮交互的功能,实际开发建议使用现成的封装库会更方便。

您的答案