await bot.delete_message(msg_id, user_id)
except:
pass
бот начал зависать на неопределенное время, вызываю функцию так:
await deletemsg(message.chat.id, message.message_id)
С чем может быть связано зависание? через какое то время его отпускает и он выполняет все запрошенные действия...
Не проще сразу: await message.delete() ?
Также "зависания" могут быть от очень многих факторов. И указанный код их 100% не вызывает
async def deletemsg(msg_id, user_id): ... await deletemsg(message.chat.id, message.message_id) кажется, так не должно быть
Этот кусок кода безсмысленный по сути. Всё делается одним await message.delete()
в любом случае аргументы перепутаны местами
Скорее всего у тебя может быть RetryAfter. Поэтому: 1. Проверь где ты часто обращаешься к телеге 2. Поправь код для удаления сообщения
Сообщение бота разве можно удалить так?
Можно сделать: sent = await bot.send_message(...) Или sent = await msg.answer(...) И потом: await sent.delete()
Так же вместо send можно значение из бд подставить? id некоторых сообщений хранится в бд
send* await bot.send
Я об названии переменной
Тебе необходимо старые сообщения бота удалять?
Тогда await bot.delete_message(chat_id, msg_id) Также учитывай что сообщения старше 2 дней удалить невозможно
Ещё это сообщение мог удалить пользователь и будет ошибка... По этому сюда try except pass добавил и ссылаюсь на эту функцию, чтобы не дублировать на протяжении +2500 строк
Ошибки лови через errors_handler, а не через try/except Хотя смотря какая реализация
Спасибо, попробую как доберусь до дома)
Также тупо ловить пустой except некрасиво) Сделай except Exception Где Exception это название исключения/ошибки
Обсуждают сегодня