NAFF 디스코드 봇 만들기

전문



Discord용 봇을 직접 만들고 싶으신가요? 커뮤니티를 위한 재미있는 아이디어가 있나요? 시작하겠습니다.

이 자습서에서는 Python 라이브러리NAFF를 사용합니다.

Developer Portal에서 Discord 봇을 만드는 과정은 건너뛰겠습니다. 확실하지 않은 경우 this guide을 확인하십시오.

환경



모든 Python 프로젝트와 마찬가지로 프로젝트 작업 시 가상 환경을 사용하는 것이 좋습니다. 이는 각 프로젝트가 시스템의 다른 항목에 영향을 미치지 않음을 의미합니다. 걱정하지 마십시오. 이것은 완전한 가상 머신을 설정하는 것이 아니라 단지 작은 Python 환경을 설정하는 것입니다.

cd "[your bots directory]"
python3 -m venv venv-name

# Linux
source venv/bin/activate
# Windows
venv/Scripts/activate


간단합니다. 이제 가상 환경을 사용하고 있습니다. 돈미라면 deactivate 를 입력하십시오. 가상 환경에 대해 자세히 알아보려면 this page을 확인하십시오.

설치



파이썬 라이브러리 설치는 정말 쉽습니다! 이 명령을 입력하기만 하면 됩니다.

python3 -m pip install naff


기본 봇



먼저 정말 간단한 것을 만들어 봅시다. Discord에 연결하고 로그인했다고 말하기만 하면 됩니다.

import naff

bot = naff.Client()


@naff.listen()
async def on_ready():
    print(f"Logged in as {bot.user.username}")

bot.start("your_bot_token_here")


이제 코드를 실행하면 로그인이 표시됩니다!

명령



로그인 메시지만 보는 것은 꽤 지루합니다. 실제로 명령이 있으면 좋을 것입니다. 그래서 지금 그것을 할 수 있습니다.

이를 위해 방금 작성한 코드에 슬래시 명령ping을 추가합니다.

import naff

bot = naff.Client()


@naff.listen()
async def on_ready():
    print(f"Logged in as {bot.user.username}")

@naff.slash_command("ping", description="A ping command", scopes=[some_guild_id])
async def ping(ctx: naff.InteractionContext):
    await ctx.send("Pong")

bot.start("your_bot_token_here")


데코레이터를 분석해 보겠습니다. @naff.slash_command는 NAFF에게 코루틴이 명령임을 알려줍니다. 거기에서 다음 매개 변수가 있습니다.
Name - 첫 번째 매개변수는 명령의 이름이며 여기서는 "ping"입니다.Description - 사용자가 명령을 볼 때 표시되는 도움말 텍스트입니다.Scopes - 이 명령을 사용할 수 있는 길드는 기본적으로 모든 곳에서 사용할 수 있습니다. 테스트를 위해 테스트 길드를 사용하는 것이 좋습니다. 더 빨리 업데이트되고 실수는 비밀로 유지됩니다 😉

가지고 놀 수 있는 some more parameters이 있지만 향후 가이드를 위해 남겨둘 수 있습니다.

이제 슬래시 명령을 사용하는 NAFF 기반 디스코드 봇이 생겼습니다. 길드에서 봇을 시작하고 /ping를 입력하세요!

좋은 웹페이지 즐겨찾기