Игра на pygame зависает во время запуска телеграмм-бота aiogram
Давайте я обрисую проблему подробнее. У меня есть небольшой проект на pygame, в котором взаимодействие с игроками происходит через хоста и телеграмм. Допустим, есть какой-то хост, который транслирует свой экран с игрой, и игроки, которые присоединяются к этому хосту через бота.
Я решил сделать это с помощью библиотеки aiogram, но игра намертво зависает во время активации бота. Я понимаю, что это из-за того, что он ждет каких-то действий (например, ввода команд). Однако я не понимаю, как сделать так, чтобы бот ожидал действия пользователя в фоновом режиме. Я пробовал использовать многопоточность, асинхронность, изменял место вызова функции, активирующей бота, но ничего не помогло.
Приведу фрагменты кода:
# часть main.py
def intro():
global code
for i in range(4):
number = random.randint(65, 90)
code += chr(number)
code_on_screen = font.render(f'Код для входа в игру: {code}', True, BLACK)
sign_about_connected_users = font.render("Присоединившиеся игроки: ", True, BLACK)
connected_users = []
screen.blit(sign_about_connected_users, (WIDTH - 700, (HEIGHT - 40) / 6))
screen.blit(code_on_screen, (100, (HEIGHT - 40) / 2))
pygame.display.update()
executor.start_polling(dp, skip_updates=True)
# часть main.py с ботом
bot = Bot(config.token)
dp = Dispatcher(bot)
@dp.message_handler(commands="start")
async def start_message(message: types.Message):
await message.reply("Чтобы присоединиться к игре, введите код")
async def waiting_for_code(message: types.Message):
while message.text != code:
if message.text == code:
print("Ожидайте начала игры")
else:
print("Код неверный. Попробуйте ещё раз.")