Всем привет! Это мой первый пост на Хабре, и в нём я попытаюсь научить делать вас ботов для Discord на языке Python. Итак, приступим.
Первое, что нам нужно сделать, это установить нужные библиотеки и сам питон.
Скачиваем питон 3.9
Шаг 1.
После успешно установки нажимаем сочетание клавиш "win" + "r", в открывшемся окошке вводим cmd
![](https://habrastorage.org/getpro/habr/upload_files/a77/0b7/991/a770b7991aa7c00cd182e06d2b976a24.png)
И нажимаем "OK".
В открывшемся окне пишем "pip install discord", ждём когда всё установится, затем прописываем "pip install discord.py".
Шаг 2. Создаём аккаунт нашему боту
Переходим на портал разработчиков Discord
Cоздаём приложение
Переходим во вкладку "Bot", там нажимаем кнопку "Add bot"
В разделе Privileged Gateway Intents включаем SERVER MEMBERS INTENT и PRESENCE INTENT
Возле аватара нашего бота ищем надпись Token, под ней нажимаем кнопку copy.
![](https://habrastorage.org/getpro/habr/upload_files/8fd/c8e/0b5/8fdc8e0b5970357e781193605a2aaf5f.png)
![](https://habrastorage.org/getpro/habr/upload_files/088/ed2/b6a/088ed2b6a72599e74c56346a9c20411e.png)
Шаг 3. Теперь мы можем перейти к написанию кода
Создаём где нибудь на диске папку.
Я назову её bot. Создаём в ней файл нашего бота с форматом .py, его можно называть как угодно, но я назову его bot. Чем проще тем лучше)
Теперь можно написать первые строчки кода.
Spoiler
# Импортируем нужные библиотеки
import discord
import random
import asyncio # прежде чем написать это, проделайте шаг 1, только вместо discord и discord.py установите asyncio.
from discord.ext import commands
from discord import Embed
from discord.ext.commands import Bot
from asyncio import sleep
intents = discord.Intents.all() #Выдаём наши боту намерения, это пригодится вам, когда вы будет делать приветствие новых людей на сервере и прочее.
bot = commands.Bot(command_prefix = PREFIX, intents=intents) # Там где 'PREFIX' ставьте свой префикс по желанию. У меня это будет "-"
#Пишем первую команду.
@bot.command() #создаём команду
async def say(ctx, *, arg): # "*, arg" arg - это переменная аргумента в сообщении, а * перед ней обозначает, что всё сообщение целиком будет являться аргументом
await ctx.message.delete() #Удаляем сообщение автора команды
await ctx.send(arg) #Отправляем сообщение автора команды от имени бота.
#Теперь запускаем нашего бота
bot.run(TOKEN) # там где TOKEN, токен, который мы скопировали с портала разработчиков.
Превью команды:
![](https://habrastorage.org/getpro/habr/upload_files/ffd/9d1/299/ffd9d1299793d8fd5a1bc45d43a289d5.gif)
После этого открываем файл с помощью Python'а и ваш бот должен появиться в сети.
Надеюсь, что у вас всё получилось без труда, и вы не просто всё скопировали, а пытались понять, что да как
Удачи вам, с вами был klikis(polyhedron).
Если я что-то забыл написать, или вам что-то не понятно, то пишите в комментарии. Увидимся в следующей части!
Spoiler
P.S. Не бейте за оформление)