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

Создание Discord-бота на Python Программирование и разработка

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

Что такое Discord?

Discord — это бесплатное приложение для чата, которое предоставляет различные функции чата, такие как голосовой, видео и текстовый чат. Оно используется миллионами людей по всему миру как для профессионального, так и для развлечения.

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

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

Что такое Discord-боты?

Discord ежедневно используют более 10 миллионов человек. Используя эту статистику, мы ясно видим интерес людей к сообществам, и разногласия растут. Люди исследуют и присоединяются к новым серверам.

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

  • Приветствуем новых участников.
  • Отвечая на часто задаваемые вопросы.
  • Блокирование токсичных людей на серверах.
  • Ответы, отправка, удаление сообщений.
  • Управление ролями людей на сервере.
Читайте также:  Self Type в Python

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

Создание Discord-сервера

Прежде всего, нам нужен выделенный сервер, на котором мы собираемся установить нашего бота. Этот бот будет работать на одном канале на этом сервере. Чтобы создать сервер, вам необходимо иметь учетную запись Discord, если у вас ее еще нет, вы можете создать ее, просто перейдя на https://discord.com/.

Шаг 1: Нажмите кнопку добавления сервера (плюс) на левой боковой панели, чтобы открыть интерфейс создания сервера. Выберите шаблон вашего сервера.

Нажмите кнопку добавления сервера (плюс) на левой боковой панели

Шаг 2: Выберите, используете ли вы этот сервер для развлечения или сообщества.

ерите, используете ли вы этот сервер для ра

Шаг 3: Выберите хорошее и запоминающееся имя для своего сервера. Если вы используете его для сообщества, вы можете просто указать название своего сообщества или бизнеса.

те хорошее и запоминающееся имя для своего серв

Шаг 4: Теперь ваш сервер создан

ерь ваш сервер созда

Создание канала на сервере

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

Шаг 1: Нажмите «Добавить в список текстовых каналов».

жмите «Добавить в список текстовы

Шаг 2: Выберите тип канала как текстовый канал и дайте своему каналу имя.

е тип канала как текстовый канал и дайте своем

Шаг 3: Канал создан

анал созд

Создание бота

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

Шаг 1: Войдите на портал: перейдите на https://discord.com/developers/applications и войдите в свою учетную запись discord, в которой создан сервер, для которого вы хотите создать бота.

йдите на портал перейдите на

Шаг 2: Приложение относится к новой функциональности. Например, Бот. Нажмите на новое приложение, чтобы инициализировать вашего первого бота, выберите имя для вашего приложения. Помните, что имя приложения будет именем вашего бота.

носится к новой функционал

Шаг 3: Создание бота. Нажмите «Бот» на левой боковой панели и нажмите «Добавить бота».

жмите «Бот» на левой боковой пане

Шаг 4: Откроется всплывающее окно, в котором вас спросят, действительно ли вы хотите добавить бота, нажмите «Да, сделайте это».

ется всплывающее окно, в котором вас спросят

Шаг 5: Скопируйте токен с помощью кнопки COPY, указанной ниже, этот токен используется для авторизации программ с разногласиями.

руйте токен с помощью кнопки COPY, указанной ни

Настройка и авторизация бота

Наш бот создан, пришло время дать разрешения и определить области действия бота. Разрешение относится к тому, что наш бот может делать на сервере, например, отправлять сообщения. Область действия указывает на то, какую роль будет выполнять бот.

Шаг 1: Нажмите OAuth2 и щелкните Генератор URL, вы увидите несколько флажков, относящихся к разным областям. Для этого бота мы собираемся использовать только область действия бота, нажав на флажок Bot.

мите OAuth2 и щелкните Генератор UR

Шаг 2: Следующие флажки — это разрешение для нашего ящика. Мы собираемся дать этому боту разрешение отправлять и отвечать на сообщения, поэтому установите все флажки, связанные с этим. Вы всегда можете изменить эти разрешения позже и создать новый URL-адрес.

ющие флажки — это разрешение для нашего я

Шаг 3: Прокрутите вниз, и вы увидите URL-адрес, сгенерированный для бота, нажмите на копию, чтобы скопировать этот URL-адрес.

е вниз, и вы увидите URL-адрес, сгенерированный для бота

Шаг 4: Вставьте скопированный URL-адрес в новую вкладку, здесь мы собираемся авторизовать нашего бота на сервере. Выберите сервер, который мы создали ранее, и нажмите «Продолжить».

