如何增加pyTelegramBotApi中send_action的运行时间?

问题描述

我想怎么做:调度动作,如何结束文件发送。但是事实证明,该操作持续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)

因此,可以做到这一点,以便在操作结束后立即发送文件而没有时间间隔

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...