Как создать бота дискорд на питоне

В этом уроке мы узнаем, как настроить среду программирования Python, создать и зарегистрировать бота с помощью Discord Developer Portal и написать несколько строк кода на Python для ответа на сообщения пользователей в Discord. Мы также предоставим разбор каждой строки кода для тех, кто хочет глубже понять, как все это работает.

Бот Discord, которого мы собираемся построить, будет слушать ключевое слово $meme и отвечать случайным мемом с Reddit.

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

Требования

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

  • Установленный Python 3.
  • Установлен pip (программа установки пакетов).
  • Учетная запись Discord.
  • Сервер Discord с правами «Manager Server».

Как работает бот Discord

Сначала давайте немного расширим рамки и подумаем над таким вопросом: «Что значит создать Discord Bot?». Проще говоря, бот — это не что иное, как компьютерная программа, выполняющая некоторые полезные действия.

ДИСКОРД БОТ PYTHON 2.0 #1 СОЗДАНИЕ ФАЙЛОВОЙ СТРУКТУРЫ БОТА И SLASH КОМАНД

Поскольку Discord хочет, чтобы боты могли делать полезные вещи, они разрешили разработчикам получать доступ к части своей системы в коде, например, автоматически отвечать на сообщения или помогать с административными функциями сервера (например, посмотрите эти популярные боты Discord).

Сегодня мы сосредоточимся на том, чтобы заставить нашего бота читать и писать сообщения, поэтому давайте посмотрим, как это работает.

Из грубого рисунка выше (я инженер, а не художник) видно, как пользователи и боты подключаются к бэкенду Discord. Каждый пользователь взаимодействует с бэкендом Discord, чтобы писать и читать сообщения. Затем серверы бэкенда Discord передают событие о том, что было опубликовано новое сообщение, любой программе. Все, что нам нужно сделать, это написать нашу программу для реагирования на события сообщений (здесь она называется bot.py) и подключить ее к бэкенду Discord, используя их API.

API (Application Programming Interface) — это просто модная терминология для определения того, как одна программа общается с другой программой. В нашем случае API Discord позволяет нам читать и отправлять сообщения на его внутренние серверы.

Сначала нам нужно создать и зарегистрировать нашего бота на портале разработчиков Discord.

Еще по теме:  Как зайти в дискорд через браузер на телефоне

Настройка портала разработчиков Discord

Создание бота Discord в Python

В этом уроке мы разработаем собственного бота Discord с помощью Python.

Исходный код этого бота будет храниться в моем репозитории github.

О боте

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

:: Bot Usage :: !mc help : shows help !mc serverusage : shows system load in percentage !mc serverstatus : shows if the server is online or offline !mc whoisonline : shows who is online at the moment
Войти в полноэкранный режим Выйти из полноэкранного режима

Зависимости

Создайте виртуальную среду python и установите зависимые пакеты:

СВОЙ ДИСКОРД БОТ НА PYTHON 2021


$ python3 -m virtualenv .venv $ source .venv/bin/activate $ pip install discord $ pip install python-dotenv
Войти в полноэкранный режим Выйти из полноэкранного режима

Создание приложения Discord

Сначала нам нужно создать приложение на discord и получить токен, который потребуется нашему приложению python.

Создайте приложение на discord:

  • https://discordapp.com/developers/applications

Вы должны увидеть:

Нажмите «Новое приложение» и дайте ему имя:

Проверьте наш последний продукт — конечный создатель страниц tailwindcss .

После создания приложения у вас появится окно для загрузки логотипа, описания и, самое главное, для получения идентификатора приложения, а также публичного ключа:

Затем выберите раздел «Бот»:

Затем выберите «Добавить бота»:

Выберите OAuth2 и выберите область действия «bot»:

В нижней части страницы вам будет предоставлен URL-адрес, который выглядит примерно так:

https://discord.com/api/oauth2/authorize?client_id=xxxxxxxxxxxscope=bot
Войти в полноэкранный режим Выйти из полноэкранного режима

Вставьте ссылку в браузер и авторизуйте бота на выбранном вами сервере:

Затем нажмите кнопку авторизации, и вы увидите, что ваш бот появился в Discord:

Разработка бота Discord

Теперь мы будем создавать нашего бота для Discord на python. Вернитесь в раздел «Bot» и выберите «Reset Token», затем скопируйте и сохраните значение токена в файл .env :

DISCORD_TOKEN=xxxxxxxxx
Вход в полноэкранный режим Выход из полноэкранного режима

Еще по теме:  Как сделать групповой звонок в discord

Таким образом, в текущей рабочей директории у нас должен быть файл .env со следующим содержимым:

$ cat .env DISCORD_TOKEN=your-unique-token-value-will-be-here
Войти в полноэкранный режим Выйти из полноэкранного режима

Для этой демонстрации я создам приватный канал в discord под названием minecraft-test и добавлю в него бота MinecraftBot (это только для тестирования, после тестирования вы можете добавить своего бота в другие каналы для использования другими людьми):

Для нашего первого теста, базового бота, где мы хотим набрать hello и бот должен поприветствовать нас по имени пользователя, в нашем файле mc_discord_bot.py мы будем иметь:

Войти в полноэкранный режим Выйти из полноэкранного режима

Затем запустите бота:

$ python mc_discord_bot.py MinecraftBot has logged in.
Войти в полноэкранный режим Выйти из полноэкранного режима

Когда мы набираем hello и goodbye , вы можете увидеть, что наш бот реагирует на эти значения:

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

  • использовать команду !mc для запуска нашего бота и подкоманды для того, что мы хотим
  • возможность видеть, кто играет в minecraft на нашем сервере в данный момент
  • возможность получить статус, если сервер minecraft находится онлайн
  • возможность получить процент загрузки сервера (так как бот работает на сервере minecraft).

Это наш полный mc_discord_bot.py :

Вход в полноэкранный режим Выход из полноэкранного режима

А теперь мы можем запустить нашего бота:

$ python mc_discord_bot.py

Источник: procodings.ru

Пишем DISCORD бота на Python

Пишем DISCORD бота на Python

Пишем DISCORD бота на Python ka1do_: Смотрите те, у кого не работает. Мы вначале писали код под названием config. Берешь и копирует все оттуда в свой основной код. А далее просто отовсюду убираешь модуль config ( config. ROLES, config. TOKEN и т. д) И да, для этого тебе надо использовать сублайм текст ( питон не откроет эту прогу т. к. там будут смайлы)
Дата: 2020-05-03

Как исправить Без доступа в интернет, защищено в Windows 11?

Как установить живые обои на рабочий стол Windows 10 или Windows 11?

Как изменить логотипы Windows 10?

Wi-FI в Windows 11? Как включить wi-fi, почему нет кнопки wi-fi, нет настроек wi-fi адаптера?

Как запретить программе доступ в интернет?

Автоматический график с помощью формулы массива

Комментарии и отзывы: 9

Ma4eTeV
У меня вопрос! А возможно ли сделать так, чтобы еще эти роли можно было купить за разные монеты, типо допустем, роль батя сата за 500 коинов сообщений(за 5 сообщений 1 коин) Или 1 коин голосовы0 за 1 минуьа разговора в голосовом чате) Надеюсь ты увидешь этот комм Всем удачи

Еще по теме:  Как сделать детский голос в дискорде

Иван
Хауди не мог бы ты по подробнее затронуть тему ассинхронного программирования. Тема интересная, но довольно размытая. Новичкам вроде меня понять что и как там, сложно. Подумай мож запилить видео с хотя бы с кратким объяснением темы. Заранее спасибо )

Gleisk
Народ сначала была ошибка [Errno 2] No such file or directory ее решил сменил дерикторию, но появилась новая, то что код типо я написал и он он моментально закрывается, мне кажется он принимает его за ошибку и закрывает как исправить? Делал я все это в PyCharm

>Hero
Как можно было додуматься сделать массив, а не массив []! Круто придумал. Постоянно будет очень удобно настраивать бота (нет. Выдача ролей — это максимум функционала бота! Круто, че!

Молодец (нет. Как говорится создал бота из говна и палок

NikotoZ
— У меня есть сервер в Дискорде. Искал бота для мониторинга онлайна на сервере, но нашел платные версии ботов. Теперь, после просмотра этого видео, загорелся желанием создать подобного бота. Вопрос только в том, получится ли?

TTimusevich
Привет, классное видео. Только вот я всё сделал, но роли почему-то не показываются у человека под его аватаркой, при нажатии на его профиль, но количество, при нажатии, меняется. P. S. буду благодарен за любую помощь — инфу.

Farcrause
Хауди, нахер ты показываешь бота, объясни как его делать чтобы люди сами научились делать бота, чтобы они сами создавали эти функции, а ты просто протараторил и сделал, чтобы люди просто скатали, зачем!

NITAGAS
Добрый день, может быть у кого-нибудь была такая ошибка при запуске бота File mybotnit. py, line 4 async def on_ready(self): SyntaxError: invalid syntax кто знает можете подсказать что не так? код использовал из описания под видео.

SUBGAME
привет! можешь подсказать написал все также но он не выводит в консоль сообщения! т. е от кого просто он активируется и всё! из за чего это может быть? может библеотек не хватает?

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

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