Какова наша цель с этой новой командой?

Моя цель в этом посте - показать вам, как программировать четко структурированную команду. В конце концов, он может очистить определенное количество сообщений, размещенных в текстовом канале Discord.

Как будет выглядеть команда, когда мы закончим?

?clear <amount of messages that should be deleted>

Пример:? очистить 50

Начнем с программирования

Прежде всего, мы начнем с базовой настройки нашей новой команды.

С помощью этой строки кода мы получаем все содержимое за префиксом с именем команды. В этом случае все позади ?clear.

Пример:. Если вы вводите команду в текстовом канале Discord ?clear 50, args будет [ 50 ] (который представляет собой массив ).

Теперь мы добавили новую строку, которая просто упрощает чтение количества сообщений, которые следует удалить. Для этого нам просто нужно join() массив. Если вы не знаете функции join(), вы можете прочитать больше здесь.

2 новые строки. Первая проверяет, задан ли параметр суммы. В противном случае бот (команда) выдает ошибку, что этот параметр необходим для выполнения этой команды.

Следующий проверяет, является ли параметр суммы четным, поскольку сумма может быть только целым (числом) и не может содержать букв.

Снова две новые строки. Эти строки не должны быть сложными. Первый проверяет, больше ли целое число 100, если да, бот выдает ошибку. То же самое для следующей строки, только проверяется, меньше ли целое число (параметр количества) 1. Если вы не знаете, почему максимум может быть только 100; это связано с Discord API, он позволяет боту-приложению получать за один раз только 100 сообщений. Больше можно найти здесь.

Первая новая строка извлекает все сообщения. Предел - это указанный выше параметр количества (Для уточнения: это число за командой ?clear). Затем мы переходим к основной функции этой команды; Массовое удаление. Теперь бот удаляет все полученные сообщения.

Будь осторожен! Сообщения не могут быть старше 14 дней (опять же из-за Discord API).

Заключение

Я надеюсь, что смогу немного помочь вам с вашим ботом и настройкой вашей команды clear. Если у вас возникнут вопросы, вы можете посетить наш форум для дальнейшей поддержки!