В данной статье мы создадим Discord бот, используя при этом только Python.
Discord — это, фактически, универсальная платформа голосового и текстового общения для геймеров.
Игроки, стримеры, студенты и разработчики используют Discord, чтобы обсуждать игры, отвечать на вопросы, общаться в чате во время игры в хорошем качестве, в том числе с членами своей команды. В нем даже есть игровой магазин с критическими отзывами и возможностью подписки. По сути, это центр игровых сообществ.
Хотя есть много вещей, которые вы можете создать с помощью API Discord, в этом руководстве мы остановимся на создании бота на Python.
Чтобы создать Discord бот, вам понадобится:
Бот (сокращение от «робот») — это программа, которая выполняет автоматические, повторяющиеся и заранее определенные задачи. Боты обычно имитируют человеческое поведение или подменяют его. Поскольку все их действия автоматизированы, они работают намного быстрее, чем обычные пользователи.
Боты очень часто используются для ответов на типовые вопросы, возникающие в различных сообществах. Они действуют как своего рода представители человека для выполнения различных функций. Основной особенностью такого бота является то, что он устраняет необходимость вручную отвечать каждому участнику и полностью автоматизирует данный процесс.
В любой области деятельности всегда есть вопросы, которые пользователи задают чаще всего. И на эти вопросы каждый раз надо давать одни и те же ответы. Лучшее решение в таком случае — чат-бот.
Чат-боты, в отличии от людей, никогда не устают. Все люди могут работать только ограниченный период времени, в то время как у ботов таких ограничений нет. Использование чат-ботов в бизнесе хорошо дополняет работу людей, повышает производительность труда и сокращает человеческий труд.
При правильном использовании дружелюбного чат-бота привлечение клиентов происходит с минимальными затратами и максимальной эффективностью.
[python_ad_block]Сперва убедитесь, что на вашем компьютере установлен Python. Если его еще нет, то загрузите его с официального сайта.
Среду программирования можно использовать любую, какая вам больше нравится. Например, PyCharm, VS Code или Sublime.
Теперь идите на сайт Discord и откройте на нем Developer’s Section (раздел разработчика).
Теперь выберите опцию New application (новое приложение) в правом верхнем углу страницы и дайте вашему новому приложению имя. Как видите, можно даже добавить изображение к аватару вашего бота. Мы можем сделать это позже. Сейчас пойдем в раздел Bot (на странице слева) и выберем опцию Add bot (добавить бота).
Сделав это, перейдите в категорию OAuth2
и в секции scope
выберите опцию bot
. Далее идите в секцию Permissions
и настройте разрешения по вашему выбору.
Затем откройте ссылку под секцией scope
в новом окне и выберите сервер, на котором вы желаете видеть ваш бот.
После этого установим библиотеку discord
.
Для этого введем следующую команду:
pip install discord
Вот официальный сайт, где есть вся необходимая информация по данной библиотеке. Здесь же мы только заметим, что эта библиотека поддерживает API acync/await
.
После установки этой библиотеки откройте ваш редактор кода и создайте файл bot.py
.
Основная задача нашего тестового бота будет состоять в том, чтобы давать ответ всем пользователям на их сообщение «Hello». Но вы, конечно, можете его настроить в соответствии с вашими потребностями.
Для начала импортируем необходимые библиотеки:
import discord from discord.ext import commands
Создадим переменную Client
:
client = commands.Bot( command_prefix=" / " )
Обратите внимание, что вы можете выбрать любой префикс (например «>
«, «.
» и тому подобное).
Также имейте ввиду, что если вы хотите вызывать своего бота, ваша вызывающая команда должна иметь префикс, сохраненный в атрибуте command_prefix
.
Например, в нашем случае, чтобы вызвать бота, нужно написать /hello
, а не просто hello
.
Напишем следующий код для определения статуса бота:
@client.event async def on_ready( ): print("Bot is ready")
Это сообщение будет отображаться всякий раз, когда вы размещаете своего бота в сети. Вы также можете проверить статус бота из самого Discord.
Это сообщение подтверждает, что наш бот готов к использованию на сервере.
Теперь, когда бот готов к работе, мы можем ответить пользователям на их приветствие hello
:
@client.event async def hello( ): await ctx.send("Hi")
Эта функция задает условие, при котором, когда пользователь набирает /hello
, бот отвечает hi
.
Для запуска бота нам понадобится токен. Он находится в разделе Bot
на сайте Discord. Мы заходили туда при создании бота.
client.run(" Token ")
Замените слово Token
на ваш код. Сам токен находится рядом с аватором бота. Если вдруг его там нет, нажмите на надпись Click to Reveal Token
. Это должно сработать.
Теперь настало время запустить нашего бота!
Откройте CMD и наберите следующую команду:
bot.py
Если так не выходит, то наберите вот это:
python bot.py
Если вы правильно выполнили все предыдущие шаги, то должны увидеть сообщение Bot is ready
.
Теперь перейдем на наш сервер и введем тестовый запрос, который в нашем случае был /hello
. Мы увидим, что наш бот отвечает нам Hi
.
Точно таким же образом пишем бот для приветствия новых участников:
import os import discord from dotenv import load_dotenv load_dotenv() TOKEN = os.getenv('DISCORD_TOKEN') client = discord.Client() @client.event async def on_ready(): print(f'{client.user.name} has joined Discord!') @client.event async def on_member_join(member): await member.create_dm() await member.dm_channel.send( f'Hello {member.name}!! Welcome to Our Discord Server!' ) client.run(TOKEN)
Все может быть не так просто, как это кажется на первый взгляд. Вы обязательно должны помнить о проблемах, с которыми можете столкнуться при создании бота. Некоторые из них мы перечислили ниже:
Мы рассмотрели, как создать Discord бот на Python. Разумеется, это был простейший бот. Но вы, конечно же, можете написать свой собственный код и добавить множество различных функций, например OCR.
Спасибо за внимание и хорошего дня!
Перевод статьи «Build Your First Discord Bot Using Python».
Python предлагает набор библиотек, удовлетворяющих различные потребности в визуализации, будь то академические исследования, бизнес-аналитика или…
В Python для представления данных в двоичной форме можно использовать байты. Из этой статьи вы…
В этой статье рассказывается о том, что такое Werkzeug и как Flask использует его для…
При работе с датами часто возникает необходимость прибавлять к дате или вычитать из нее различные…
В этом руководстве мы рассмотрим, как добавить социальную аутентификацию с помощью GitHub и Google в…
В этой статье мы рассмотрим, что такое подсказки типов и чем они могут быть полезны.…