首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python电报机器人(Telebot)

Python电报机器人(Telebot)
EN

Stack Overflow用户
提问于 2021-01-12 20:47:40
回答 1查看 357关注 0票数 1

我正在使用https://github.com/eternnoir/pyTelegramBotAPI库构建一个电报机器人

当我按下菜单按钮时,它会向用户发送一条消息。

我怎么能做到呢?

代码语言:javascript
复制
import telebot
from telebot.types import InlineKeyboardMarkup, InlineKeyboardButton

TELEGRAM_TOKEN = '<TOKEN>'

bot = telebot.TeleBot(TELEGRAM_TOKEN)

def gen_markup():
    markup = InlineKeyboardMarkup()
    markup.row_width = 2
    markup.add(InlineKeyboardButton("Yes", callback_data="cb_yes"),
                               InlineKeyboardButton("No", callback_data="cb_no"))
    return markup

@bot.callback_query_handler(func=lambda call: True)
def callback_query(call):
    if call.data == "cb_yes":
        bot.answer_callback_query(call.id, "Answer is Yes")
    elif call.data == "cb_no":
        bot.answer_callback_query(call.id, "Answer is No")

@bot.message_handler(func=lambda message: True)
def message_handler(message):
    bot.send_message(message.chat.id, "Yes/no?", reply_markup=gen_markup())

bot.polling(none_stop=True)
EN

回答 1

Stack Overflow用户

发布于 2021-06-18 22:24:40

您可以使用call对象的数据作为发送方的用户id(call.from_user.id)来发送消息:

代码语言:javascript
复制
if call.data == "cb_yes":
    bot.answer_callback_query(call.id, "Answer is Yes")
    bot.send_message(call.from_user.id,"Your answer was Yes!")
elif call.data == "cb_no":
    bot.answer_callback_query(call.id, "Answer is No")
    bot.send_message(call.from_user.id,"Your answer was No!")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65684275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档