Как создать бота в Дискорде — инструкция

Перед тем, как сделать бота в Дискорде, установите на компьютер дополнительный софт и модуль JavaScript. Знание языков программирования значительно упростит задачу.

Getting started¶

Is this your first time using the library? This is the place to get started!

  • First steps: Introduction | Quickstart | Setting Up Logging

  • Working with Discord: Creating a Bot Account | A Primer to Gateway Intents

  • Examples: Many examples are available in the repository.

Как создать учетную запись Discord Bot

Чтобы работать с библиотекой Python и API Discord, мы должны сначала создать учетную запись Discord Bot.

Вот шаг к созданию учетной записи Discord Bot.

1. Убедитесь, что вы вошли на сайт Discord.

2. Перейдите на страницу приложения.

3. Щелкните кнопку «Новое приложение».

4. Дайте приложению имя и нажмите «Создать».

5. Перейдите на вкладку «Бот» и нажмите «Добавить бота». Вам нужно будет подтвердить действие, нажав «Yes, do it!»

Оставьте настройки по умолчанию для Public Bot и Require OAuth2 Code Grant.

Ваш бот создан. Следующим шагом будет копирование токена.

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

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

Key Features

  • Modern Pythonic API using async and await.
  • Proper rate limit handling.
  • 100% coverage of the supported Discord API.
  • Optimised in both speed and memory.

Installing

Python 3.5.3 or higher is required

To install the library without full voice support, you can just run the following command:

# Linux/macOSpython3 -m pip install -U discord.py# Windowspy -3 -m pip install -U discord.py

Otherwise to get voice support you should run the following command:

# Linux/macOSpython3 -m pip install -U «discord.py[voice]«# Windowspy -3 -m pip install -U discord.py[voice]

To install the development version, do the following:

$ git clone https://github.com/Rapptz/discord.py$ cd discord.py$ python3 -m pip install -U .[voice]

Optional Packages

  • PyNaCl (for voice support)

Please note that on Linux installing voice you must install the following packages via your favourite package manager (e.g. apt, dnf, etc) before running the above commands:

  • libffi-dev (or libffi-devel on some systems)
  • python-dev (e.g. python3.6-dev for Python 3.6)

Как написать код для базового бота Discord с помощью библиотеки discord.py

Мы будем использовать библиотеку Python discord.py, чтобы написать код для бота. discord.py — это оболочка API для Discord, которая упрощает создание бота Discord на Python.

Как создать реплику и установить disocrd.py

Вы можете разработать бота на своем локальном компьютере с помощью любого редактора кода. Однако в этом уроке мы будем использовать Repl.it, потому что это упростит всем пользователям следовать его указаниям. Repl.it — ​​это онлайн-среда IDE, которую вы можете использовать в своем веб-браузере.

Создайте новый Repl и выберите «Python» в качестве языка.

Чтобы использовать библиотеку discord.py, просто напишите import discord  вверху main.py. Repl.it автоматически установит эту зависимость, когда вы нажмете кнопку «Run».

Если вы предпочитаете кодировать бота локально, вы можете использовать эту команду в MacOS для установки discord.py:

python3 -m pip install -U discord.py

Возможно, вам придется использовать pip3 вместо pip.

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

py -3 -m pip install -U discord.py

Как настроить события Discord для вашего бота

discord.py вращается вокруг концепции событий. Событие — это то, что вы слушаете, а затем реагируете. Например, когда происходит сообщение, вы получаете событие об этом, на которое можете ответить.

Сделаем бота, который отвечает на конкретное сообщение. Этот простой код бота вместе с объяснением кода взят из документации discord.py. Позже мы добавим в бота дополнительные функции.

Добавьте этот код в main.py. (Вы можете назвать файл как-нибудь иначе, только не discord.py.) Я вскоре объясню, что делает весь этот код.

import discordimport osclient = discord.Client()@client.eventasync def on_ready(): print(‘We have logged in as {0.user}’.format(client))@client.eventasync def on_message(message): if message.author == client.user: return if message.content.startswith(‘$hello’): await message.channel.send(‘Hello!’)client.run(os.getenv(‘TOKEN’))

