简体   繁体   English

如何使用 python-telegram-bot 转发消息

[英]How to forward a message using python-telegram-bot

I'm writing a telegram bot group administrator using python-telegram-api and I want my bot to reply to messages in groups like this but the only similar thing I can get with it is this .我使用的是写了一封电报机器人组管理员蟒蛇,电报的API ,我想我的机器人在团体回复邮件是这样,但唯一类似的事情,我可以用它得到的是这个 Is there a way to reply to messages like in the first picture?有没有办法像第一张图那样回复消息?

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();

You can use the reply_to_message_id argument in the send_message function:您可以在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!")

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM