Создание простого 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={Client ID}&scope=bot&permissions={Права, например 66395456}

Число необходимых прав можно получить в разделе настроек бота.

Теперь можно запускать бота:

python bot.py

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



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



Заключение


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



Надеюсь, статья была Вам полезна, удачи!
Источник: https://habr.com/ru/post/494600/


Интересные статьи

Интересные статьи

С точки зрения проект-менеджера и с точки зрения управления людьми, люди в депрессии — идеальные работники. Привет, Хабр. Недавно посмотрела выступление одного scrum-мастера и stand up комик...
Объединенная команда швейцарских и немецких инженеров преобразовала обычный шагающий экскаватор в автономного робота, который умеет рыть траншеи определенной конфигурации. При этом точность р...
Существует традиция, долго и дорого разрабатывать интернет-магазин. :-) Лакировать все детали, придумывать, внедрять и полировать «фишечки» и делать это все до открытия магазина.
Как широко известно, с 1 января 2017 года наступает три важных события в жизни интернет-магазинов.
Как выдумаете, сложно ли написать на Python собственного чатбота, способного поддержать беседу? Оказалось, очень легко, если найти хороший набор данных. Причём это можно сделать даже без нейросет...