개발공부/기타

디스코드 봇 만들기(2) - 코드(python)

정보를드립니다 2022. 5. 3. 12:23
반응형

안녕하세요.

지난 시간에 이어서 디스코드 봇 만들기를 위한 코드작성에 대해 알아보도록 하겠습니다.

 

디스코드 봇 만들기(1) - 봇생성

안녕하세요. 디스코드 봇을 만드는 법에 대해 알아보도록 하겠습니다. 일단 디스코드 사이트로 들어갑니다. https://discord.com/ Discord | Your Place to Talk and Hang Out Discord is the easiest way to talk..

scvtwo.tistory.com

언어는 여러가지가 있지만, 파이썬을 이용해 보겠습니다.

discord.py 라이브러리 패키지를 설치가 필요합니다.

콘솔창에서 다음 명령어를 입력합니다.

pip install discord.py

그리고 다음과 같이 코드를 작성합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import discord
from discord.ext import commands
 
bot = commands.Bot(command_prefix='#')
 
@bot.event
async def on_ready():
    print(f'Login bot: {bot.user}')
 
@bot.command()
async def hello(message):
    await message.channel.send('Hi!')
 
bot.run('#OTY5MTUyNz')
cs

코드를 설명하면, 4번째 줄은 어떤 봇을 만들것인지 설정합니다. "command_prefix='#'"은 '#'을 앞에 넣어서 명령어를 실행하겠다는 의미입니다.(ex. #info, #hi 등등)

@bot.event는 이벤트 함수를 만들겠다는 것이고 함수 앞에 async가 붙는건 비동기로 실행되는 함수라는 의미입니다.

on_ready함수는 봇이 시작될 때 실행되는 이벤트함수입니다.

@bot.command은 command함수를 만들겠다는 의미입니다. def hello함수는 "#hello"를 대화창에 입력했을 경우 실행되는 함수 입니다. 

"message.channel.send('Hi!')"는 메세지가 온 채널에 'Hi!'라는 내용을 보내줍니다. 채팅창에 #hello를 사용자가 보내면 "Hi!" 메세지를 봇이 보내게됩니다.

bot.run('#OTY5MTUyNz')은 token값인 #OTY5MTUyNz 대신 봇을 생성할 때 만들어진 토큰값을 넣어주면 됩니다.

토큰값을 잃어버렷다면, 디스코드의 개발자 페이지에 들어가서 Reset Token을 버튼을 누르면 다시 생성 할 수 있습니다.

실행하면 bot이 온라인 상태로 변경되는 것을 확인할 수 있습니다.

반응형