How to make that when you click on the text it was copied pytelegrambotapi
Question:
I am writing a telegram to the bot. I ran into such a problem. I need the bot to send a message (text) when clicked on which it was copied (as a token from @BotFather)
Answers:
If I understand you correctly, you wish to send a message, that when the user presses it, the text is automatically copied to the user’s clipboard, just like the BotFather sends the API token?
This is done by the MarkDown parse_mode
;
Send a message with &parse_mode=MarkDown
and wrap the ‘pressable’ text in back-ticks (`
):
Hi. `Press me!`!
https://api.telegram.org/bot<token>/sendMessage?chat_id=<id>&text=Hi! `Press me!`&parse_mode=MarkDown
EDIT:
Bases on OP’s comment you’re looking for a python-telegram-bot solution.
From there documentation;
bot.send_message(
chat_id=chat_id,
text="*bold* _italic_ `fixed width font` [link](http://google.com).",
parse_mode=telegram.ParseMode.MARKDOWN
)
You can simply by editing the text in following manner
Write “` then write your text then again write that 3 character .
Bingo!!!
This solution worked for me for the Telegram Android Client as well as the Telegram Desktop client for windows.
bot = telebot.TeleBot(bot_token) #where bot_token is your unique identifier
text = "`" + text + "`" #now make sure the text has the backticks (leading and ending).
And then be sure to set the parse mode to markdown (I’m using V2)
bot.send_message(bot_chat_id, text, parse_mode='MarkdownV2') #chat_id is another unique identifier
I sent a message to myself to demonstrate:
and with a single click on the message, it gets copied to clipboard!
I am writing a telegram to the bot. I ran into such a problem. I need the bot to send a message (text) when clicked on which it was copied (as a token from @BotFather)
If I understand you correctly, you wish to send a message, that when the user presses it, the text is automatically copied to the user’s clipboard, just like the BotFather sends the API token?
This is done by the MarkDown parse_mode
;
Send a message with &parse_mode=MarkDown
and wrap the ‘pressable’ text in back-ticks (`
):
Hi. `Press me!`!
https://api.telegram.org/bot<token>/sendMessage?chat_id=<id>&text=Hi! `Press me!`&parse_mode=MarkDown
EDIT:
Bases on OP’s comment you’re looking for a python-telegram-bot solution.
From there documentation;
bot.send_message(
chat_id=chat_id,
text="*bold* _italic_ `fixed width font` [link](http://google.com).",
parse_mode=telegram.ParseMode.MARKDOWN
)
You can simply by editing the text in following manner
Write “` then write your text then again write that 3 character .
Bingo!!!
This solution worked for me for the Telegram Android Client as well as the Telegram Desktop client for windows.
bot = telebot.TeleBot(bot_token) #where bot_token is your unique identifier
text = "`" + text + "`" #now make sure the text has the backticks (leading and ending).
And then be sure to set the parse mode to markdown (I’m using V2)
bot.send_message(bot_chat_id, text, parse_mode='MarkdownV2') #chat_id is another unique identifier
I sent a message to myself to demonstrate:
and with a single click on the message, it gets copied to clipboard!