Когда вы создали своего пользователя-бота в Discord, вы скопировали токен. Теперь мы собираемся создать файл .env для хранения токена. Если вы запускаете свой код локально, вам не нужен файл .env. Просто замените os.getenv(‘TOKEN’) токеном.

.env файлы используются для объявления переменных среды. На Repl.it большинство создаваемых вами файлов видны всем, но .env файлы видны только вам. Другие люди, просматривающие публичный ответ, не смогут увидеть содержимое файла .env.

Поэтому, если вы разрабатываете на Repl.it, включайте в файл .env только личную информацию, такую ​​как токены или ключи.

Нажмите кнопку «Добавить файл» и создайте файл с именем .env.

Внутри файла добавьте следующую строку, включая ваш фактический токен, который вы скопировали ранее:

Теперь давайте рассмотрим, что делает каждая строка в коде вашего бота Discord.

  1. Первая строка импортирует библиотеку discord.py.
  2. Вторая строка импортирует библиотеку os, но она используется только для получения переменной TOKEN из файла .env. Если вы не используете .env файл, эта строка вам не нужна.
  3. Затем мы создаем экземпляр Client. Это связь с Discord.
  4. Декоратор @client.event() используется для регистрации события. Это асинхронная библиотека, поэтому все делается с помощью обратных вызовов. Обратный вызов — это функция, которая вызывается, когда происходит что-то еще. В этом коде событие on_ready() вызывается, когда бот готов к использованию. Затем, когда бот получает сообщение, вызывается событие on_message().
  5. Триггер событий каждый раз вызывает on_message(), когда принимается сообщение, но мы не хотим, что-то делать, если сообщение от самих себя. Поэтому, если Message.author это то же самое, что и Client.user, просто делаем return.
  6. Затем мы проверяем Message.content, начинается ли с ‘$hello’. Если да, то бот отвечает ‘Hello!’ в канал, в котором он использовался.
  7. Теперь, когда бот настроен, последняя строка запускает бот с токеном входа. Он получает токен из файла .env.

У нас есть код для бота, поэтому теперь нам просто нужно его запустить.

Как запустить бота

Теперь нажмите кнопку запуска вверху, чтобы запустить своего бота в repl.it.

Если вы пишете бота локально, вы можете использовать эти команды в терминале для запуска бота:

В Windows:

В других системах:

Теперь перейдите в свою комнату в Discord и введите «$hello». Ваш бот должен ответить «Hello!».

Quick Example

import discordclass MyClient(discord.Client): async def on_ready(self): print(‘Logged on as’, self.user) async def on_message(self, message): # don’t respond to ourselves if message.author == self.user: return if message.content == ‘ping’: await message.channel.send(‘pong’)client = MyClient()client.run(‘token’)

Bot Example

import discordfrom discord.ext import commandsbot = commands.Bot(command_prefix=‘>’)@bot.command()async def ping(ctx): await ctx.send(‘pong’)bot.run(‘token’)

You can find more examples in the examples directory.

Download files

Download the file for your platform. If you’re not sure which to choose, learn more about installing packages.

Files for discord.py, version 1.7.3
Filename, size File type Python version Upload date Hashes
Filename, size discord.py-1.7.3-py3-none-any.whl (786.7 kB) File type Wheel Python version py3 Upload date Jun 12, 2021 Hashes View
Filename, size discord.py-1.7.3.tar.gz (731.0 kB) File type Source Python version None Upload date Jun 12, 2021 Hashes View
Close

Hashes for discord.py-1.7.3-py3-none-any.whl

Hashes for discord.py-1.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c6f64db136de0e18e090f6752ea68bdd4ab0a61b82dfe7acecefa22d6477bb0c
MD5 fa8fe665392793a344fb0460817ec3a9
BLAKE2-256 623879f7de6d65514b8c98c9439dc2950796e6bbfbb333e21f14c18fd29bea45
Close

Hashes for discord.py-1.7.3.tar.gz

Hashes for discord.py-1.7.3.tar.gz
Algorithm Hash digest
SHA256 462cd0fe307aef8b29cbfa8dd613e548ae4b2cb581d46da9ac0d46fb6ea19408
MD5 2593b6755b494d234abcb83e86f3ebb6
BLAKE2-256 3b13a8ea7c07f46d47512673bbfa2574a22b620b814e559274f18e4a1c443cb5
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: