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

Обзор функционала бота
В первую очередь следует настроить командную строку. Посредством нее бот выполняет свои функции. Для этого необходимо выполнить следующее:
- Проверьте наличие бота в списке участников (если его там нет, значит, не был пройден процесс авторизации);
- В любом из текстовых чатов введите команду «+help» или «/help»;
- Введенные символы будут означать активацию взаимодействия с ботом, о чем подробно будет написано в ответном сообщении.
В момент активации командной строки станут доступными основные функции бота, заложенные его разработчиками. Для получения боле подробной информации можно перейти на официальный сайт, откуда был скачан конкретный бот.

Предоставление прав доступа
После ознакомления с функционалом бота, необходимо выполнить следующий этап настроек — присвоение роли. Сделать это можно таким образом:
- Нажмите на строку с названием сервера, чтобы открыть его меню;
- Выберите раздел «Настройки сервера»;
- Нажмите на пункт «Роли»;
- Выберите тип роли, соответствующей конкретному боту, или выберите запуск прав администратора;
- Нажмите на пункт «Права текстовых каналов»;
- Выберите строку «Отправлять сообщения».
Аналогичным образом происходит настройка остальных прав участника. Отредактировать доступ к определенным правам можно в любой момент. При возникновении проблем бот отправит сообщение с указанием на это.

Настройка роли
В некоторых случаях может потребоваться присвоение специфической роли. Иногда пользователи объединяют ботов в отдельную группу. Для присвоения дополнительной роли сделайте следующее:
- Нажмите на раздел «Управление участниками»;
- Выберите пункт «Участники»;
- Найдите в списке бот, для которого необходимо ввести изменения;
- Нажмите на знак «+» рядом с названием бота;
- Выберите подходящую роль из списка (также можно воспользоваться строкой поиска).
Любую роль можно заменить или удалить, действуя по вышеописанному алгоритму.

Настройка бота Discord в мобильном приложении
Зачастую создание бота в мобильной версии Дискорда вызывает у пользователей затруднения. Однако его настройка происходит довольно легко и просто.

Использование функции командной строки
Для ознакомления со свойствами бота и его возможностями необходимо выполнить следующие действия:
- Зайдите на сервер;
- Сделайте свайп влево;
- Откроется список участников;
- Убедитесь, что бот активирован (будет включен значок «В сети»);
- Войдите в текстовый чат;
- Введите команду «+help»;
- Ознакомьтесь с правилами пользования ботом и его функциями.

Добавление роли и редактирование прав
Порядок действий схож с алгоритмом настройки для ПК:
- Нажмите на название сервера;
- Войдите в «Настройки»;
- Перейдите в блок «Управление участникам/и»;
- Нажмите пункт «Роли»;
- Задайте необходимый параметр.
Для каждой роли есть свои индивидуальные настройки: выбор цвета, смена имени, обособление от других участников. Для универсальных ботов лучше применить доступ на правах администратора, активировав соответствующий переключатель.
Частые вопросы:
- Как удалить бота в Discord на сервере
- Как сделать бота, выдающего роли в Discord
- Что такое Дискорд Онлайн, и как им пользоваться
- Как написать своего бота для использования в Discord
Создаём Discord-бота на Python
Сегодня мы напишем Discord-бота с помощью Python и discord.py. А также посмотрим на примеры ботов.
Всем привет, сегодня мы напишем Discord-бота на Python и discord.py + бонусом посмотрим на примеры ботов. Приступим ?
Перед работой
Перед тем, как начать, вам нужны:
- Python 3;
- discord.py;
- Discord-аккаунт и свой сервер.
Для установки discord.py воспользуйтесь пакетным менеджером:
pip3 install discord.py
Создаём нашего бота
Перейдите на Developer Portal и нажмите на New application.
Вы создали своё приложение, на странице приложение перейдите в Bot >> Add Bot и создайте своего Discord-бота.
Сохраните токен бота! Дальше он нам понадобится!
Если всё прошло успешно, поздравляю, половина дела сделана ?
Добавление бота на сервер
Теперь можно добавить бота на сервер.
Перейдите в OAuth2 >> URL Generator, в Scopes выбираем Bot и ниже — права бота, копируем сгенерированный URL. Вставляем в браузер, и добавляем на наш сервер.
Эхо-бот
Напишем традиционного эхо-бота, и разберём каждую строчку кода.
import discord from discord.ext import commands config = < 'token': 'your-token', 'prefix': 'prefix', >bot = commands.Bot(command_prefix=config['prefix']) @bot.event async def on_message(ctx): if ctx.author != bot.user: await ctx.reply(ctx.content) bot.run(config['token'])
import discord from discord.ext import commands
Нужные нам импорты.
config =
Вспомогательный словарь config в котором храним токен и префикс команд (далее расскажу зачем нужен префикс команд).
bot = commands.Bot(command_prefix=config['prefix'])
Создаём нашего бота, в аргументе передаём префикс.
@bot.event
Декоратор, предназначенный для обработки событий, подробнее здесь.
async def on_message(ctx):
Создаём асинхронную функцию, с параметром ctx, представляет из себя сообщение.
if ctx.author != bot.user:
Проверка, не является ли автор сообщения нашим Discord-ботом. Дело в том, что если бот отправит сообщение, это будет новым событием, и тогда получается цикл.
await ctx.reply(ctx.content)
Отвечаем на сообщение (ctx.reply), в аргументы передаём сообщение (ctx.content).
bot.run(config['token'])
Запускаем нашего бота, в аргументы передаём токен бота.
Надеюсь вы разобрались с кодом, и мы можем переходить далее.
Обработка команд
Перед тем, как обрабатывать команды, нам пригодится наш префикс.
import random import discord from discord.ext import commands config = < 'token': 'your-token', 'prefix': '$', >bot = commands.Bot(command_prefix=config['prefix']) @bot.command() async def rand(ctx, *arg): await ctx.reply(random.randint(0, 100)) bot.run(config['token'])
@bot.command()
Декоратор обработки команд
async def rand(ctx, *arg):
Асинхронная функция rand
await ctx.reply(random.randint(0, 100))
Отвечаем на сообщение, в аргументы передаём случайное число от 0 до 100
Бонус
import random import discord from discord.ext import commands config = < 'token': 'your-token', 'prefix': '$', >bot = commands.Bot(command_prefix=config['prefix']) @bot.command() @commands.has_role("Хозяин") async def rand(ctx, *arg): await ctx.reply(random.randint(0, 100)) bot.run(config['token'])
import discord from discord.ext import commands config = < 'token': 'your-token', 'prefix': '$', >bot = commands.Bot(command_prefix=config['prefix']) @bot.command() async def kick(ctx, user : discord.User(), *arg, reason='Причина не указана'): await bot.kick(user) await ctx.send('Пользователь был изгнан по причине ""') bot.run(config['token'])
Создание простого Discord бота с помощью библиотеки discord.py
Асинхронная библиотека discord.py содержит все что нужно для бота, с помощью нее даже можно работать с голосовыми каналами сервера. В этой статье я расскажу как создать простенького бота для вашего discord сервера.
Получение токена и Client ID для вашего бота
Для получения токена и ID бота небходимо создать свое приложение и в разделе General Information скопировать Client ID.

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

Собственно пишем бота
Устанавливаем discord.py с помощью pip:
pip install discord
После успешной установки создаем файл bot.py, где будем писать бота.
Импортируем все необходимое:
import discord from discord.ext import commands
Создаем переменную с вашим токеном, про который я писал выше:
TOKEN = 'Ваш токен'
Про токен
Хотя еще рано, но если вы захотите залить вашего бота на какой-нибудь сервер, то стоить побеспокоится о безопасности вашего токена.
Создаем тело бота:
bot = commands.Bot(command_prefix='!') #инициализируем бота с префиксом '!'
Для начала сделаем простенькую команду, аргумент которой бот будет просто пересылать:
@bot.command(pass_context=True) #разрешаем передавать агрументы async def test(ctx, arg): #создаем асинхронную фунцию бота await ctx.send(arg) #отправляем обратно аргумент
И в конце запускаем бота с вашим токеном:
bot.run(TOKEN)
В итоге должно получится вот такое:
import discord from discord.ext import commands TOKEN = 'Ваш токен' bot = commands.Bot(command_prefix='!') @bot.command(pass_context=True) # разрешаем передавать агрументы async def test(ctx, arg): # создаем асинхронную фунцию бота await ctx.send(arg) # отправляем обратно аргумент bot.run(TOKEN)
Теперь необходимо добавить бота на сервер. Сделать это можно с помощью ссылки:
https://discordapp.com/oauth2/authorize?&client_id=&scope=bot&permissions=
Число необходимых прав можно получить в разделе настроек бота.
Теперь можно запускать бота:
python bot.py
После нескольких секунд, можно заметить его в сети:

И наконец-то попробовать отправить команду:

Заключение
Вот так можно легко запустить у себя на сервере бота. Как можно заметить библиотека делает практически все за тебя и остается только добавлять свой функционал с использованием python. В следующий раз я покажу как следить за событиями, подключатся к голосовым каналам (избегая проблем с linux и Windows), использовать роли и права участников и другое.

Надеюсь, статья была Вам полезна, удачи!
Создание бота на основе discord.py. Часть 1
Это первая статья про создание бота для Discord. В конце статьи находятся ссылки на следующие части, со временем они будут дополняться. Статьи следуют друг за другом, без каких-либо «информационных дыр». Если нашли опечатку или неточность, отпишите о проблеме в комментариях или в личных сообщениях, максимально оперативно всё поправим! А теперь переходим непосредственно к созданию бота.
В данной части
- Создание тестового сервера
- Включение режима разработчика
- Создание приложения и получение токена
- Добавление бота на сервер
- Установка библиотеки discord.py
- Первые строчки кода
Создание сервера
Гайд будет максимально подробный, поэтому и начинать будем с создания тестового сервера. Зачем он нужен? Лишь для вашего удобства и безопасности, если у вас уже есть большой сервер, тем более не стоит сразу добавлять на него разрабатываемого бота. Никто не защищён от багов и дыр в безопасности.

- Заходим в дискорд
- Слева видим список серверов, листаем в самый низ до кнопки «Создать сервер«.
- Создаём сервер по любому из предложенных шаблонов.
Включаем режим разработчика
Это необязательно, но очень желательно. В режиме разработчика появляются некоторые полезные элементы для удобства разработки, например, в меню пользователя появляется пункт, который позволяет скопировать его ID.

Чтобы включить этот режим, заходим в настройки.

В категории «Настройки приложения» ищем «Расширенные«.

И включаем режим разработчика.

Получение токена
Для начала нам нужно зайти на страницу создание приложений и нажать New Application.

После этого вам предложат назвать ваше приложение (Потом можно будет изменить).

После создания, попадаем на страницу настройки приложения. В меню выбираем «Bot«.

На данной странице нажимаем на «Add Bot«. Скопируем токен и сохраним его.

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

Добавление бота на сервер
В меню ищем пункт OAuth2 –> URL Generator.

В поле SCOPES выбираем bot и applications.commands. В появившемся ниже поле выбираем Administrator, это более удобно для тестирования. Но когда бот будет работать в продакшене, лучше выставлять только те права, которые правда нужны, потому что никто не защищён от потери токена, а с правами администратора это может стать очень большой проблемой.

Копируем появившеюся ниже ссылку и вставляем в адресную строку браузера. Если у вас не выполнен вход в браузере, его необходимо произвести. После чего выбираем тестовый сервер из списка и нажимаем «Продолжить» и далее «Авторизовать«.

Ура! Наш бот на тестовом сервере!

Установка библиотеки
Для начала нужно установить python, данный этап не расписан, но желательно установить версию 3.10 (Последняя версия на момент написания 3.10.5). Если у вас Windows, для проверки можете использовать следующую команду
py --version
В ответ получите версию вашего python. Устанавливать будем не стабильную, а разрабатываемую версию, для этого пропишем следующую команду. (Это можно делать уже внутри проекта). Хотя некоторые IDE устанавливаю git вместе с собой, можете скачать его отдельно.
py -m pip install git+https://github.com/rapptz/discord.py
Если всё же хотите установить стабильную, релизную версию, пропишите следующую команду.
py -3 -m pip install -U discord.py py -3 -m pip install -U discord.py[voice]
Подробнее про установку библиотеки и саму библиотеку можно прочитать тут.
Первые строчки кода
Пришло время писать код! Программирование в статьях будет происходить в PyCharm, хоть это и довольно тяжёлая IDEA, она удобная и бесплатная для студентов.
Не советую создавать проект через внутренний интерфейс, может появиться множество ненужных папок и файлов, вместо этого создадим папку проекта вручную и откроем как пустой проект.
Для этого заходим в PyCharm, далее File –> Open.

P.s. Не обращайте внимания на другую тему IDE.
В появившемся окне ищем созданную папку, выбираем её и нажимаем «Ok«. Обратите внимание на то, что нужно просто нажать по папке, а не проваливаться в неё.

Если PyCharm автоматически не создал main.py, создайте его вручную.
Вставляем код ниже и запускаем.
import discord # Подключаем библиотеку from discord.ext import commands intents = discord.Intents.default() # Подключаем "Разрешения" intents.message_content = True # Задаём префикс и интенты bot = commands.Bot(command_prefix='>', intents=intents) # С помощью декоратора создаём первую команду @bot.command() async def ping(ctx): await ctx.send('pong') bot.run('token')

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

Идём в дискорд и используем нашу первую команду.

Немного объясним данную структуру. Поскольку это обычная команда, вся информация хранится в ctx(Переменная одноимённого класса). Она имеет следующие поля:
['args', 'author', 'bot', 'channel', 'cog', 'command', 'command_failed', 'guild', 'invoked_parents', 'invoked_subcommand', 'invoked_with', 'kwargs', 'me', 'message', 'prefix', 'subcommand_passed', 'valid', 'voice_client']
И следующие команды:
['fetch_message', 'history', 'invoke', 'pins', 'reinvoke', 'reply', 'send', 'send_help', 'trigger_typing', 'typing']
Если вы знакомы с синтаксисом языка, то данный список можно получить с помощью встроенной функции dir.
print(dir(ctx))
На более правильно прочитать документацию про Context.
Заключение
Сразу отвечу всем комментаторам. Да — подобных статей море, в том числе есть официальная документация. Но поскольку в моих планах есть создать серию статей, я хотел бы, что бы в них было описано всё, начиная с самых азов.
И небольшое примечание. Статьи строятся на основании того, что у вас есть опыт и знания программирования на python.
