Как сделать команду help discord py

Содержание

Заинтересованность в создании бота для Discord — обычное знакомство с миром программирования в нашем сообществе.

Использование его в качестве первого проекта по программированию во время обучения — палка о двух концах. Прежде чем научиться создавать бота, необходимо понять большое количество концепций, что делает процесс обучения и завершения проекта более трудным, чем более простые проекты, разработанные специально для начинающих. Однако взамен вы получаете возможность открыть для себя гораздо больше аспектов Python, чем обычно, и это может быть удивительно полезным опытом, когда вы, наконец, достигнете своей цели.

Еще одним замечательным аспектом создания ботов является то, что они имеют огромные возможности для того, что вы можете с ними делать, практически ограниченные только вашим собственным воображением. Это означает, что вы можете продолжать изучать и применять более сложные концепции по мере того, как вы растете как программист, продолжая создавать ботов, поэтому изучение этого может быть полезным и приятным набором навыков.

Discord Bot [Command — !help] Дискорд бот [Команда — !help]. | RU + EN

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

Основные ссылки¶

Создание учетной записи бота в Discord¶

Идентификатор клиента¶

Ваш идентификатор клиента совпадает с идентификатором пользователя вашего бота. Это понадобится вам при создании URL-адреса приглашения.

Вы можете найти свой идентификатор клиента на странице настроек «Общая информация» вашего приложения в поле «Имя».

Ваш идентификатор клиента не является секретом, и его не нужно хранить в тайне.

Токен бота¶

Ваш токен бота — это токен, который

URL-адрес приглашения бота¶

Бот не может использовать ссылку для приглашения на сервер. Вместо этого их должен пригласить участник с разрешением на управление сервером.

Вы можете создать URL-адрес приглашения для своего бота, заменив:

Вы также можете создать его с помощью инструмента «Калькулятор разрешений».

Использование базового клиента ( discord.Client )¶

Ниже приведены основные ресурсы, которые следует прочитать, чтобы ознакомиться с основными функциями discord.py .

Использование расширения команд ( commands.Bot)¶

Он полностью охватывает: * Как создать бота с помощью расширения Commands * Как определить команды и их аргументы * Что такое объект Context * Преобразователи аргументов * Основы обработки ошибок * Проверки команд

Примеры использования¶

Официальные примеры и ресурсы¶

Официальные примеры можно найти в исходном репозитории.

Документация по разрешениям¶

Примеры и ресурсы сообщества¶

Сообщество разработчиков discord.py со временем делилось друг с другом примерами и ссылками.
Ниже представлен список наиболее цитируемых примеров сообщества.

БОТ для Discord [ 6 ] | Команда help

Расширения/Cogs¶

Обработка ошибок¶

Встроить¶

Использование локальных изображений во встраиваниях¶
Ограничения встраивания¶

Эмодзи¶

Присутствие активности¶

Обработка изображений¶

Системная служба¶

Служебные команды
Обновить systemd после изменения файла модуля:
systemctl daemon-reload

Установите запуск службы при загрузке:
systemctl enable botname

Запустить службу сейчас:
systemctl start имя бота

Еще по теме:  Серия дружба это чудо дискорд

Остановить службу:
systemctl stop имя бота

Просмотр журналов
Все журналы:
journalctl -u имя_бота

Недавние журналы и продолжение печати новых журналов в режиме реального времени:
journalctl -fu mybot

Хорошо, мы добрались до 12 части! Предупреждаю, это будет долго. Эта часть будет о том, как вы можете создавать обработчики ошибок для своих команд, как вы кратко видели в предыдущей части о времени восстановления.

Существует несколько способов обработки ошибок с помощью discord.py:

  • Обработчики ошибок для каждой команды
  • Обработчики ошибок для каждого процессора
  • Глобальные обработчики ошибок

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

Обработка ошибок для каждой команды

Хорошо! Первый тип обработчика, который мы создадим, — простой для одной команды. Сначала давайте получим базовый код для шестеренки и базовой команды:

  • CommandOnCooldown из-за декоратора времени восстановления
  • MissingPermissions из-за декоратора has_guild_permissions
  • MissingRequiredArgument из-за необходимости члена
  • ConversionError из-за подсказки типа участника
  • CommandInvokeError из-за содержания команды, вызывающей DivisionByZero

Чтобы получить исходную ошибку из CommandInvokeError , вы можете использовать ее исходный атрибут, который возвращает вызвавшее ее исключение.

Теперь перейдем к самому обработчику ошибок. Первое, что нам нужно сделать, чтобы добавить обработчик ошибок, это сообщить discord.py, что мы хотим добавить обработчик ошибок в команду, что мы можем сделать с помощью декоратора ошибок команды:

Это указывает discord.py добавить функцию, которую декоратор украшает, в качестве обработчика ошибок для команды, и она будет вызываться, если во время выполнения команды возникнет какая-либо ошибка, или даже перед вызовом, если функции проверки или преобразования не пройдены. .

Далее нам нужно добавить функцию, которая будет обрабатывать ошибку:

Отлично! Как видите, функция принимает 2 аргумента, не являющихся собственными: ctx и error, которые являются контекстом команды и возникшей ошибкой. Теперь давайте добавим немного логики в функцию, чтобы показать соответствующую информацию пользователю, чтобы он знал, что пошло не так, как обычно, я объясню, что все делает после, и я призываю вас не копировать этот код, а понять его и работайте над написанием собственного обработчика.

Это много кода, но вот что делает каждая его часть:

  • Во-первых, isinstance — это метод Python, который проверяет, является ли объект экземпляром данного класса. В этом случае мы проверяем, является ли ошибка экземпляром различных ошибок discord.py, чтобы определить, какое сообщение об ошибке мы хотим отправить, поскольку иногда они имеют разные параметры.
  • Первая ошибка — CommandOnCooldown. Здесь мы хотим отправить время в секундах, пока не закончится время восстановления, и пользователь сможет снова использовать команду, что мы можем получить с помощью атрибута ошибки retry_after.
  • Далее для MissingPermissions мы просто хотим сообщить, что у пользователя отсутствуют необходимые разрешения. Также можно отправить именно то разрешение, которого им не хватает, но для простоты я оставлю это здесь, поскольку по умолчанию используются внутренние имена, такие как manage_guild , а не красивые имена Discord, такие как Manage Server
  • Для MissingRequiredArgument мы хотим показать, какой аргумент отсутствует, используя атрибут param ошибки.
  • Теперь, если ошибка не является ни одной из этих, мы хотим отправить общее сообщение о том, что команда не удалась, и мы отправляем это сообщение с параметром delete_after, чтобы сообщение само удалялось через 5 секунд.
  • Наконец, мы хотим, чтобы сообщение, вызвавшее ошибку, также было удалено, чтобы сохранить чат в чистоте. Мы не хотим, чтобы это удалялось немедленно, поэтому мы установили удаление через 5 секунд, что означает, что команда и ответ об ошибке будут удалены примерно в одно и то же время.
Еще по теме:  Hypesquad discord как получить balance

По сути, это все, что касается обработчиков команд. Конечно, есть и другие типы ошибок, которые могут возникать в других обстоятельствах, и я настоятельно рекомендую прочитать документацию по исключениям discord.py, чтобы узнать о них больше.

Глобальная обработка ошибок

Хорошо, покомандная обработка завершена, переходим к глобальной обработке!Обратите внимание, что часть содержимого здесь предполагает, что вы прочитали раздел об обработке каждой команды, поэтому я бы рекомендовал прочитать этот бит, если вы этого не сделали, чтобы у вас был необходимый контекст, даже если вы не собираетесь использовать обработчик для каждой команды.

Первое, что мы собираемся сделать, как и в случае с обработкой каждой команды, — это создать шестеренку, только на этот раз мы не будем помещать в нее какие-либо команды, она будет зарезервирована только для ошибок. Это не обязательно, но помогает сегментировать код и упрощает поиск и разделение всего, что удобно и чисто.

Довольно просто, по сути, это стандартный шаблон для шестеренки, как обычно. Далее мы добавим прослушиватель для получения ошибок команды:

Параметры точно такие же, как и у ошибки команды, но на этот раз вместо декоратора из команды мы используем прослушиватель on_command_error . Как и в случае с обработчиком ошибок для каждой команды, теперь мы хотим реализовать логику, чтобы определить, какое сообщение отправить пользователю:

Это не полный обработчик ошибок. Исключений не хватает, и я не собираюсь их включать. Это делается для того, чтобы отговорить людей от простого копирования обработчика ошибок для себя. Я не могу не подчеркнуть, насколько важно для обучения, чтобы люди пробовали что-то сами, а не копировали код.

Для всех ошибок, которые вам, возможно, придется обрабатывать здесь, я советую прочитать документы discord.py по исключениям. Кроме того, некоторые из ошибок здесь имеют несколько производных исключений, таких как UserInputError , во что бы то ни стало нужно сделать более конкретные обработчики ошибок, которые имеют специальные сообщения для каждого исключения!

Как видите, это не сильно отличается от обработчика для каждой команды, но есть несколько заметных отличий:

Carl Bot — это продвинутый бот, который позволяет вам управлять журналами, хранить чаты и создавать роли реакции, как и многие боты сервера Discord, доступные онлайн. Это также выводит AutoMod на новый уровень, не пропуская спам, вложения или ссылки, и наказывает людей, которые публикуют такие материалы.

Как удалить сообщения бота?

