Telegram бот с потоком
Бот раз в пол часа должен проверять базу данных, автоматически. На JAVA я писал потоки и все работало как надо. Сейчас пишу на Python и столкнулся с проблемой что поток вообще не запускается, либо работает поток а бот нет, либо на оборот. Как можно исправить?
import threading
import time
from datetime import datetime
import telebot
from DataBase import DataBase
from Geners import Geners
from KeyButtons import KeyButtons
bot = telebot.TeleBot("токен", threaded=True)
@bot.message_handler(content_types=["text"])
def handle_text(message):
buttons = KeyButtons() # geting keyboards
database = DataBase() # db
from Results import Results # get results
chat_id = message.from_user.id
username = message.chat.username
first_name = message.from_user.first_name
database.connect()
print(username + " : " + message.text)
database.close()
def sending(): # рассылка
from Results import Results
database = DataBase()
date = datetime.today().strftime('%Y-%m-%d %H:%M:%S')
while True:
if not database.connect():
database.connect()
print("+")
Results().sendSending(date)
database.close()
time.sleep(60) # sec
date = datetime.today().strftime('%Y-%m-%d %H:%M:%S')
if __name__ == '__main__':
bot.polling(none_stop=True) # infinity loop
my_thread = threading.Thread(target=sending())
my_thread.start()
Ответы (1 шт):
Автор решения: timur
→ Ссылка
bot.polling(none_stop=True) # infinity loop
Здесь даже комментарий написан, что это бесконечный цикл, следовательно эти строки
my_thread = threading.Thread(target=sending)
my_thread.start()
не выполнятся
Попробуйте сначала запустить поток, а потом бота