@y0uSh4

Discord.py Хочу сделать команду autoclear и присвоить ее каналу, но не пойму как это реализовать?

Хочу сделать команду autoclear и присвоить ее каналу, саму команду уже тысячу раз нашел, но она не работает и не удаляет ничего, хоть она и сделана для всех каналов, но я ее исключил из списка и пытаюсь написать свою, но не выходит так как только начал изучать питон и начал изучать с Бота для дискорда. Помогите разобраться с проблемой. Вот код:
@bot.event
async def on_ready():
    print('Я запущен!')
    bot.loop.create_task(status_task())
    channel = bot.get_channel(972431181624791060)  # replace `channel_id` with an actual channel ID
    await channel.purge(limit=0)  # change `x` accordingly...
    await asyncio.sleep(5)
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
только начал изучать питон


В этом-то и заключена проблема. Разумеется, если не понимать, что делаешь, то будет получаться непонятно что.

В данном случае что происходит?

1. Мы ловим любое сообщение на любом сервере, где есть бот, в любом из каналов, которые боту видны.

2. Затем мы зачем-то получаем канал с фиксированным id.

3. Затем мы обращаемся в этом канале к свойству message (а оно там есть? и что это будет, сообщение? какое?) и от него вызываем метод delete, причём с параметром message.

В результате даже если этот, с позволения сказать, код удастся запустить, он работать всё равно не будет, зато будет кидать ошибки.

Не нужно пытаться наугад писать бота. Это как пытаться залить бензин в автомобиль куда получается: в бачок для масла, в выхлопную трубу, в нипель на колесе... - в надежде, что она всё-таки поедет.

Увы, но нет. Сначала надо освоить язык, начиная с элементарных основ, описываемых в учебнике. А уж потом переходить к более сложным темам.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы