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

Всем привет.
В интернете очень мало качественных гайдов на тему разработки Discord-бота . Поэтому я решил написать полный подробный курс на эту тему.
В этом курсе мы будем учиться созданию Discord-бота на языке программирования Python (библиотека Discord.py) с нуля.

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

Для начала нам нужно получить токен для взаимодействия с API Discord. Получить его достаточно просто.
Перейдите по ссылке https://discordapp.com/developers/applications/ . Если вы не авторизованы в аккаунте Discord — нужно будет авторизоваться.
Справа сверху появится кнопка «New Application» .

Нажимаем на нее. В открывшемся окне нам будет предложено ввести название нового приложения.

Вводим и нажимаем Create. Теперь нам нужно выбрать вкладку «Bot» в меню слева.

В правой верхней части экрана нажимаем «Add Bot» . В открывшемся окне нажимаем «Yes, do it!» .

Строка «USERNAME» — будущее имя бота.

БОТ ДЛЯ ДИСКОРДА НА PYTHON, КАК НАПИСАТЬ В ЛС, СДЕЛАТЬ ЭМБЭД, ПОСТАВИТЬ ИГРАТЬ БОТА


Token — это и есть наш код доступа к API, ради которого мы все это делали.

Добавление бота в канал

После перехода по ссылке, в открывшемся выбираем наш сервер, куда мы хотим добавить бота.

Теперь нажимаем кнопку «Продолжить» , а затем «Авторизовать» , проходим проверку на робота. Готово! Наш бот добавлен в наш сервер.

Теперь перейдем непосредственно к разработке самого бота.

Установка Discord.py

Я буду показывать пример работы в Командной Строке Windows . В целом, ход действий мало отличается от Linux , так что, если у вас линукс, — пишите то же самое.

Для удобства работы лучше будет создать виртуальное окружение (Virtual Env) . В консоли переходим в папку нашего проекта. В ней выполняем следующие команды:

// Устанавливаем VirtualEnv, если он у вас еще не установлен
> pip install virtualenv

// Создаем нашу виртуальную среду
> python -m venv [название]

// Активируем виртуальную среду
[Windows] > [название]Scriptsactivate.bat
[Linux] > source [название]/bin/activate

// Активацию нужно будет повторять при каждом запуске консоли

Теперь нам нужно установить библиотеку Discord.py . Пишем в консоли:

> pip install discord

Готово. Библиотека успешно установлено в наше виртуальное пространство. Теперь можно перейти непосредственно к коду.

Написание основы для бота

В папке нашего проекта создаем Python-файл с любым названием и открываем его в любом редакторе. В моем случае это будет bot.py .
В этот файл вы должны написать такой код:

import discord
from discord.ext import commands

token = ‘токен’
bot = commands.Bot(command_prefix=’/’)

# Тут будут команды

Немного объясню наш код:
Первые две строки — подключение библиотеки к нашему проекту.

Kак сделать дискорд бота на disnake? | Часть 1 | Первые команды и запуск 1


Далее для удобства мы сразу задаем переменную, в которую записываем наш токен , полученный ранее.
Следующая переменная — bot , которую мы будем использовать для обращения к API .
Аргумент «command_prefix» — то, с какого символа будут начинаться наши команды. Например, если мы укажем (command_prefix=’/’) , наши команды будут выглядеть как «/profile» . Туда можно подставить любой символ.
bot.run — метод, который будет запускать нашего бота.

Еще по теме:  Дискорд отключается и подключается

Создание первой команды

Теперь давайте создадим нашу первую команду. Для этого вместо «# Тут будут команды» мы пишем следующее:

Создание Discord-бота на Python. Часть 1

Приветствую, хабровчане и другие пользователи интернета. Сегодня я начну цикл статей, посвящённых созданию Discord-бота с помощью библиотеки discord.py. Мы рассмотрим создание как и примитивного бота, как и «продвинутого» бота с модулями. В этой статье мы сделаем стандартную команду и ещё одну небольшую команду. Начнём!

Создание бота и получение токена

Для того, чтобы добавить бота на сервер нужно создать свое приложение и во вкладке General Information скопировать Client ID.

Здесь заменяем CLID на ранее скопированный Client ID.

https://discordapp.com/oauth2/authorize?scope=botтело» бота, название может быть любое:

bot = commands.Bot(command_prefix = settings[‘prefix’]) # Так как мы указали префикс в settings, обращаемся к словарю с ключом prefix.

Начинаем писать основной код.

В конце запускаем бота с помощью:

bot.run(settings[‘token’]) # Обращаемся к словарю settings с ключом token, для получения токена
Полный код

Должно получится так:

Бонусный туториал!

Сделаем вывод случайных картинок с лисами
Для этого импортируем еще пару библиотек:

import json import requests

Приступим к написанию команды.

Должно получится так:

Конец

На этом 1 часть закончена. Скоро будет опубликована 2 часть.

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

Создайте бота Discord с помощью Python

Итак, вы используете Discord в качестве приложения для обмена сообщениями и думаете: «Эй, может, мне стоит сделать из себя бота…». Надеюсь, это руководство поможет вам начать правильный путь к созданию собственного бота Discord с использованием Python.

Оглавление

  • Шаг 1. Установите discord.py .
  • Шаг 2: Создайте приложение Discord и бота.
  • Шаг 3: Создайте гильдию (сервер) в Discord.
  • Шаг 4: Добавьте бота на сервер.
  • Шаг 5. Закодируйте бота.

1. Установите discord.py

Есть несколько библиотек для работы с Discord API, каждая со своими особенностями, но в конечном итоге все они достигают одного и того же. Поскольку мы фокусируемся на Python, discord.py , вероятно, является самой популярной оболочкой для Python.

Предполагая, что у вас уже установлены Python и pip , вам нужно выполнить эту команду:

pip install discord.py

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

Installing collected packages: discord.py Successfully installed discord.py-[version-number]

Успех! Теперь у вас есть доступ к API Discord. Прежде чем мы перейдем к написанию версии Hello World для бота Discord, нам нужно настроить еще несколько вещей.

2. Создайте приложение Discord и бота.

Прежде чем перейти к коду, нам нужно создать приложение Discord. По сути, это приложение, в котором содержится бот. Доступен на Discord.

Если у вас нет учетной записи Discord, вам нужно создать ее. Но если у вас нет учетной записи в Discord, я не понимаю, зачем вам вообще читать этот тип учебников.

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

Страница должна выглядеть примерно так:

Как только вы окажетесь на этой странице, вам нужно будет перейти к кнопке «Новое приложение»:

После того, как вы нажмете на кнопку, вам будет предложено назвать свое приложение:

Я назову свой SampleDiscordBot, но вы можете называть его как хотите.

Итак, как только вы создали свое приложение, вы попадаете в меню, которое выглядит следующим образом:

Здесь много информации и настроек, но на данный момент нас действительно волнует только настройка «Бот» слева. Итак, давайте продолжим и нажмем на нее, чтобы перейти на страницу с ботами:

Затем мы хотим нажать кнопку «Добавить бота». Появится всплывающее окно с вопросом, хотите ли вы привязать бота к своему приложению. Вы хотите разбить это «Да, сделайте это!» кнопка.

Бот создан и прикреплен к приложению. Нам нужно будет создать совершенно новый сервер Discord — или «гильдию», как API любит называть это — чтобы мы могли бросить бота, чтобы с ним возиться.

3. Создайте гильдию Discord (сервер)

Теперь, когда наш бот запущен и работает, нам нужно создать новый сервер, чтобы у нас была песочница для бота. Вы можете добавить его к существующему серверу, чтобы связываться с людьми. Если ты этого хочешь, то будь моим гостем.

Создать сервер Discord просто. Просто нажмите кнопку с плюсом слева, когда вы находитесь в Discord:

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

Нам просто нужно добавить бота на сервер, и тогда мы наконец сможем вникнуть в код.

4. Добавление бота на сервер

Чтобы мы могли поиграть с ботом, нам нужно добавить его на сервер. Это тоже довольно простой шаг. Нам нужно перейти в раздел «OAuth2» в нашем приложении Discord:

После входа в раздел OAuth2 мы видим экран с кучей флажков. Мы хотим убедиться, что нажали на поле с надписью «бот».

После того, как мы установим этот флажок, прямо под ним должен появиться URL-адрес:

Скопируйте URL-адрес и вставьте его в свой браузер. Эта ссылка позволяет вашему боту присоединиться к любому серверу, на который у вашего пользователя есть разрешения, с помощью OAuth2. Если вы ранее добавляли ботов на сервер, этот шаг должен показаться вам довольно знакомым. Для тех из вас, кто этого не сделал, при переходе по этому URL-адресу вам будет предложено меню, подобное этому:

Идите вперед, выберите созданный вами сервер в раскрывающемся списке и нажмите «Авторизовать». Бот будет загружен на ваш сервер! На вашем сервере появится сообщение о том, что бот присоединился:

Вы также увидите своего бота в списке пользователей в правой части интерфейса Discord:

Теперь, когда бот вошел на сервер, мы наконец можем приступить к написанию базового бота.

5. Кодирование бота

Давайте продолжим и создадим новый файл Python где-нибудь на вашем компьютере. Я позвоню своему main.py . Содержимое файла будет выглядеть так:

— 704974365309141042 (name: Quadriaxis’s server) SampleDiscordBot is in 1 guilds.

Вы можете использовать это как инструмент для регистрации информации по своему усмотрению. Я просто использую это, чтобы быстро подсчитать, чтобы проверить, к скольким гильдиям / серверам подключен бот, и некоторые данные о гильдиях / серверах.

Еще по теме:  Шадоу плей не записывает дискорд

Функция on_message() прослушивает любое сообщение, которое поступает в любой канал, в котором находится бот. Каждое сообщение, отправленное на стороне Discord, запускает эту функцию и отправляет объект Message , который содержит много информации об отправленном сообщении. Такие вещи, как канал, отправитель сообщения и т. Д. Я использую эту функцию, чтобы просто проверить, соответствует ли отправленное сообщение «привет». Если это так, то наш бот отвечает очень приветливой фразой.

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

Для запуска бота необходимы три части:

Эти строки импортируют API Discord, создают объект Client , который позволяет нам диктовать, что может делать бот, и, наконец, запускают бот с нашим токеном. Говоря о токене, чтобы получить токен своего бота, просто перейдите на страницу бота на портале разработчиков Discord и нажмите кнопку «Копировать».

Если вы знакомы с токенами API, то вот оно. Если нет, то это специальная строка, которая идентифицирует вашего бота. Это позволяет вам получить доступ к вашему боту из вашей программы. Вы можете думать об этом как о пароле для своего бота. Без этого токена вы не сможете прикоснуться к своему боту, поэтому обязательно держите его в секрете.

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

Обычной практикой для хранения этих типов токенов является использование какого-то скрытого файла, из которого ваша программа извлекает строку, чтобы они не были привязаны к VCS. python-dotenv — популярный пакет, который делает это за нас. Давайте продолжим и установим этот пакет, чтобы мы могли защитить наш токен.

Запустите эту команду в своем терминале:

pip install python-dotenv

Это установит python-dotenv на нашу машину. Это позволит нам использовать .env файл для хранения нашего токена. Создайте файл .env на том же уровне каталога, что и ваш main.py . Содержимое .env должно выглядеть так:

DISCORD_TOKEN=»NzA0OTcwNzUyNzQyNjUzOTYz.Xqk5ww.1U_-WdW4aeGWCNF7bOJkLAu_2TM»

Теперь, когда у нас есть токен API внутри этого файла, мы можем получить его в main.py , добавив эти строки в наш существующий код:

Поскольку у нас есть DISCORD_TOKEN , мы можем заменить жестко запрограммированный токен API на эту переменную в нижней части программы:

# Executes the bot with the specified token. bot.run(DISCORD_TOKEN)

В результате получится окончательный main.py файл, который выглядит примерно так:

Поздравляю! Вы сделали своего первого бота! Мы пока лишь поверхностно коснулись, но это отличная отправная точка. Такие темы, как команды ботов, даже не рассматривались в этой статье. Еще больше документации и полезной информации можно найти на официальной странице справки по API discord.py.

Хорошее понимание того, как читать API, не только сделает вас лучшим разработчиком, но и позволит вам создать любой тип бота Discord, который вы хотите.

Исходный код также можно найти на GitHub.

Увидимся, ребята, в следующем!

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

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