现在,正如您所理解的,代码不会在bot.infinity_polling()行之外执行,但是代码必须询问电报bot是否有传入的消息,然后继续执行main.tochka()函数。如何实现它?可以说,是否有任何函数是一次性bot轮询的,而不是循环轮询的?
import telebot
import asyncio
import config
import main
import time
bot = telebot.TeleBot(config.TOKEN)
@bot.message_handler(commands=['start'])
def start_message(message):
bot.send_message(message.chat.id, 'We work...')
@bot.message_handler(commands=['qwerty'])
def message(message):
try:
bot.send_document(message.chat.id, main.log_file())
except ZeroDivisionError:
bot.send_message(message.chat.id, 'Твой запрос по понятной тебе причине вызвал в коде ошибку ZeroDivisionError.\n'
'Повтори свой запрос позже, примерно через час ;)')
def log_every_day():
if main.timer() == '12:00' or '12:01' or '12:02' or '12:03' or '12:04' or \
'12:05' or '12:06' or '12:07' or '12:08' or '12:09' or '12:10':
bot.send_document(462809334, main.log_file())
try:
while True:
bot.infinity_polling()
main.tochka()
except TimeoutError:
print(f'\n==========================================='
f'===========================================Похоже возникла ошибка подключения к сети.\n'
f'===========================================Попробую переподкючиться через минуту.'
f'\n===========================================\n')
with open(f"log_{main.ti}.txt", 'a') as file:
print(f'\n==========================================='
f'===========================================Похоже возникла ошибка подключения к сети.\n'
f'===========================================Попробую переподкючиться через минуту.'
f'\n===========================================\n', file=file)
time.sleep(60)
while True:
bot.infinity_polling()
main.tochka()
我在网上搜索了三天想找到答案。
1条答案
按热度按时间s3fp2yjn1#
你试过吗?