개인 자료란 (JE)

  서버 커뮤니티

Profile sleepylapis 대표칭호 없음

sleepylapis b50c05ef88e04e8db496ad93cb9ea996

Profile

커뮤니티 소통 개발하기 디스코드

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

2020.05.08 조회 수 774 추천 수 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
댓글이 없습니다.

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

뉴스 및 창작물
/files/thumbnails/150/925/003/262x150.crop.jpg?20241123005717

건축

응답하라 1988 ?

팀뉴일리시

2024-11-23

1

/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 5

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2

/files/thumbnails/219/899/003/262x150.crop.jpg?20241009200950

건축

송전탑+도시 2

dbasd12

2024-10-09

2

/files/thumbnails/246/898/003/262x150.crop.jpg?20241008102328

레드스톤

단다단 - 오토노케(オトノケ) | 마인크래프트 노트블럭 커버

노트블럭전문가

2024-10-08

1