sleepylapis
대표칭호 없음
sleepylapis b50c05ef88e04e8db496ad93cb9ea996
제목에 적혀있듯이, 이번 강좌에서는 on_message(msg) 라는 discord.py에서 제공하는 이벤트를 활용해서 명령어를 구현해볼거에요.
이번 강좌에서는 아래의 사전지식들이 필요합니다!
- 파이썬의 조건문 (if ~ elif ~ else)
- 파이썬의 데코레이터
- 3강에서 설명드렸던 discord.py 챗봇의 기본 코드 구조
지난번에 보여드렸던 코드에서 새로운 함수를 추가해줄거에요. 아래 명령어는 !안녕
이라고 채팅을 치면, 봇이 안녕하세요
라고 답변하도록 하는 명령어에요.
import discord
token = "2강에서 생성한 봇 애플리케이션의 BOT 항목에서 token을 복사해 넣어주세요!"
client = discord.Client()
@client.event
async def on_message(message):
if message.content == "!안녕":
await message.channel.send("안녕하세요!")
client.run(token)
- @client.event 는 discord.Client에서 제공하는 데코레이터에요. 이 데코레이터는 아래의 함수를 discord.py의 이벤트를 수신하는 함수로 만들어줘요. 이벤트를 수신하는 함수를 만들기 위해서는 해당 이벤트의 이름으로 함수를 선언해주면 되요.
- on_message는 discord.py 에서 제공하는 이벤트로, 봇이 볼 수 있는 모든 영역(서버 내 텍스트채널, DM채널 등등)에서 새로운 메세지가 생성되었을때 호출되요. 이 이벤트는 함수의 인자로 메세지(discord.Message 의 객체)를 전달해요.
- on_message 함수의 인자로 전달되는 message 변수는 discord.Message의 객체에요. 이 객체를 통해서, 메세지의 텍스트(message.content), 메세지에 첨부된 파일 (message.attachments), 메세지의 작성자(message.author) 등에 접근할 수 있어요.
이제 실행해볼게요!
댓글이 없습니다.
새로운 댓글을 등록해 주세요!