Reputation: 175
How can I send (not forward) file existing on Telegram to user according to file ID?
I know all files uploaded on Telegram have unique ID. How can I extract that ID and what's the function or method to send that file by extracted ID? (I use Python Telepot library)
import telepot
from telepot.loop import MessageLoop
def on_chat_message(msg):
content_type, chat_type, chat_id = telepot.glance(msg,'chat')
if content_type == 'text':
user_msg_text = msg['text']
if user_msg_text == '/start':
bot.sendDocument(chat_id=chat_id, )
TOKEN = "479761462:AAE8yqX2RGCbynHJgShIdJzCZWYF9SSBUkU"
bot = telepot.Bot(TOKEN)
MessageLoop(bot, {'chat': on_chat_message,
'callback_query': on_callback_query}).run_as_thread()
print('Listening ...')
what I should enter on second argument of sendDocument() method?
Upvotes: 2
Views: 3857
Reputation: 118
import telepot
from telepot.loop import MessageLoop
def on_chat_message(msg):
content_type, chat_type, chat_id = telepot.glance(msg,'chat')
if content_type == 'document':
file_id = msg['document']['file_id']
print(file_id)
TOKEN = "479761462:AAE8yqX2RGCbynHJgShIdJzCZWYF9SSBUkU"
bot = telepot.Bot(TOKEN)
MessageLoop(bot, {'chat': on_chat_message,
'callback_query': on_callback_query}).run_as_thread()
print('Listening ...')
You should first extract file_id from document file.when you run your bot,send a document to bot,you can print it and copy it,and past it to this command: bot.sendDocument(chat_id=chat_id,file_id) You should place the phrase you copied instead of file_id.
Upvotes: 1