2

如何根据文件 ID 将 Telegram 上现有的文件发送(不转发)给用户?

我知道 Telegram 上上传的所有文件都有唯一的 ID。如何提取该 ID 以及通过提取的 ID 发送该文件的功能或方法是什么?(我使用 Python Telepot 库)

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 ...')

我应该在 sendDocument() 方法的第二个参数上输入什么?

4

1 回答 1

1
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 ...')

您应该首先从文档文件中提取 file_id。当您运行机器人时,将文档发送到机器人,您可以打印并复制它,然后将其传递给此命令:bot.sendDocument(chat_id=chat_id,file_id) 您应该放置您复制的短语而不是 file_id。

于 2018-03-09T06:34:50.990 回答