что такое префикс бота в дискорде
Как создать своего бота в Дискорде
Discord — это бесплатный мессенджер, позволяющий пользователям общаться с помощью текстовых и голосовых сообщений. Кроме того, программное обеспечение поддерживает IP-телефонию и видеоконференции. Чаще всего приложение используется игровыми сообществами для участия в командных боях и киберспортивных мероприятиях. Несмотря на то, что мессенджер имеет закрытый программный код, пользователи могут использовать API, позволяющее написать своего бота для Discord. Для написания помощника потребуются базовые знания в области программирования. Далее мы поговорим о том, как создать своего бота в Дискорде, а также изучим основные команды.
Что лучше использовать для разработки
Нужно выбрать программную платформу, чтобы создавать собственного бота. Всего у нас есть два варианта: Node.js и всеми полюбившийся Python. Чем они отличаются, вы спросите?
Да все очень просто, первый вариант — это среда разработки, использующая JavaScript. Разработчики все оптимизировали, поэтому Node.js позволяет взаимодействовать с устройствами ввода и вывода через свой API. Кроме того, допускается подключать разные языки программирования.
А что второй вариант? Здесь все немного иначе. Python — это среда, использующая высокоуровневую динамическую типизацию. В основном ее используют именно для написания скриптов и создания бота.
Таким образом, написание бота в Discord должно начаться с обязательного выбора ПО. От этого будет зависеть конечный результат, а нам он нужен положительным. Каковы наши рекомендации? Попробуйте сделать помощника, используя оба способа, так вы приобретете и опыт, и начальные знания в программировании, а мы вам поможем. Рассмотрим оба варианта в подробностях — от создания каркаса, до тестирования.
Используем Python
Нам нужно перейти на официальный сайт Python, чтобы загрузить последнюю версию среды разработки.
Установка библиотек
Дальнейшие инструкции такие:
Создаем словарь
Теперь нам нужно обучить своего бота. Сделать это просто — пишем словарь:
Теперь в окно вставляем следующий код:
>
Далее нужно посетить сайт разработчиков Discord Developer Portal, просто вбейте наименование в поисковике:
Теперь сохраните полученный файл конфигурации в папку «Config», которую нужно создать самостоятельно.
Папка «Config» с файлом может выглядеть следующим образом, как показано на рисунке ниже.
Создаем каркас
Теперь нам нужно создать каркас для Discord bot. Здесь придется немного потрудиться, так как будем использовать команды в большом количестве:
Нужно добавить основной код:
async def hello(ctx):
Далее идет функция и выглядит она следующим образом:
bot.run(settings[‘token’])
Сохраняем документ привычным способом в папку «Config».
Запуск
Ну вот и мы подошли к тому, чтобы проверить работоспособность. После того как свой бот создан, нам нужно снова открыть файл IDLE. Далее прописываем такую команду:
У вас путь к каркасу бота может отличаться. Кроме того, можно прописать путь к файлу через командную строку.
Откройте Дискорд с компьютера или телефона, чтобы проверить, есть ли бот в сети. Если вы наблюдаете отсутствие помощника, то проверьте отступы, ведь при программировании в Python нужно строго их соблюдать. Это поможет не стать заложником ошибок, таких как Syntax Error.
Используем библиотеку Node.js и JavaScript
Теперь мы расскажем, как осуществляется настройка бота в php Node.js:
Откройте последний файл и пропишите код:
>
Префикс можно использовать любой, а токен вы найдете на портале Discord Developer.
Теперь откройте файл «bot.js» и пропишите следующие данные, которые показаны на рисунке.
Сохраняемся и создаем файл, где будут прописаны роли с наименованием «comms.js». Указываем команды, как показано на картинке.
Запуск
Чтобы запустить бота нам нужна командная строка:
Заключение
Создание своего бота в Discord процесс трудоемкий, но если соблюдать те инструкции, которые мы описали в статье, то у вас все получится. Мы рекомендуем попробовать каждый способ, а вы выберете для себя приемлемый.
Видео по теме
Создание Discord-бота, используя библиотеку discord.js | Часть №1
Введение
В этой статье я подробно расскажу о том, как работать с библиотекой discord.js, создать своего Discord-бота, а также покажу несколько интересных и полезных команд.
Сразу хочу отметить, что я планирую сделать ряд подобных статей, начиная с простых команд, заканчивая музыкой, системой экономики и распознаванием голоса ботом.
Начало работы
Если вы уже знакомы с приведёнными ниже материалами, — смело можете пролистать этот раздел.
Для начала работы с кодом нам нужно установить среду разработки, это может быть:
Среда разработки выбирается по удобству использования и практичности, она у вас может быть любая, но мы рассмотрим её на примере Visual Studio Code, так как она является одной из самых приемлемых для новичков, а также для опытных программистов.
Для установки переходим по этой ссылке.
Выбираем свою операционную систему и запускаем скачивание.
Для создания бота мы используем среду выполнения node.js. Для её установки нам необходимо перейти на этот сайт.
На данный момент нас интересует версия долгосрочной поддержки (LTS), скачиваем её.
В Visual Studio Code присутствует возможность устанавливать расширения.
Для этого, кликните по отмеченной ниже иконке.
В открывшемся окне вписываем название название/идентификатор нужного нам расширения, после чего устанавливаем его.
Из полезных расширений могу отметить:
Создание бота
Теперь, когда вы установили все нужные компоненты, мы можем приступить к созданию самого бота.
Здесь всё просто. Переходим на портал разработчиков и нажимаем на кнопку с надписью «New Application» — она находится в правом верхнем углу.
В открывшемся окне вписываем имя бота, после чего, нажимаем на кнопку с надписью «Create».
На этой странице мы можем изменить имя бота, загрузить для него иконку, заполнить описание.
Теперь наша задача — воплотить бота в жизнь. Для этого переходим во вкладку «Bot».
Нажимаем на кнопку с надписью «Add Bot» и воплощаем бота в жизнь.
Поздравляю! Вы создали аккаунт для вашего бота. Теперь у него есть тег, токен, ник и иконка.
Подготовка к написанию кода
После создания аккаунта для бота, мы должны установить нужные пакеты и модули, чтобы в дальнейшем он корректно работал.
Первым делом создаём папку, после чего открываем её в VS Code (Файл > Открыть папку) / (Ctrl + K Ctrl + O)
Далее нам нужно открыть терминал (Терминал > Создать терминал) / (Ctrl + Shift + `)
Теперь мы должны создать файл с неким «описанием» нашего бота, сделаем это через терминал.
Вписываем данную строку в терминал и нажимаем Enter:
После каждой появившейся строки нажимаем Enter или вписываем свои значения.
Значения в этом файле можно будет изменить в любой момент.
Далее, мы должны поочерёдно вводить в терминал эти строки:
«Install» также можно сокращать в «I», но необязательно.
Итого, если вы следовали инструкциям и всё сделали правильно, в вашей папке должны были появиться 3 объекта:
Написание кода
Для того, чтобы наш бот появился в сети и мог реагировать на команды, нам нужно написать для него код.
Существует множество вариантов для его написания: используя один файл, два, несколько, и т.д
Мы рассмотрим вариант с двумя файлами, так как его использовать очень легко и удобно, но у каждого варианта есть свои недостатки — например, у этого недостатком является сложность в написании начального кода.
Но не волнуйтесь, весь код вам писать не придётся.
Для начала, нам нужно где-то хранить основные параметры и информацию о боте.
Мы можем сделать это двумя способами:
Разберём хранение параметров в отдельном файле.
Итак, создаем файл config.json
Вставляем в него следующий код:
* Для получения токена зайдите на портал разработчиков, перейдите во вкладку «Bot» и скопируйте его.
* Самым распространённым среди разработчиков префиксом является !
Далее нам нужно создать файл bot.js и вставить в него данный код:
Теперь создаём файл comms.js, в нём будут сами команды.
В нём должен быть следующий код:
Чтобы добавить больше команд — просто объявляйте больше функций и добавляйте их в список, например:
И вот, мы вышли на финишную прямую!
Осталось всего ничего — запустить бота.
Для этого открываем терминал и вставляем в него следующую строку:
Готово! Бот запущен и вы можете им пользоваться, ура!
Чтобы пригласить бота на свой сервер, воспользуемся нам уже известным порталом разработчиков.
Перейдём во вкладку OAuth2, пролистаем чуть ниже, выберем «Bot» и отметим нужные боту привилегии.
Теперь осталось скопировать ссылку-приглашение и добавить бота на свой сервер.
Существует два способа:
Для этого, сначала мы должны скопировать ссылку-приглашение.
После чего перейти в файл bot.js и вставить данную строчку кода сюда:
Итоговый код должен быть таким:
Чтобы указать несколько привилегий, мы должны перечислить их в квадратных скобках, через запятую:
* Все привилегии указываются заглавными буквами
Список доступных привилегий:
ADMINISTRATOR
CREATE_INSTANT_INVITE
KICK_MEMBERS
BAN_MEMBERS
MANAGE_CHANNELS
MANAGE_GUILD
ADD_REACTIONS
VIEW_AUDIT_LOG
PRIORITY_SPEAKER
STREAM
VIEW_CHANNEL
SEND_MESSAGES
SEND_TTS_MESSAGES
MANAGE_MESSAGES
EMBED_LINKS
ATTACH_FILES
READ_MESSAGE_HISTORY
MENTION_EVERYONE
USE_EXTERNAL_EMOJIS
VIEW_GUILD_INSIGHTS
CONNECT
SPEAK
MUTE_MEMBERS
DEAFEN_MEMBERS
MOVE_MEMBERS
USE_VAD
CHANGE_NICKNAME
MANAGE_NICKNAMES
MANAGE_ROLES
MANAGE_WEBHOOKS
MANAGE_EMOJIS
Я не советую вам из привилегий выбирать только ADMINISTRATOR, поэтому лучше указать только те привилегии, которые бот действительно использует для корректной работы
Полезные и интересные команды
В предыдущем разделе я показал вам, как запустить бота и как писать для него команды.
Теперь я хочу поделиться с вами несколькими своими командами.
Не стоит пугаться большого кода, здесь всё предельно просто.
Заключение
Вот и подошла к концу первая часть обучения, как вы могли заметить, создать бота, используя библиотеку discord.js очень просто.
Итого, из этой статьи мы выяснили:
Надеюсь, что вам понравилась моя статья и вы узнали из неё что-то новое.
Создание бота Discord Bot с помощью Node.js
Published on August 26, 2020
Автор выбрал фонд Free and Open Source Fund для получения пожертвования в рамках программы Write for DOnations.
Введение
Discord — это приложение чата, позволяющее миллионам пользователей со всего мира обмениваться сообщениями и общаться в голосовом чате в сообществах, называемых «гильдии» или «серверы». Discord также включает функциональный API, который разработчики смогут использовать для построения мощных ботов Discord. Боты могут выполнять разнообразные действия, в том числе отправлять сообщения на серверы, отправлять пользователям сообщения DM, модерировать серверы и воспроизводить звук в голосовых чатах. Это позволяет разработчикам создавать мощных ботов со сложными и продвинутыми функциями, включая инструменты модерирования и даже игры. Например, служебный бот Dyno обслуживает миллионы гильдий и содержит множество полезных функций, включая защиту от спама, музыкальный проигрыватель и другие служебные функции. Научившись создавать боты Discord, вы получите множество возможностей, с которыми тысячи людей смогут взаимодействовать каждый день.
В этом обучающем модуле мы создадим бот Discord с нуля, используя Node.js и библиотеку Discord.js, позволяющую пользователям взаимодействовать с Discord API напрямую. Мы настроим профиль бота Discord, получим токены аутентификации для бота и запрограммируем бот для обработки отправляемых пользователями команд с аргументами.
Предварительные требования
Для начала вам потребуется следующее:
Node.js, установленный на вашем компьютере для разработки. Чтобы установить его в macOS или Ubuntu 18.04, следуйте указаниям руководства Установка Node.js и создание локальной среды разработки в macOS или раздела Установка с помощью PPA руководства Установка Node.js в Ubuntu 18.04.
Любой текстовый редактор по вашему усмотрению, например, Visual Studio Code, Atom, Sublime или Nano.
Бесплатная учетная запись Discord с подтвержденной учетной записью электронной почты и бесплатный сервер Discord, который вы будете использовать для тестирования вашего бота Discord.
Шаг 1 — Настройка бота Discord
На этом шаге вы будете использовать графический интерфейс разработчиков Discord для настройки бота Discord и получения токена бота, который вы передадите в свою программу.
Чтобы зарегистрировать бота на платформе Discord, используйте панель приложений Discord. Здесь разработчики могут создавать приложения Discord, включая ботов Discord.
Для начала нажмите New Application (Новое приложение). Discord предложит вам ввести имя нового приложения. Затем нажмите Create (Создать) для создания приложения.
Примечание. Имя приложения не связано с именем бота, и эти имена могут не совпадать.
Теперь откройте свою панель приложения. Чтобы добавить бота в приложение, откройте вкладку Bot (Бот) на панели навигации слева.
Нажмите кнопку Add Bot (Добавить бота), чтобы добавить бота в приложение. Нажмите кнопку Yes, do it! (Да, сделать это!) в диалоге запроса подтверждения. Откроется панель с подробными сведениями об имени вашего бота, токене аутентификации и изображении в профиле.
На этой панели вы можете изменить имя бота или изображение профиля. Также необходимо скопировать токен аутентификации бота, нажав Click to Reveal Token (Нажмите для показа токена) и скопировав отображаемый токен.
Предупреждение. Никогда не публикуйте и не выгружайте в сеть свой токен бота, поскольку это позволит любому пользователю выполнить вход в бот.
Теперь нужно создать приглашение, которое позволяет добавить гильдии ботов Discord, где вы можете протестировать бот. Вначале перейдите на вкладку OAuth2 на панели приложения. Чтобы создать приглашения, прокрутите страницу и выберите бота в разделе scopes. Также необходимо установить разрешения, чтобы определить, какие действия бот может выполнять в гильдиях. Для целей этого обучающего модуля выберите пункт Administrator (Администратор), которые дадут вашему боту разрешения для выполнения в гильдиях практически любых действий. Скопируйте ссылку с помощью кнопки Copy.
Затем добавьте бот на сервер. Перейдите по созданной ссылке с приглашением. Вы можете добавить бот на любой сервер, который вам принадлежит или на котором у вас есть права администратора, используя выпадающее меню.
Теперь нажмите кнопку Continue (Продолжить). Обязательно установите отметку рядом с полем Administrator, чтобы предоставить боту разрешения администратора. Затем нажмите Authorize (Авторизация). Discord предложит вам решить головоломку CAPTCHA, прежде чем бот сможет подключиться к серверу. Теперь наш бот Discord отображается в списке пользователей сервера, на который вы добавили бота, со статусом offline (не в сети).
Вы успешно создали бота Discord и добавили его на сервер. Далее мы напишем программу для входа в бот.
Шаг 2 — Создание проекта
На этом шаге мы настроим базовую среду программирования, где выполним сборку бота и войдем в него программным путем.
Вначале необходимо настроить папку проекта и необходимые файлы проекта для бота.
Создайте папку проекта:
Перейдите в только что созданную папку проекта:
Далее используйте текстовый редактор для создания файла с именем config.json для сохранения токена аутентификации вашего бота:
Затем добавьте в файл конфигурации следующий код, заменяя выделенный текст токеном аутентификации вашего бота:
Сохраните и закройте файл.
Мы настроили файл конфигурации, установили необходимую зависимость и теперь можем начать сборку бота. В реальном приложении мы бы разделили код большого бота на несколько файлов, но в этом обучающем модуле мы поместим весь код бота в один файл.
Вначале создайте файл с именем index.js в папке discord-bot для кода:
Начните программирование бота, запросив зависимость discord.js и файл конфигурации с токеном бота:
После этого добавьте следующие две строки кода:
Сохраните и закройте файл.
Во второй строке кода метод login используется на клиенте для входа в созданный бот Discord с использованием токена в файле config.json в качестве пароля. Токен сообщает Discord API, для какого бота предназначена программа, а также подтверждает вашу аутентификацию для использования бота.
Теперь запустите файл index.js с помощью Node:
Теперь статус вашего бота на сервере Discord, куда вы его добавили, изменится на online (в сети).
Мы успешно настроили среду программирования и создали базовый код для входа в бот Discord. На следующем шаге мы займемся пользовательскими командами и заставим бота выполнить определенные действия, например, отправить сообщения.
Шаг 3 — Обработка первой команды пользователя
Вначале откройте свой файл:
Добавьте в файл следующий код:
Добавьте следующую строку кода в функцию обработки команд:
Эта строка проверяет, является ли автор сообщения ботом, и если это так, останавливает обработку команды. Это важно, поскольку обычно нам не нужно обрабатывать сообщения ботов или отвечать на них. Другим ботам обычно не требуется использовать наш бот, и поэтому игнорирование их сообщений позволит нам сэкономить вычислительную мощность и предотвратить случайные ответы.
Теперь мы напишем обработчик команд. Для этого важно понимать обычный формат команды Discord. Обычно структура команды Discord содержит три части в следующем порядке: префикс, имя команды и (иногда) аргументы команды.
Префикс: префикс может быть любым, но обычно это знак пунктуации или абстрактная фраза, которая обычно не может располагаться в начале сообщения. Это означает, что при добавлении префикса в начало сообщения бот будет знать, что это команда, которую ему необходимо обработать.
Имя команды: имя команды, которое пользователь хочет использовать. Это означает, что бот может поддерживать несколько команд с разными функциями и разрешать пользователям выбирать между ними, используя разные имена команд.
Аргументы: иногда команда запрашивает или использует дополнительную информацию от пользователя, и пользователь может указывать аргументы после имени команды, разделяя их пробелами.
Примечание. Принудительно устанавливаемой структуры команд нет, и боты могут обрабатывать команды как угодно, однако здесь мы описываем эффективную структуру, которую использует большинство ботов.
Чтобы начать создание синтаксического анализатора команд, поддерживающего этот формат, добавьте следующие строки кода в функцию обработки сообщений:
Вторая строка кода проверяет, начинается ли содержание обрабатываемого ботом сообщения с заданного префикса, и останавливает дальнейшую обработку сообщения, если префикса нет.
Теперь необходимо конвертировать остальную часть сообщения в название команды и любые аргументы, которые могут присутствовать в сообщении. Добавьте следующие выделенные строки:
Мы завершили построение синтаксического анализатора команд с реализацией обязательного префикса и получением имени команды и всех аргументов из сообщений. Теперь мы реализуем и создадим код для определенных команд.
Добавьте следующий код, чтобы начать реализацию команды ping :
Теперь вы можете реализовать код для команды «ping» :
Сохраните и закройте файл.
Запустите свой бот с помощью следующей команды (в той же папке, что и index.js ):
Теперь вы можете использовать команду «! ping» на любом канале, где бот может просматривать и принимать сообщения, а также отправлять ответы.
Вы успешно создали бот, который может обрабатывать команды пользователей, и реализовали свою первую команду. На следующем шаге мы продолжим разработку бота, реализовав команду sum.
Шаг 4 — Реализация команды Sum
Откройте файл index.js снова:
Затем мы используем метод reply на объекте сообщений, чтобы ответить на команду пользователя, отправив литераль шаблона, содержащую сумму всех аргументов, отправленных пользователем боту.
Теперь вы можете использовать команду «! sum» на любом канале, где бот может просматривать и отправлять сообщения.
Далее приведена законченная версия скрипта бота index.js :