Начинающий
-
Автор темы
- #1
В этом гайде Вы узнаете как писать бота на библиотеке pycord , с функциеми: Бан и ещё кое какие детальки.
1. Начинаем создание:
2. Добавляем cog:
3. Бан
На этом пока что все.
1. Начинаем создание:
В нашей директории с ботом, это может быть обычная папка, где либо на вашем устройстве, создаём файл: main.py ( название можно изменить, это не столь важно ), далее уже открываем его через любую IDE
Чтож, для начала нужно открыть терминал, и импортировать сам pycord
Заходим в терминал, пишем: pip install pycord ( В данном гайде я буду использовать версию pycord 2.4.1 )
Возвращаемся к main.py
Пишем:
Вот мы и создали базового дискорд бота, который пока что ни на что не отвечает, но внешние признаки жизни даёт
Чтож, для начала нужно открыть терминал, и импортировать сам pycord
Заходим в терминал, пишем: pip install pycord ( В данном гайде я буду использовать версию pycord 2.4.1 )
Возвращаемся к main.py
Пишем:
Python:
import discord # Импортируем библиотеку
from discord.ext import commands # Определяем команды
intents = discord.Intents.all
bot = commands.Bot(command_prefix="!",intents=intents, help_command=None) # Теперь префикс нашего бота ! , далее с помощью "help_command=None", мы выключаем встроенную команду хелп, чтобы в будущем могли создать свою.
token = ("Токен вашего бота")
@bot.event
async_def():
await bot.change_presence(activity=discord.status.idle,discord.Game(name="Гайд по боту"))
print("Бот {bot.user} | ID: {bot.user.id}") # При каждом запуске бота, в консоль будет писаться данное извещение, с его именем, а также ID
bot.run(token)
2. Добавляем cog:
Cog добаляет возможность создания модулей, для удобного конструирования вашего проекта.
Пока что у нас есть только один файл в нашей директории это main.py, но сейчас в директории мы создаём папку, допустим с названием "commands", и тут же мы создаём файл ping.py, НО перед этим нужно кое-что добавить в main
# Загрузка расширения (cog) с именем "commands"
bot.load_extension('commands')
Можете добавить это в строку между @bot.event и bot.run
А теперь переходим к ping.py
Пока что у нас есть только один файл в нашей директории это main.py, но сейчас в директории мы создаём папку, допустим с названием "commands", и тут же мы создаём файл ping.py, НО перед этим нужно кое-что добавить в main
# Загрузка расширения (cog) с именем "commands"
bot.load_extension('commands')
Можете добавить это в строку между @bot.event и bot.run
А теперь переходим к ping.py
Python:
import discord
from discord.ext import commads
class PingCog(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.command()
async def ping(self, ctx):
latency = self.bot.latency * 1000 # Пинг бота в миллисекундах
await ctx.send(f'Pong! Пинг бота: {latency:.2f}ms')
def setup(bot):
bot.add_cog(PingCog(bot))
3. Бан
Python:
import discord
from discord.ext import commands
class BanCog(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.command()
async def ban(self, ctx, member: discord.Member, *, reason=None):
if ctx.author.guild_permissions.ban_members: # Проверяем, есть ли у автора права на бан
await member.ban(reason=reason)
await ctx.send(f'{member.mention} был забанен по причине: {reason}')
else:
await ctx.send('У вас нет прав на бан участников.')
def setup(bot):
bot.add_cog(BanCog(bot))
На этом пока что все.