본문 바로가기

Programing/python

파이썬으로 디스코드 봇 만들기 #2 - document, 함수 알아보기

 

이전편을 안보셨다면 여기를 클릭해서 봐주세요.

 

안녕하세요! 터컴입니다. 벌써 2번째 봇 강좌네요ㅎㅎ

이번에는 discord.py document, 디스코드 모듈 함수를 알아볼거에요!



코드를 짜는 단계가 아닙니다. 

여기서 async def on_ready():는 봇이 준비 되었을때 실행됩니다. 그 후 print("I'm ready")로 자신이 디스코드에 로그인 했다는걸 알려줍니다.

여기서 async def on_ready(message):는 메시지가 왔을때 그 메시지를 message라는 변수 안에 저장을 합니다.그 후 print(message.content)로 메시지 콘텐츠를 출력합니다.

(message)는 메시지 id, message author id등을 포함하고 있습니다.

 


본격적으로 코드를 짜봅시다.


import discord

app = discord.Client()

TOKEN = '여러분들이 발급받으신 TOKEN'

@app.event
async def on_ready():
    print("i'm ready!")
@app.event
async def on_message(message):
    print(message.content)

app.run(TOKEN)

봇을 추가 하시고 메시지를 쳐봅니다.

정상적으로 출력되었습니다.(오류가 난다면 댓글로 알려주세요)


이제 명령어를 만들어 보겠습니다.


import discord

app = discord.Client()

TOKEN = '여러분들이 발급받으신 TOKEN'

@app.event
async def on_ready(): #디스코드에 로그인 했을때
    print("i'm ready!") #I'm ready라고 출력
@app.event
async def on_message(message): #메시지가 왔을때
    print(message.content) #메시지 출력
    if message.content.startswith('!test'): #만약 메시지가 !test로 사직한다면
        await message.channel.send('test message!') #test message라고 답장합니다.

app.run(TOKEN) #디스코드에 로그인

실행해봅시다.

봇이 답장을 했다면 축하드립니다! 성공입니다!


다음 시간에는 embed 출력하는법, 게임을 바꾸는 법을 알아보겠습니다.

embed입니다.
Type y!help가 게임입니다.

감사합니다.