ированный URL-адрес в новую вкладку, здесь мы собираемся автори

Шаг 5: Здесь вы увидите разрешения бота. Если вы хотите, чтобы вы могли редактировать их, нажмите «Авторизовать».

ли вы хотите, чтобы вы могли редактировать их, нажмит

Шаг 6: Подтвердите, что вы человек с капчей, и бот должен быть авторизован сейчас.

вердите, что вы человек с капчей, и бот дол

Шаг 7: Перейдите на сервер, и вы увидите имя бота, появившееся в списке офлайн-людей.

е на сервер, и вы увидите имя бота, появившееся в списке ом

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

В этом разделе мы собираемся написать код Python для нашего бота Discord.

Шаг 1: Мы собираемся создать файл.env для хранения ключа обновления для нашего бота, который мы скопировали выше, файл.env защитит наши учетные данные, когда мы где-нибудь разместим наш код. Сначала создайте файл с именем.env в папке проекта, а затем вставьте следующий код.

TOKEN = ‘<YOUR_KEY>’

Шаг 2: Импорт модулей

Создайте новый файл python для основного кода бота и назовите его, как хотите, и импортируйте необходимые модули.

  • discord: библиотека, предоставляемая discord для использования многофункционального API Discord.
  • os: мы используем переменные среды. Модуль os используется для их импорта.
  • random: используется для выполнения различных случайных операций над данными.
  • dotenv: импорт файла.env в основной файл Python.

Python3

import discord
import os
import random
from dotenv import load_dotenv

Шаг 3: Инициализация переменных

Python 3

load_dotenv()
client = discord.Client()
token = os.getenv('TOKEN')

Использование функции load_dotenv() для импорта переменных среды. Создание клиента разногласий для отправки запроса к API разногласий, и, наконец, мы получаем и инициализируем наш токен переменной среды.

Шаг 4: Инициализация нашего бота

Python 3

@client.event
async def on_ready():
    print("Logged in as a bot {0.user}".format(client))

Здесь мы используем событие on_ready(), предоставляемое API раздора, после того как наш клиент API инициализирует это событие, оно вызовет выполнение данной операции. Здесь мы печатаем имя нашего бота.

Шаг 5: Настройка ответов бота

  • Мы настраиваем соответствующие ответы ботов на сообщения пользователей. Событие Discord API on_message, которое принимает аргумент, так как сообщение используется для этой цели, аргумент сообщения содержит сведения о сообщении, авторе сообщения, по какому каналу сообщение было отправлено и т. д.
  • Сначала извлеките информацию о сообщении, такую ​​как имя пользователя, канал и содержание сообщения.
  • Следующая строка играет важную роль если сообщение отправляет сам бот то не отвечайте на него если это условие не прописано то бот будет бесконечно отвечать сам себе.
  • Мы собираемся активировать нашего бота на канале, который мы создаем на нашем сервере под названием random, вы также можете активировать бота на других каналах. Написание нескольких операторов if-else будет работать, но вы также можете реализовать чат-бота с помощью машинного обучения. Здесь мы реализовали несколько операторов if-else для ответа на основные сообщения, такие как привет, привет и пока, и реализовали базовый оператор, чтобы рассказать анекдот. Вы всегда можете добавить дополнительные функции и сделать своего бота более интерактивным.

Python 3

@client.event
async def on_message(message):
    username = str(message.author).split("#")[0]
    channel = str(message.channel.name)
    user_message = str(message.content)
    print(f'Message {user_message} by {username} on {channel}')
    if message.author == client.user:
        return
    if channel == "random":
        if user_message.lower() == "hello" or user_message.lower() == "hi":
            await message.channel.send(f'Hello {username}')
            return
        elif user_message.lower() == "bye":
            await message.channel.send(f'Bye {username}')
        elif user_message.lower() == "tell me a joke":
            jokes = [" Can someone please shed more\
            light on how my lamp got stolen?",
                     "Why is she called llene? She\
                     stands on equal legs.",
                     "What do you call a gazelle in a \
                     lions territory? Denzel."]
            await message.channel.send(random.choice(jokes))

Шаг 6: Запуск бота

Мы создали клиент API выше, который предоставляет функцию, вызываемую для запуска этой функции, принимает токен авторизации аргумента в качестве аргумента и запускает бота, вызывая событие on_ready.

Python 3

client.run(token)

Выход:

здали клиент API выше, который предоставл

Журнал:

здали клиент API выше, который предоставл2

Оцените статью
bestprogrammer.ru
Добавить комментарий