如何使用 python-telegram-bot 转发消息
How to forward a message using python-telegram-bot
我正在使用 python-telegram-api 编写一个电报机器人组管理员,我希望我的机器人在组中回复消息
like this but the only similar thing I can get with it is this。有没有办法像第一张图片那样回复消息?
from telegram.ext import (Updater, CommandHandler, MessageHandler,
Filters, ConversationHandler)
import telegram
import logging
telegram_token = "BOT TOKEN"
updater = Updater(token=telegram_token, use_context=True);
dispatcher = updater.dispatcher;
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %
(message)s', level=logging.INFO);
def mesgs_hand(update, context):
if(update.message.text == "Hi"):
context.bot.forward_message(chat_id=update.effective_chat.id,
from_chat_id=update.effective_chat.id,
message_id=update.message.message_id, text="Hey there!");
#this method forwards the message but without adding 'Hey there!'
elif(update.message.text == "Hello"):
context.bot.send_message(chat_id=update.message.chat_id, text="Hello!");
#this method just replies to the message without forwarding
messages_handler = MessageHandler(Filters.text, mesgs_hand)
dispatcher.add_handler(messages_handler)
def bot():
updater.start_polling();
if __name__ == "__main__":
bot();
您可以在 send_message
函数中使用 reply_to_message_id
参数:
def mesgs_hand(update, context):
if(update.message.text == "Hi"):
context.bot.send_message(
chat_id=update.message.chat_id,
reply_to_message_id=update.message.message_id,
text="Hey there!")
我正在使用 python-telegram-api 编写一个电报机器人组管理员,我希望我的机器人在组中回复消息 like this but the only similar thing I can get with it is this。有没有办法像第一张图片那样回复消息?
from telegram.ext import (Updater, CommandHandler, MessageHandler,
Filters, ConversationHandler)
import telegram
import logging
telegram_token = "BOT TOKEN"
updater = Updater(token=telegram_token, use_context=True);
dispatcher = updater.dispatcher;
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %
(message)s', level=logging.INFO);
def mesgs_hand(update, context):
if(update.message.text == "Hi"):
context.bot.forward_message(chat_id=update.effective_chat.id,
from_chat_id=update.effective_chat.id,
message_id=update.message.message_id, text="Hey there!");
#this method forwards the message but without adding 'Hey there!'
elif(update.message.text == "Hello"):
context.bot.send_message(chat_id=update.message.chat_id, text="Hello!");
#this method just replies to the message without forwarding
messages_handler = MessageHandler(Filters.text, mesgs_hand)
dispatcher.add_handler(messages_handler)
def bot():
updater.start_polling();
if __name__ == "__main__":
bot();
您可以在 send_message
函数中使用 reply_to_message_id
参数:
def mesgs_hand(update, context):
if(update.message.text == "Hi"):
context.bot.send_message(
chat_id=update.message.chat_id,
reply_to_message_id=update.message.message_id,
text="Hey there!")