Как получить информацию о пользователе discord py
Создание простого Discord бота с помощью библиотеки discord.py
Асинхронная библиотека discord.py содержит все что нужно для бота, с помощью нее даже можно работать с голосовыми каналами сервера. В этой статье я расскажу как создать простенького бота для вашего discord сервера.
Получение токена и Client ID для вашего бота
Для получения токена и ID бота небходимо создать свое приложение и в разделе General Information скопировать Client ID.
А в разделе настроек создать бота и скопировать его токен. Задача не сложная, думаю все с этим справятся.
Собственно пишем бота
Устанавливаем discord.py с помощью pip:
pip install discord
После успешной установки создаем файл bot.py, где будем писать бота.
Импортируем все необходимое:
import discord
from discord.ext import commands
Создаем переменную с вашим токеном, про который я писал выше:
Про токен
Создаем тело бота:
Для начала сделаем простенькую команду, аргумент которой бот будет просто пересылать:
И в конце запускаем бота с вашим токеном:
В итоге должно получится вот такое:
Код
Теперь необходимо добавить бота на сервер. Сделать это можно с помощью ссылки:
Число необходимых прав можно получить в разделе настроек бота.
Теперь можно запускать бота:
После нескольких секунд, можно заметить его в сети:
Latest commit
Git stats
Files
README.md
discordbotstut
Начнём. Ссылка на мой youtube канал.
Discord bot туториал. Туториал по созданию ботов для дискорда на node.js используя discord.js.
Creation date : 06.12.2019
Установка node.js .
Давайте начнём создание бота. Если у вас установлена node.js, то пропустите сделающие 2 строчки. Заходим на сайт node.js , скачиваем, устанавливаем. Скриншотов процесса установки нету, тк переустанавливать node.js нету желания. Но там всё интуитивно понятно.
Создание файлов, инициализация проекта, установка библиотек.
Создаём папку bot. Желательно не использовать кирилицу, юникод и т. п. в названии. Сразу же создаём файл index.js или bot.js. Это не несёт особого смысла. Можно назвать как угодно, но принятно index.js / bot.js. Это будет главный файл бота, т.е. первым запускается, в нём основной код бота. Далее открываем консоль / терминал если у вас linux. Для быстрого открытия консоли на windows можно нажать WIN + R, ввести cmd. Далее переходим в папку бота, думаю как это сделать через консоль всем понятно. Пишим : npm init - инициализация проекта. Жмём enter до конца. Если ошибка в package name, то напишите bot. npm i discord.js - установка библиотеки discord.js.
Редакторы кода.
Далее рекомендую установить один из следующих редакторов кода :
Atom .
VScode .
Если очень слабый компьюер можете поставить notepad++ , но это для постоянной основы не самый хороший вариант. Лично я использую Atom.
Аккаунт бота.
Вы можете зарегистрировать его на сайте discord developers . Жмём кнопку "New Application". Вводим название бота. Жмём "Create". Переходим во вкладку "Bot", нажимаем "Add Bot", затем "Yes, do it!" Находим строку "token", немного ниже есть кнопка "Copy", нажимаем. Теперь в вашем буфере обмена есть токен бота.
Код.
Начало.
Создадим первый код. Пишем :
const Discord = require("discord.js"); //Подключаем discord.js для дальнейшего использования.
const client = new Discord.Client();
client.login("token"); //Где token пишем токен бота.
Запуск.
Открываем консоль, переходим в папку проекта и пишем :
в зависимости от названия файла. Если у вас windows, то вы можете создать файл start.bat с текстом
Если линукс, то вы можете создать файл start.sh
Это будет запускать бота. Далее я не буду говорить про запуск. Делайте это сами.
Конфиг.
Создаем файл config.json с конфигурацией нашего бота.
В начале кода бота напишем :
const config = require("./config.json");
Еще вы можете создать конфиг прямо в коде бота.
Но второй вариант крайне не рекомендуется использовать, ведь для того что-бы изменить конфиг бота нам придется изменять его код.
Давайте залогируем тег автора.
Команда !ping
Также можно писать не
.startsWith проверят начинается ли строка с символов в аргументах.
Eval.
Также даже начинающим программистам будет очень полезна в боте команда !eval для выполнения кода не пиша его в коде бота, т.е. вы пишите !eval какой-то код и бот выполняет этот код.
Я нашёл хороший туториал по этой команде на github. Рекомендую ознакомиться и взять себе команду в код бота. Принцип её работы мы разберём позже. Тык .
RichEmbed.
Пример.
Это называется RichEmbed (Embed). Давайте отправим простой эмбед похожий на данный. (Картинка ниже)
Имя пользователя и псевдоним сервера
Когда вы впервые регистрируетесь в Discord, вас просят создать имя пользователя. Однако вы можете изменить свое имя пользователя в любое время после регистрации.
Чтобы изменить свое имя пользователя, кликните значок шестеренки рядом с вашим именем и изображением профиля, чтобы открыть меню настроек.
В разделе «Настройки пользователя» > «Моя учетная запись» нажмите «Изменить», и вам будет предложено ввести новое имя пользователя.
Кроме того, вы можете редактировать свой ник на каждом сервере, частью которого вы являетесь. Перейдите к одному из серверов, к которому вы принадлежите, и кликните стрелку вниз рядом с именем сервера в левом верхнем углу. Выберите «Изменить псевдоним», чтобы задать собственное отображаемое имя.
Этот псевдоним будет таким, каким вас видят другие участники этого конкретного сервера.
Discord Avatars
Чтобы установить свой аватар в Discord, вернитесь в «Моя учетная запись» и кликните кружок с вашим текущим изображением профиля.
Затем вам будет предложено выбрать файл на вашем устройстве. Затем вы обрежете его с помощью предварительного просмотра, чтобы увидеть, как он выглядит внутри круга. Подписчики Discord Nitro могут установить свои аватары в виде анимированных GIF-файлов вместо статических изображений.
Discord интеграции
Вы также можете связать свои учетные записи в потоковых сервисах, таких как Twitch и YouTube, чтобы люди знали, когда вы ведете прямую трансляцию на Twitch или в своей учетной записи Spotify, чтобы показать, во что вы сейчас играете.
Чтобы настроить интеграцию, перейдите в «Настройки пользователя» > «Подключения» и кликните значок приложения, к которому вы хотите подключиться. Затем вы можете настроить каждую интеграцию индивидуально.
Пользовательский номер тега
Каждое имя пользователя Discord имеет в конце четырехзначное число, что позволяет нескольким людям иметь одно и то же имя пользователя. Если у вас бесплатная учетная запись, настроить это невозможно.
Однако, если вы используете Discord Nitro, просто перейдите на вкладку «Моя учетная запись» и нажмите «Изменить». Вы сможете установить здесь свой собственный номерной тег, если он еще не занят.
Интерфейс Discord
Есть несколько вещей, которые вы можете настроить с помощью интерфейса Discord. Чтобы увидеть их, перейдите в Настройки приложения > Внешний вид.
Любые настройки интерфейса будут применяться ко всем приложениям, в которые вы вошли, будь то мобильное, настольное или приложение.
Настройки текста и изображения
Вы также можете настроить способ отображения текста и изображений в чате, выбрав «Настройки приложения» > «Текст и изображения».
Вот некоторые из изменений, которые вы можете внести в способ отображения определенных типов контента:
Общие настройки уведомлений
По умолчанию вы будете получать уведомления на всех серверах, к которым вы принадлежите, когда находитесь на мобильном устройстве. С другой стороны, уведомления на рабочем столе отключены.
Настройки уведомлений сервера
У каждого сервера свои настройки уведомлений. Перейдите к желаемому серверу и щелкните стрелку рядом с именем сервера. Отсюда перейдите в Настройки уведомлений.
Есть три варианта настройки уведомлений:
Вы можете временно отключить звук любого сервера, нажав кнопку «Выключить».
Я расскажу о создании Discord-бота на Python, который запускает сборку проекта в Unity Cloud Build и создаёт ссылку на скачивание для QA из внешней команды.
Настройка и поддержка полноценного CI занимает много времени и средств. При этом команде чаще всего нужна базовая функциональность. Так случилось и с нашим проектом. Потребовался простой способ сборки проекта в Unity Cloud Build и передачи его на внешний QA.
На начальном этапе были такие условия и ограничения:
- репозиторий проекта — Bitbucket (есть поддержка GitHub и GitLab);
- наличие лицензии Unity Teams Advanced, которая разблокирует доступ к Unity Cloud Build;
- ограниченный доступ к Unity Cloud Build для части команды;
- сборка версии проекта не после каждого коммита в ветку, а только после завершения работы над функциональностью или багом.
Для этих целей был создан Discord-бот на Python (этот язык выбрал, как самый быстрый и удобный для автоматизации). Он позволил команде запускать сборку версии в Unity Cloud Build, и после её успешного завершения формировал ссылку для скачивания QA, как внутри команды, так и вне её.
Настройка проекта в Unity Cloud Build
Далее выбираем Create project и вводим имя нашего проекта (для примера, назовем его Dungeon Crawl Prototype):
После этого в списке проектов появится созданный проект. Переходим к нему и выбираем SET UP CLOUD BUILD:
На следующей странице выбираем с каким Git репозиторием будем интегрировать наш проект. В нашем случае это GitHub:
Подключаем GitHub и переходим к настройке сборки проекта:
Добавляем новую сборку SETUP NEW TARGET:
Выбираем платформу. В нашем примере было создано две сборки под Windows 64 и Android:
Вводим название Target Label, в Branch ветку в git репозитории. Для тестового примера был установлен флаг Auto Detect Version:
Для примера был выбран Debug ключ и тестовый Bundle ID:
Далее нажимаем NEXT: BUILD, после чего настройка сборки завершена. Те же шаги необходимо повторить и для других платформ. На этом заканчиваем настройку Unity Cloud Build. В будущем понадобится создать Discord-оповещения для старта построения сборки и результата сборки. Сделаем это после настройки сервера.
Создание и настройка Discord-гильдии (сервера)
После создания сервера необходимо добавить новые роли. Для этого переходим в настройки и создаем три:
- bot для нашего бота, ci для пользователей:
- ci для пользователей, которые смогут давать команды боту:
- qa для тех, кому будет доступна ссылка на скачивания сборки.
Далее создадим три канала:
На этом настройка гильдии закончена. Следующим шагом будет создание Discord-бота.
Создание и настройка Discord-бота
Далее создаем бота. Для этого переходим в созданное приложение, выбираем вкладку Bot и нажимаем Add Bot:
Далее необходимо настроить разрешения для бота. Переходим в пункт OAuth2 и выбираем следующие опции:
После выбора всех опций копируем url кнопкой Copy. Затем в браузере переходим по скопированной ссылке, выбираем Discord-гильдию, созданную ранее, и проверяем, выставленные разрешения:
Далее в настройках Discord-гильдии добавляем нашего бота в роль bot, которую создали ранее:
Осталось настроить Discord-оповещения для Unity Cloud Build (о начале и завершении сборки, и её результате):
Настройка Discord оповещения для Unity Cloud Build
Возвращаемся в Unity Cloud Build и переходим в раздел Notifications, в котором выбираем Integrations page:
Далее создаем новую интеграцию, нажав на NEW INTEGRATION:
Выбираем Discord и нажимаем NEXT:
На этом настройка оповещений и окружения завершена. На следующем этапе создадим Discord-бот на Python.
Создание Discord-бота на Python
Настройка проекта
3–5 декабря, Онлайн, Беcплатно
Создаём новый проект и добавляем в него requirements.txt с таким содержанием:
Так же создаём файл .env с переменными:
DISCORD_GUILD — название Discord гильдии.
DISCORD_BOT_NAME — имя бота.
DISCORD_TOKEN — можно получить на Discord Developer Portal в разделе Bot, скопировав токен:
UNITY_API_KEY можно получить в настройках Unity Cloud Build:
UNITY_ORGANIZATION_ID и PROJECT_ID так же можно получить в Unity Cloud Build. Для этого открываем конфигурацию сборки и нажимаем на EDIT BASIC INFO:
Далее в строке браузера можно увидеть UNITY_ORGANIZATION_ID и PROJECT_ID:
PROJECT_NAME — имя проекта, который собирается в Unity Cloud Build:
Написание бота
Далее я опишу основные моменты реализации Discord-бота. Создаём класс DiscordBot который наследуется от discord.Client. Он реализует API, позволяющее подключиться к Discord гильдии:
Далее необходимо подключиться к Discord-гильдии:
Метод on_ready, позволяет реагировать на событие подключения бота к Discord-гильдии:
Для работы с Unity Cloud Build создаём класс UnityCloudBuildWorker:
Запуск бота как сервис
Для удобства запуска бота на удаленном сервере мы добавили в репозиторий возможность собрать и запустить бота в качестве Docker-контейнера. Для этого были добавлены Dockerfile:
И Makefile, в котором описаны команды up и down для запуска и остановки контейнера с ботом:
Еще несколько лет назад Discord был известен исключительно в узких кругах: как специализированная программа-чат для геймеров. Первую волну популярности он получил среди киберспортсменов и стримеров на Twitch. Однако вскоре его известность вышла за пределы геймерского сообщества и стала более массовой.
На сегодняшний день сервис всё чаще используется не только как средство общения в играх, но и для других целей - прежде всего, деловых и учебных. Итак, что же представляет собой Discord, что сделало его популярным, какие у него есть преимущества и недостатки, а также кому и чем он будет полезен.
История Discord
Discord – это бесплатная программа-мессенджер с поддержкой текстовых чатов, приватных и групповых аудио-видеозвонков. Доступна в виде настольного приложения для ПК (Windows, MacOS, Linux), веб-клиента и мобильного приложения (Android, iOS).
Мессенджер Discord был выпущен в 2015 году американской IT-компанией Hammer&Chisel. Изначально разработчик собирался создать компьютерную игру, однако в процессе планы изменились и финальным продуктом стало приложение-чат для геймеров, которое получило название Discord.
В ходе разработки компания стремилась выпустить такое VoIP-приложение, которое бы идеально подходило для киберспорта и игровых стримов. Главным ориентиром для нее являлись стабильности и скорость онлайн-общения в голосовых и видеочатах с быстрым соединением и минимальными задержками.
Изначально в приложении были доступны только текстовые чаты и аудиозвонки, а в 2017 году к ним добавились видеочаты и видеоконференции, численностью до 50 участников. В том же году появилась платная версия программы под названием Discord Nitro, предоставляющая пользователям ряд дополнительных возможностей.
К началу 2021 года количество активных пользователей Discord превысило отметку 140 миллионов. С учетом растущей популярности, руководство проекта решило переориентироваться на массового потребителя. Глава компании Джейсон Цитрон заявил, что хотел бы избавить Discord от репутации узкоспециализированного мессенджера для геймеров, сделав его более универсальным – подходящим не только для игр, но также для работы, учебы и других целей.
Перспективный мессенджер привлек внимание крупнейшей IT-корпорации Microsoft. На конец марта 2021 года в сети появилась информация о том, что представители Microsoft начали переговоры с руководством Discord о его покупке за 10 миллиардов долларов. При этом вероятность этой сделки пока остается неопределенной, так как вместо продажи основатели проекта, вероятно, захотят вывести компанию на биржу и сделать ее публичной.
Возможности Discord
Преимущества Discord
Почему Discord стал таким популярным и быстро набирает аудиторию пользователей? Из-за ряда преимуществ, а именно:
Типы каналов Discord
Интерфейс мессенджера позволяет создавать Discord-каналы таких типов, как:
Заключение. Мессенджер для всех
Discord – это бесплатный VoIP-мессенджер с поддержкой публичных и приватных текстовых и голосовых чатов. Ранее он стал широко известен в геймерском сообществе, однако в последние годы всё чаще используется для рабочих и учебных целей. Он предоставляет широкие возможности для общения, в том числе для проведения видеоконференций.
Discord поддерживает как текстовые, так и голосовые каналы, каналы с объявлениями и каналы-магазины. Мессенджер доступен в виде приложения для ПК, приложения для мобильных устройств и браузерной версии.
Apix-Drive — универсальный инструмент, который быстро упорядочит любой рабочий процесс, освободив вас от рутины и возможных денежных потерь. Опробуйте ApiX-Drive в действии и убедитесь, насколько он полезен лично для вас. А пока настраиваете связи между системами, подумайте, куда инвестируете свободное время, ведь теперь его у вас будет гораздо больше.
Читайте также: