본문으로 바로가기

[파이썬으로 디스코드 봇에 기능 만들기 전 알고가기]

최종수정 2021.03.19 (작성: 푸른곰팡이빵)

 

- 해당 게시글에는 요약에 적혀있는 정보만 있습니다 -

 

 

 

[요약]

#파이썬 Asyncio

#Discord.py API 참조 주소

#@client.event 역할

#디스코드 봇 구조 파악하기

#디스코드 개발자 모드

 

 

 



1. 파이썬 Asyncio

 만들어진 코드는 위에서 아래로 한줄씩 읽습니다. 만약 코드가 길어지고, 중간에 있는 코드를 사용해야 할 상황이 오게되었을때 그것을 찾아내 사용하는건 매우 비효율적이기에 해당 기능을 사용해야합니다. 비동기 프로그래밍이라고 하며, 파이썬 3.5 버전 이상에서는 Asyncio가 해당 기능을 담당합니다.

 

#import discord -> Discord 라이브러리 (디스코드 명령어 담당)

#import asyncio -> Asyncio 라이브러리 (동시 실행기능 담당)   

 

 파이썬 3.4버전 미만에서는 사용 할 수없다.

 

 

 


2. Discord.py API 참조 주소

 디스코드 봇의 기능을 추가하면서 자주 들어가게 될 사이트입니다.


discord.py Api 참조 사이트
discordpy.readthedocs.io/en/latest/api.html#

 

 

 

 


3. @client.event 역할

 디스코드 봇이 존재하고있는 채널에서 디스코드 이벤트(입장, 퇴장, 메세지, 명령어, 태그 등) 발생하였을경우 해당 이벤트에 맞는 상호작용을 도와주는 역할이라고 생각하시면 될 것 같습니다.

 

 

 


4. 디스코드 봇 구조 파악하기

 지난번까지 진행하셨다면 디스코드 봇이 로그인이 된것을 확인 할 수 있습니다. 하지만 직접 디스코드 채널에서 확인을 해야하는 번거로움이 존재합니다. 이에 관련하여 on_ready()라는 함수가 존재합니다.

 

 

on_ready() : 정상적으로 디스코드 봇이 실행되었을때 작동하는 함수 입니다.

 

 위에 작성된 코드를 보면 디스코드 봇은 .event로 상호작용을하고 discord.py에 내장이 되어있는 함수 on_ready()등을 이용하여 여러가지 기능을 가진 디스코드 봇을 만들어낼 수 있다는것을 유추 할 수 있습니다.

 

 

 


5. 디스코드 개발자 모드

 봇을 개발하기 전 원활한 진행을 위해 개발자 모드를 켜주세요. 채팅, 음성채널의 ID를 알아내는데 필요합니다.