Как сделать статус боту в дискорде
В данной статье мы создадим Discord бот, используя при этом только Python.
Краткая информация о Discord для тех, кто еще о нем не знает
Discord — это, фактически, универсальная платформа голосового и текстового общения для геймеров.
Игроки, стримеры, студенты и разработчики используют Discord, чтобы обсуждать игры, отвечать на вопросы, общаться в чате во время игры в хорошем качестве, в том числе с членами своей команды. В нем даже есть игровой магазин с критическими отзывами и возможностью подписки. По сути, это центр игровых сообществ.
Хотя есть много вещей, которые вы можете создать с помощью API Discord, в этом руководстве мы остановимся на создании бота на Python.
Необходимые приготовления
Чтобы создать Discord бот, вам понадобится:
- Аккаунт в Discord и собственный сервер
- Python
- Устойчивое интернет-соединение во время всего процесса.
Что такое боты?
Для чего нужны чат-боты
В любой области деятельности всегда есть вопросы, которые пользователи задают чаще всего. И на эти вопросы каждый раз надо давать одни и те же ответы. Лучшее решение в таком случае — чат-бот.
Ускорение рабочих процессов
Чат-боты, в отличии от людей, никогда не устают. Все люди могут работать только ограниченный период времени, в то время как у ботов таких ограничений нет. Использование чат-ботов в бизнесе хорошо дополняет работу людей, повышает производительность труда и сокращает человеческий труд.
Экономия денег и времени
При правильном использовании дружелюбного чат-бота привлечение клиентов происходит с минимальными затратами и максимальной эффективностью.
Лаборатория Django-разработки
За 3 месяца отработай навыки Django-разработки до профессионального уровня на серьезном проекте под руководством наставника.
Пишем код для чат-бота
Сперва убедитесь, что на вашем компьютере установлен Python. Если его еще нет, то загрузите его с официального сайта.
Среду программирования можно использовать любую, какая вам больше нравится. Например, PyCharm, VS Code или Sublime.
Теперь выберите опцию New application (новое приложение) в правом верхнем углу страницы и дайте вашему новому приложению имя. Как видите, можно даже добавить изображение к аватару вашего бота. Мы можем сделать это позже. Сейчас пойдем в раздел Bot (на странице слева) и выберем опцию Add bot (добавить бота).
Сделав это, перейдите в категорию OAuth2 и в секции scope выберите опцию bot . Далее идите в секцию Permissions и настройте разрешения по вашему выбору.
Затем откройте ссылку под секцией scope в новом окне и выберите сервер, на котором вы желаете видеть ваш бот.
После этого установим библиотеку discord .
Для этого введем следующую команду:
Вот официальный сайт, где есть вся необходимая информация по данной библиотеке. Здесь же мы только заметим, что эта библиотека поддерживает API acync/await .
После установки этой библиотеки откройте ваш редактор кода и создайте файл bot.py .
Для начала импортируем необходимые библиотеки:
Создадим переменную Client :
Также имейте ввиду, что если вы хотите вызывать своего бота, ваша вызывающая команда должна иметь префикс, сохраненный в атрибуте command_prefix .
Например, в нашем случае, чтобы вызвать бота, нужно написать /hello , а не просто hello .
Напишем следующий код для определения статуса бота:
Теперь, когда бот готов к работе, мы можем ответить пользователям на их приветствие hello :
Эта функция задает условие, при котором, когда пользователь набирает /hello , бот отвечает hi .
Для запуска бота нам понадобится токен. Он находится в разделе Bot на сайте Discord. Мы заходили туда при создании бота.
Замените слово Token на ваш код. Сам токен находится рядом с аватором бота. Если вдруг его там нет, нажмите на надпись Click to Reveal Token . Это должно сработать.
Теперь настало время запустить нашего бота!
Откройте CMD и наберите следующую команду:
Если так не выходит, то наберите вот это:
Теперь перейдем на наш сервер и введем тестовый запрос, который в нашем случае был /hello . Мы увидим, что наш бот отвечает нам Hi .
Точно таким же образом пишем бот для приветствия новых участников:
Возможные проблемы при создании бота
Все может быть не так просто, как это кажется на первый взгляд. Вы обязательно должны помнить о проблемах, с которыми можете столкнуться при создании бота. Некоторые из них мы перечислили ниже:
Заключение
Мы рассмотрели, как создать Discord бот на Python. Разумеется, это был простейший бот. Но вы, конечно же, можете написать свой собственный код и добавить множество различных функций, например OCR.
Одна из предлагаемых возможностей Discord – поменять статус. Сделать меняющийся статус в Дискорде можно, воспользовавшись предложенной инструкцией.
Как выглядит динамический статус и зачем он нужен
Динамичный статус – цвет огонька системных настройках:
Пользовательский статус в Discord нужен, чтобы те, кто авторизован в этой социальной сети, видел активность.
Инструкция: как сделать анимированный статус
Сделать анимированный статус в Дискорде, позволяющий выделиться среди других пользователей, можно, установив плагин BetterDiscord. В нем можно добавить живой статус для изменения.
Скачивание и установка BetterDiscord
Приложение BetterDiscord, позволяющее сделать статус в дискорде, который меняется, скачивается следующим образом:
- Перейдя на официальную страницу программы, надо скачать ее.
- Когда скачивание дополнения завершится, нужно открыть его в папке с выполненными загрузками.
- Чтобы установка была продолжена, требуется подтверждение согласия с правилами использования.
- В еще одном активном окне необходимо выбрать опцию Install Bandaged.
- Галочкой нужно отметить Install To Stable, когда загружена стандартная версия Discord. Путь к имеющимся файлам может определяться автоматически. Однако когда такого не произошло, место нахождения исполняемого файла придется указывать вручную.
- Дождавшись, когда окончится инсталляция, надо закрыть активное окно и перезагрузить программу Дискорд.
Создание плагина для меняющегося статуса
Настройка меняющегося статуса
После того, как создан плагин для работы с анимированным статусом, можно переходить к процедуре его настройки и включить новый режим отображения на странице информации.
Получение авторизационного токена
Для совершения автоматических действий по смене статуса необходим авторизационный токен. Получить его можно следующим образом:
Добавление статусов для изменения
Далее, следует выбрать период, через который будет меняться созданный динамичный статус. При этом порядок действий следующий:
- Надо снова нажать на меню и использовать комбинацию Ctrl, Shift и I, чтобы открыть консоль разработчика.
- Перейдя в подраздел Network, необходимо выбрать science и headers.
- На следующем этапе требуется нажать authorization, скопировать код как на фото.
- Вставив код в отведенное поле плагина, который был создан ранее, можно выбрать прикольные эмодзи из списка. Их надо просто скопировать и вставить в плагин, меняющий движущийся статус.
- Выставив трехсекундную задержку, надо написать в кавычках текст как на фото.
- Сохранив изменения, нужно покинуть меню и проверить скорость, с которой происходит выбранная анимация.
При работе с Better Discord важно учитывать, что использованием такого плагина лучше не злоупотреблять. Его рекомендуется отключать, чтобы не сработала система блокировки возможных подозрительных действий. Благодаря этому приложению, можно установить переключающийся статус на Android, iOS, в браузере.
Голосовой мессенджер Discord обладает всеми необходимыми социальными функциями, позволяющими упростить общение между пользователями. В частности, каждый владелец учетной записи может сообщить другим юзерам о том, чем он занимается в данный момент. И, чтобы осуществить задуманное, пользователю необходимо разобраться, как поставить статус в VoIP-мессенджере Дискорд.
Что такое статус в Дискорде
Несмотря на то, что Discord является довольно специфичным мессенджером, статусы в нем играют ту же роль, как и в других подобных сервисах, будь то Telegram или WhatsApp. Статус показывает, готовы ли вы к общению в настоящий момент.
Виды статусов
Ваша игровая активность может быть настроена при использовании готовых шаблонов Discord или самостоятельно в зависимости от пожеланий владельца учетной записи.
Поэтому Дискорд предлагает выбрать одно из следующих состояний:
Из описания доступных значений становится очевидно, что состояние аккаунта играет важную роль в организации общения между пользователями Discord. В то же время некоторые люди могут использовать их в качестве введения в заблуждение других юзеров.
Как его поменять?
Разобравшись в предназначении статусов и их основных отличиях, можно переходить к тому, как изменить настройки состояния в Дискорде. Ниже представлено две инструкции для разных платформ: смартфонов и ПК.
На компьютере
На практике подавляющее большинство людей пользуется Дискордом на компьютере, а потому в первую очередь важно рассказать о том, как поменять состояние на этой платформе:
- Запустите приложение или сайт Дискорда и пройдите авторизацию.
- Кликните по аватару своей учетной записи левой кнопкой мыши.
- Также щелчком ЛКМ выберите один из предложенных статусов, после чего вы можете скрыть меню.
Более подробно стоит остановиться на ситуации, когда хочется добавить пользовательский статус. В подобной ситуации перед вами откроется всплывающее окно с двумя строчками:
На телефоне
Также изменить или убрать текущий статус можно на телефоне. Для этого понадобится:
По аналогии с десктопной версией приложения в Discord на телефоне доступна установка пользовательских значений. Вы можете более подробно расписать текущее состояние учетной записи, сопроводив его эмодзи из представленного списка. Кроме того, здесь тоже доступна возможность удаления выбранного значения после определенного промежутка времени.
Меняющийся статус с помощью BetterDiscord
Откровенно говоря, самостоятельно менять статус учетной записи бывает не очень удобно. Пользователь может попросту забыть изменить текущее состояние, из-за чего во время сна его побеспокоит нежданное уведомление. Чтобы избежать подобных ситуаций, рекомендуется настроить автоматическое изменение значений при помощи программы BetterDiscord:
- Скачайте дистрибутив приложения с официального сайта и установите его.
- Запустите Discord.
- Установите необходимые параметры, включая автоматическую смену значений в течение определенного отрезка времени.
Теперь информация о состоянии аккаунта будет меняться автоматически, и вам не придется самостоятельно менять значения. При этом будьте внимательны, устанавливая настройки, так как всегда велик риск ошибиться.
В этом ознакомительном HOWTO я расскажу, как можно немного занять себя на время карантина и сделать бота для своего Discord-сервера. Мы развернем NodeJS в Docker под Ubuntu 18.04 и запустим в нем бота с парочкой простых команд. В конце я оставлю ссылки на полезные источники информации, чтобы вы могли дальше развивать бота, наделяя его полезными функциями.
Программное обеспечение сервера, используемое в этом уроке:
- Ubuntu 18.04
- Docker 19.03.6
- npm 6.14.5
В этой статье подразумевается, что вы обладаете навыками работы в командной строке Linux.
Первые шаги
В появившемся окне нужно придумать имя своему приложению (будущему боту):
После указания имени и создания приложения мы можем перейти к созданию бота. Для этого в левом меню выберите пункт “Bot” и нажмите на кнопку “Add Bot”.
Последним шагом здесь будет копирование token по кнопке “Copy”. Держите в секрете ваш token и сохраните его куда-нибудь — он понадобится позже.
Подготовка сервера
В качестве площадки для размещения бота я использую VDS под управлением операционной системы Ubuntu 18.04. Вы можете разместить бота и на других дистрибутивах, убедившись в том, что в них установлены нужные пакеты.
Команды для установки в Ubuntu 18.04:
Если вы используете другой дистрибутив, то установка необходимых пакетов может отличаться. Вы можете найти инструкцию для конкретного дистрибутива в документации или в поисковике.
Создание основных файлов
Как я указал в начале статьи, мы будем использовать NodeJS для запуска бота. Дополнительно нам потребуются две библиотеки:
- discord.js (основная библиотека для работы бота);
- dotenv (будет использоваться для конфигурационного файла).
Создадим рабочую директорию проекта и файл package.json. В моем случае рабочая директория располагается в директории /home, но вы можете выбрать любую другую на свое усмотрение.
Примерный вид файла:
В нем мы указали имя будущего пакета (name), версию (version), описание (description), автора (author), основной файл (app.js) и список зависимостей (dependencies).
Запустим npm install и убедимся, что создался файл package-lock.json, который потом также будет скопирован в контейнер.
Теперь создадим файл самого бота app.js и запишем в него следующий код:
Учитывая, что здесь используется конфигурационный файл, создадим в рабочей директории .env и запишем в него:
Вместо “tokenbot” подставляется token бота, который был сохранен в начале статьи, а в качестве prefix указывается символ, после которого будут вводиться команды. Я выбрал в качестве префикса “!”, но вы можете выбрать другой удобный символ, если только он не используется самим Discord, как например “@” или “/”.
Создание Docker-контейнера
Теперь в рабочей директории нам нужно создать Dockerfile, который будет содержать инструкции для сборки образа, на основе которого будет запущен контейнер. В него мы запишем:
Создадим файл .dockerignore и запишем туда несколько локальных файлов, которые будут игнорироваться:
Соберем образ и запустим на его основе контейнер:
Вместо “authorname” можно ввести имя пользователя, от которого создается бот, и через “/” указать имя бота.
Проверим, что контейнер запустился, специальной командой:
Добавление бота на сервер
Бот запущен и работает в контейнере. Осталось только пригласить его на сервер и проверить его работу.
Для приглашения необходимо:
Теперь мы можем проверить работу двух команд, созданных ранее:
Заключение
В этой ознакомительной статье мы зарегистрировали новое приложение, создали бота, написали несколько простых команд, запустили контейнер и пригласили бота на сервер.
Далее бота можно развивать, наполняя его другими более сложными и полезными функциями. Для этого вам пригодятся знания JavaScript и следующие ссылки:
Надеюсь, этот материал будет полезен для всех, кто давно хочет создать собственного бота в Discord, но не знает, с чего начать.
Читайте также: