Гайд Курс по написанию дискорд бота на pycord

Начинающий
Статус
Оффлайн
Регистрация
19 Ноя 2020
Сообщения
2
Реакции[?]
0
Поинты[?]
0
В этом гайде Вы узнаете как писать бота на библиотеке pycord , с функциеми: Бан и ещё кое какие детальки.

1. Начинаем создание:
В нашей директории с ботом, это может быть обычная папка, где либо на вашем устройстве, создаём файл: main.py ( название можно изменить, это не столь важно ), далее уже открываем его через любую IDE
Чтож, для начала нужно открыть терминал, и импортировать сам 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

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))

На этом пока что все.
 
Начинающий
Статус
Оффлайн
Регистрация
26 Янв 2021
Сообщения
228
Реакции[?]
20
Поинты[?]
4K
В этом гайде Вы узнаете как писать бота на библиотеке pycord , с функциеми: Бан и ещё кое какие детальки.

1. Начинаем создание:
В нашей директории с ботом, это может быть обычная папка, где либо на вашем устройстве, создаём файл: main.py ( название можно изменить, это не столь важно ), далее уже открываем его через любую IDE
Чтож, для начала нужно открыть терминал, и импортировать сам 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

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))

На этом пока что все.
красавчик
 
Пользователь
Статус
Оффлайн
Регистрация
18 Фев 2022
Сообщения
592
Реакции[?]
100
Поинты[?]
40K
При всем уважении к потраченному на оформление темы времени, нахуя, есть же:

Пожалуйста, авторизуйтесь для просмотра ссылки.


Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Последнее редактирование:
Сверху Снизу