개인 자료란 (JE)

  서버 커뮤니티

한국 마인크래프트 포럼

마인크래프트 자료 및 커뮤니티 플랫폼

전체 회원수 122,990명 ( +30명 )

※ 장기간 미활동 회원 제외

Profile sleepylapis 대표칭호 없음

sleepylapis b50c05ef88e04e8db496ad93cb9ea996

Profile

커뮤니티new 개발자란new 개발자 강좌new 디스코드

[discord.py] 4강 : 간단한 명령어 만들어보기 (on_message)

2020.05.08 조회 수 168 추천 수 2

제목에 적혀있듯이, 이번 강좌에서는 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) 등에 접근할 수 있어요.

이제 실행해볼게요!

9f34f5fe523674573498241f28fc2b12.png



Warning
댓글이 없습니다.

새로운 댓글을 등록해 주세요!

컨텐츠
https://www.koreaminecraft.net/files/thumbnails/180/890/002/262x150.crop.jpg?20211025201038

시험지

한마탐 5주차 (한마포 마인크래프트 탐구 영역) (10 / 25) 3

베개냥이

2021-10-25

2

https://www.koreaminecraft.net/files/thumbnails/291/881/002/262x150.crop.jpg?20211021165153

데일리픽

초간단 전투기 만들기 8

megat88

2021-10-20

4

https://www.koreaminecraft.net/files/thumbnails/850/878/002/262x150.crop.jpg?20211018191640
(포션 시리즈) 3편 - 비 3

GlassesFilm

2021-10-18

4