8

I am using "python-telegram-bot" library and have been looking at various examples over the internet.

I have noticed there are two ways to reply in a conversation:

the first: ''' context.bot.send_message(chat_id=update.effective_chat.id, text=msg)'''

the second: '''update.message.reply_text(text=msg)'''

practically they both work. Should I prefer one on the other? to illustarte my question. in echo function line 3 and 4 give the same result

reply function

def echo(update, context):
msg='Hi, nice to see you!'
context.bot.send_message(chat_id=update.effective_chat.id, text=msg)
update.message.reply_text(text=msg)
    

main function::

def main():
updater = Updater(token=TOKEN, use_context=True)
dispatcher = updater.dispatcher
echo_handler=MessageHandler()
echo_handler = MessageHandler(Filters.text & (~Filters.command), echo)
dispatcher.add_handler(echo_handler)
updater.start_polling()
enter code here

2 Answers 2

2

I think the "context.bot.send_message" is more used to messages from jobs, because you can paste the context. Take this as example: https://github.com/python-telegram-bot/python-telegram-bot/blob/master/examples/timerbot.py

Sign up to request clarification or add additional context in comments.

Comments

1

update.message.reply_text would be a reply to an existing message. It will quote it. context.bot.send_message would be a new message. It will not act the same as a direct reply.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.