问题描述
我想怎么做:调度动作,如何结束文件发送。但是事实证明,该操作持续5秒钟,然后又花了5秒钟发送文件,这一次用户不了解该漫游器是否被冻结或仍在发送文件。在直接发送文件之前,如何增加操作时间?
import telebot
...
def send_file(m: Message,file):
bot.send_chat_action(m.chat.id,action='upload_document')
bot.send_document(m.chat.id,file)
解决方法
作为藏族。 M 说这是不可能的,因为所有动作都是通过API发送的。但是线程帮助我解决了这个问题。解决方案如下:
from threading import Thread
def send_action(id,ac):
bot.send_chat_action(id,action=ac)
def send_doc(id,f):
bot.send_document(id,f)
def send_file(m: Message):
file = open(...)
Thread(target=send_action,args=(m.chat.id,'upload_document')).start()
Thread(target=send_doc,file)).start()
...
send_file(m)
因此,可以做到这一点,以便在操作结束后立即发送文件而没有时间间隔