Bot discord w pythonie – discord.py v2 od podstaw #1

Cześć, przedstawię tutaj jak stworzyć bota na discorda w pythonie, używają discord.py w wersji 2 ze slash komendami, przyciskami, modalami i innymi nowościami!

Instalacja modułu

Najpierw musimy zainstalować discord.py, aby zaimportować i używać go w naszym kodzie, możemy to zrobić, uruchamiając komendę

pip install git+https://github.com/Rapptz/discord.py

Pierwsze kroki

Najpierw w naszym kodzie musimy zaimportować discord.py

import discord

często będziemy też używać dodatku commands z discord.ext, więc od razu zróbmy

from discord.ext import commands

Możemy też (oczywiście opcjonalnie) dodać nasłuchiwanie logów od discord.py (np. zalogowanie bota czy rejestracja slash komendy). Będziemy do tego potrzebować modułu logging (import logging). Przykładowa konfiguracja:

logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s'
    '[\033[96;1m%(levelname)-8s\033[0m][\033[96m%(name)-20s\033[0m] '
    '%(message)s'
)

Teraz najwyższy czas, aby stworzyć instancje klienta (obiekt naszego bota)

bot = commands.Bot(
    command_prefix='!',
    intents=discord.Intents.all(),
    application_id=123
)

Następnie musimy podać token i zalogować bota, jest to jednak nieco bardziej skompilowane niż w poprzednich wersjach discord.py. Od teraz metoda start jest asynchroniczna, więc musimy zaimportować moduł asyncio i albo zrobić tak

asyncio.run(bot.start('token'))

albo od razu stworzyć asynchroniczną funkcję main, która będzie awaitować metodę start

async def main():
    await bot.start('token')

if __name__ == '__main__':
    asyncio.run(main())

Slash komendy opiszę w następnych artykułach 😛

Exit mobile version