рассылку тем, кто оформил подписку на бота. сейчас так:считываю подписчиков по sqlite через цикл for и делаю message answer
Скулайт заменить на серьезную бд и вместо сборки сообщений просто метод send_message
просто читни в офиц документации как бродкаст делать.
Я сейчас для своего бота использую такую вот конструкцию: mess='моё сообщение' numberofsended=0 numberofblocked=0 numberall=0 mydatabase2=dict(mydatabase) for element in mydatabase2: numberall+=1 try: await bot.send_message(chat_id=str(element), text=mess, parse_mode=types.ParseMode.HTML) numberofsended+=1 await asyncio.sleep(.04) except: numberofblocked+=1 blocked[element]=mydatabase[element] del mydatabase[element] await asyncio.sleep(.04) Достаточно ли это эффективно, или можно ещё как-то улучшить? (Раньше использовал time.sleep(.04) вместо asyncio.sleep(.04), но отправка сообщений занимала гораздо больше времени, чем ожидалось. Ботом пользуется 500 человек, но вместо ожидаемых 20 секунд бот отправлял сообщения на протежении нескольких минут, не понимаю, из-за чего)
Обсуждают сегодня