如何在电报机器人(pytelegramBotAPI)中获取chat_id和message_id以更新电报机器人(Python)中最后发送的消息

时间:2018-07-31 10:45:13

标签: python telegram telegram-bot python-telegram-bot

这是我的代码

bot.edit_message_text(chat_id = CHAT_ID, message_id = MESSAGE_ID, text = "message has been updated", reply_markup=inline_keyboard)

1 个答案:

答案 0 :(得分:1)

我认为您可以通过以下方式获得它:

lastMessageId = message[-1].message_id
lastChatId = message[-1].chat.id

我不知道您为什么需要它,但我向您发送示例以了解如何使用消息ID和用户ID。

您应该创建一个键盘:

keyboard = types.InlineKeyboardMarkup()
keyboard.add(types.InlineKeyboardButton('Yes', callback_data='yes'),
             types.InlineKeyboardButton('No', callback_data='no'))

创建命令:

@bot.message_handler(commands=['like'])
def like(message):

  cid = message.chat.id
  bot.send_message(cid, "Do you like it?", reply_markup=keyboard)

创建回调:

@bot.callback_query_handler(func=lambda call: call.data in ['yes', 'no'])
def callback_handler(call):

    cid = call.message.chat.id
    mid = call.message.message_id
    answer = call.data
    update_lang(cid, answer)
    try:
        bot.edit_message_text("You voted: " + answer, cid, mid, reply_markup=keyboard)
    except:
        pass