Создал бота телеграм с игрой на таймере 60 секунд. При более двух запросах таймера, игроки не могут взаимодействовать с ботом, вот кусок где я реализовал таймер для бота:
import telebot
import asyncio
@bot.message_handler(commands=['start'])
def start(message):
asyncio.run(ng_threadadd_2(pl_room_id, g_time, host_id, player_id))
async def ng_threadadd_2(pl_room_id, g_time, host_id, player_id):
task = asyncio.create_task(ng_everysectimer_2(pl_room_id, g_time, host_id, player_id))
await asyncio.gather(task)
async def ng_everysectimer_2(pl_room_id, g_time, host_id, player_id):
while g_time <= 60:
connection = sqlite3.connect('database.db')
cursor = connection.cursor()
cursor.execute(f'SELECT game_ended FROM users WHERE user_id = {pl_room_id};')
boolgameend = cursor.fetchone()[0]
if str(pl_room_id) in games and host_id != 0 and player_id != 0 and boolgameend == 0:
if not g_time >= 60:
g_time = g_time + 1
await asyncio.sleep(1.0)
else:
bot.send_message(host_id, "Игра завершена")
bot.send_message(player_id, "Игра завершена")
break
elif boolgameend == 1:
break
Чего я хочу добиться? - Чтобы можно было создавать более 2 таймеров которые бы не останавливали программу(Чтобы пользователи могли взаимодействовать с ботом) и бот мог отправлять сообщения, а не молчать! Прошу пожалуйста, помогите! Буду очень благодарен если решу эту проблему