Удалить сообщения в Discord так же просто, как навести курсор на сообщение, щелкнуть значок меню из трех точек во всплывающем окне и выбрать параметр «Удалить сообщение». Затем нажмите кнопку «Удалить» во всплывающем окне, чтобы навсегда удалить сообщение.

Как вы используете Discord PY?

Проще всего это сделать с помощью модуля python «PrettyHelp»:

  1. Вы можете установить его с помощью pip, используя pip install -U discord-pretty-help.
  2. Затем импортируйте его из pretty_help import DefaultMenu, PrettyHelp.
  3. Затем вы устанавливаете кнопки меню и заменяете меню справки по умолчанию:

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

Все, что вам нужно сделать, это ввести «. cleanup» в качестве префикса и введите параметр, на основании которого вы хотите удалять сообщения. Например, чтобы удалить сообщения со ссылками, введите «. очистить ссылки», чтобы удалить все сообщения со ссылками.

Какой бот может удалять сообщения?

Бот MEE6 — один из самых мощных вариантов, которые есть в вашем распоряжении, если вы хотите очистить каналы своего сервера. Как уже упоминалось, он может отправлять до 1000 сообщений за одно действие, хотя вы можете указать любое другое число. Этот бот позволяет удалять сообщения без разбора или только от определенных пользователей.

Еще по теме:  Как написать бота в дискорд на питоне

Есть ли модуль разногласий в python2.7?

Возможно, вы установили его для python2.7, но запустили под python3 и т. д. Скорее всего, у вас обоих есть папка с именем discord в папке вашего проекта. Удалите это. Повторите команду. Вероятно, это случай локальных переопределений. Для проверки полностью выйдите из каталога проекта и выполните следующие команды:

Как установить discord.py без голосовой поддержки?

Как исправить отсутствие модуля с именем «discord»?

Для проверки полностью выйдите из каталога проекта и выполните следующие команды: Если это работает без ошибок, в вашем проекте есть локальное переопределение. Удалите папки дискорда там. Извините, что закрою это, но у меня такая же проблема.

  • Эксклюзив в DNS, что это значит
  • Настройка удаленного доступа Ростелеком
  • Как объединить фотографии в один файл на iphone
  • Какой лучший контроллер для ssd
  • Некоторые растровые изображения были сохранены в файле p1 bmp как 24-битные

Источник: kompyuter-gid.ru

Пытаюсь создать команду! Say в моем боте перезаписи discord.py

Я использую discord.py rewrite и хочу создать команду, которая выводит текст, следующий после команды «$say». Я просмотрел документы и онлайн, но не смог найти обновленный код. Кто-нибудь знает, как я могу это сделать? Спасибо.

user13321682 20 апр ’20 в 04:17 2020-04-20 04:17
2020-04-20 04:17

9 ответов

Если вы хотите использовать команду, обязательно импортируйте команды, а затем создайте параметр контекста. Нравится:

Эта команда будет выполнена $say message потому что когда мы определили бота, мы установили префикс, а когда мы установили команду, которую мы сделали async def name и, очевидно, имя нашей команды say.

Итак, в разногласиях, когда ваш бот работает, вы можете сделать $say good morning! и бот ответит на этом канале good morning! .

ctx.send — это сопрограмма, поэтому мы ожидали перед ней. И ctx определяет канал, а сообщение — это параметр нашего сообщения.

Некоторые полезные ресурсы:

  • Документы: http://discordpy.readthedocs.io/en/latest/
  • Discord.py FAQ
  • discord.py репозиторий GitHub
  • discord.py Discord

Источник: stackru.com

Как назначить вспомогательную справку для команды discord.py?

Как назначить вспомогательную справку для команды в discord.py?

когда я набираю , в нем должно отображаться больше информации о команде. как я могу это сделать?

2021-10-24 13:39:52

Лучший ответ

То brief даст вам краткое описание при запуске !help команда без приведенных аргументов. Вывод от бота, показанного здесь:

​No Category: help Shows this message hi This is where the BRIEF would be found. Type !help command for more info on a command. You can also type !help category for more info on a category.

То description установит сообщение, когда команда будет передана в качестве аргумента команде справки по умолчанию, в вашем случае: !help hi . Вывод бота будет отображаться как:

This is where the DESCRIPTION is found. !hi

Итак, в заключение, ваш новый код будет выглядеть следующим образом:

Просто измените строки на то, что вы хотите для каждой команды.

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

изменить: Увидел комментарий, разъясняющий, что вы имели в виду под дополнительной помощью

2021-10-24 15:24:08

Основной «текст» сообщения справки связан с help аргумент или предоставляется в виде строки документа для функции. description это только верхняя строка сообщения справки. Возможно, вам следует упомянуть самый простой метод doc-строки и help аргумент.

MockingJay

Источник: ru.code-paper.com

Рейтинг
( Пока оценок нет )
Загрузка ...