Бот не может работать с двумя и более людьми telebot
Всем здравствуйте! У меня во время работы над ботом возникла проблема - бот не может одновременно работать с 2 и более людьми. Код не уместится сюда, поэтому вот ссылка - https://drive.google.com/file/d/1lhWZbU56yzMPLlPe9jawtMVd8MiUTyXv/view?usp=sharing. Всем кто поможет, заранее спасибо:)
Ответы (1 шт):
Автор решения: Рустам Рысаев
→ Ссылка
Вижу что используете asyncio
, но только один раз почему то. Чтобы код работал быстрее\одновременно для нескольких пользователей надо использовать asyncio
для каждой функции и request
запросов
примерно так
async def get_user_count():
logs_dir = "Logs"
file_path = os.path.join(logs_dir, "users.txt")
if not os.path.exists(file_path):
return 0
async with aiofiles.open(file_path, "r") as file:
user_ids = await file.read()
return len(user_ids.splitlines())
async def log_transfer(old_user_id, new_user_id):
logs_dir = "Logs"
if not os.path.exists(logs_dir):
os.makedirs(logs_dir)
log_file = os.path.join(logs_dir, "transferlogs.txt")
log_message = f"Доступ передан с ID {old_user_id} на ID {new_user_id}\n"
async with aiofiles.open(log_file, 'a') as file:
await file.write(log_message)
и так во всем коде