Как получить информацию о пользователе discord py

Обновлено: 01.07.2024

Создание простого 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

В разделе «Настройки пользователя» > «Моя учетная запись» нажмите «Изменить», и вам будет предложено ввести новое имя пользователя.

Discord Имя пользователя

Кроме того, вы можете редактировать свой ник на каждом сервере, частью которого вы являетесь. Перейдите к одному из серверов, к которому вы принадлежите, и кликните стрелку вниз рядом с именем сервера в левом верхнем углу. Выберите «Изменить псевдоним», чтобы задать собственное отображаемое имя.

Discord Nickname

Этот псевдоним будет таким, каким вас видят другие участники этого конкретного сервера.

Discord Avatars

Чтобы установить свой аватар в Discord, вернитесь в «Моя учетная запись» и кликните кружок с вашим текущим изображением профиля.

Discord Avatar

Затем вам будет предложено выбрать файл на вашем устройстве. Затем вы обрежете его с помощью предварительного просмотра, чтобы увидеть, как он выглядит внутри круга. Подписчики Discord Nitro могут установить свои аватары в виде анимированных GIF-файлов вместо статических изображений.

Discord интеграции

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

Discord Connections

Чтобы настроить интеграцию, перейдите в «Настройки пользователя» > «Подключения» и кликните значок приложения, к которому вы хотите подключиться. Затем вы можете настроить каждую интеграцию индивидуально.

Пользовательский номер тега

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

Однако, если вы используете Discord Nitro, просто перейдите на вкладку «Моя учетная запись» и нажмите «Изменить». Вы сможете установить здесь свой собственный номерной тег, если он еще не занят.

Интерфейс Discord

Есть несколько вещей, которые вы можете настроить с помощью интерфейса Discord. Чтобы увидеть их, перейдите в Настройки приложения > Внешний вид.

Discord Внешний вид

Любые настройки интерфейса будут применяться ко всем приложениям, в которые вы вошли, будь то мобильное, настольное или приложение.

Настройки текста и изображения

Вы также можете настроить способ отображения текста и изображений в чате, выбрав «Настройки приложения» > «Текст и изображения».

Discord Text и изображения

Вот некоторые из изменений, которые вы можете внести в способ отображения определенных типов контента:

Общие настройки уведомлений

По умолчанию вы будете получать уведомления на всех серверах, к которым вы принадлежите, когда находитесь на мобильном устройстве. С другой стороны, уведомления на рабочем столе отключены.

Discord Уведомления

Настройки уведомлений сервера

Discord Notification Server

У каждого сервера свои настройки уведомлений. Перейдите к желаемому серверу и щелкните стрелку рядом с именем сервера. Отсюда перейдите в Настройки уведомлений.

Есть три варианта настройки уведомлений:

Вы можете временно отключить звук любого сервера, нажав кнопку «Выключить».

Я расскажу о создании 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 в действии и убедитесь, насколько он полезен лично для вас. А пока настраиваете связи между системами, подумайте, куда инвестируете свободное время, ведь теперь его у вас будет гораздо больше.

Читайте также: