Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

No idea

Python을 이용한 Discord 대화 봇 만들기 (2) 본문

Python

Python을 이용한 Discord 대화 봇 만들기 (2)

pro_min 2019. 5. 22. 14:02

 

저번 글에 이어서 진행하도록 하겠습니다. 다음으로 Discord 모듈을 설치해야합니다.

디스코드 모듈을 Import해서 디스코드 봇 스크립트를 작성하는 것이기 때문에 필요합니다.

 

 

cmd에서 설치를 해야 하는데, 저는 운영체제가 윈도우라서 윈도우 cmd창을 열었습니다.

그 다음으로 명령어를 칩니다. 

pip install discord

라고 쳐 주시면 다운로드가 시작 됩니다.

설치가 완료되면 이제 파이참을 열어서 프로젝트 생성 후 파이썬 소스파일을 생성합니다.

저는 firstdiscord.py라고 생성했습니다.

 

 

 

소스코드를 분석해보면

import문을 이용해 아까 설치했던 discord모듈을 불러옵니다.

 

client객체를 선언해주고

이제 봇이 무언가를 동작하는 효과를 주고 싶기 때문에 효과마다 @client.event로 시작하고

소스코드를 작성하면 됩니다.

 

비동기 함수인 async를 이용해 처음에는 on_ready()를 사용해

봇이 구동을 시작하느지 확인하기위해 , 온라인이 될 때 특정 효과를 보여줍니다.

저는 print문으로 봇의 ID값과 "botstart"라는 문구를 출력해주려 합니다.

 

그리고 저번 글에서 봇은 아직 오프라인 상태였는데, 봇이 구동되었을 때 

상태 변화를 주기 위해서 awit구문을 사용하는데, 구문 속성값을 보면 .idle 이라 되어있는데,

자기가 원하는대로 바꿔줄 수 있습니다. 참고로 onlie이면 초록불이 들어오고, idle은 노란불, 자리비움이란 상태고

ofline이라하면 불이 꺼져있는 상태가 됩니다.

그 밖에도 다른 용무중인 상태인 빨간 불이 있는데 그거는 잘 모르겠습니다. 검색하면 나오겠죠?

 

그리고 봇이 게임을 플레이하고 있는 상태로 만들고 싶어  game 값에 저는 "KartRider"라는 문구를 적었고,

activity 값에 game을 줬습니다.

 

저 코드를 스크린샷했을 때 이미 봇을 작동시킨 상황입니다. 그래서 맨 밑 콘솔 창을 보시면 아까 설정 했듯이

구동되니까 봇의 ID값이랑 문구가 출력되는 걸 보실 수 있습니다. 

 

그리고 봇의 상태도 마찬가지로 제가 아까 KartRider로 설정해서 게임 플레이 중이라 표시가 뜨고

idle로 했기 때문에 노란 불이 들어와 있는 상태이고, 봇이 켜졌다는 걸 알 수 있습니다.

 

 

이어서 소스코드를 설명하면

이번엔 On_message라고 해서 특정 메시지에 응답할 수 있게 설정해봅시다. 

자신이 원하는 특정 메시지를 if문에 작성하고

await구문에다가 그에 맞는 원하는 대답을 설정합니다.

if, await문을 그대로 여러 개를 복사해서 붙이면 다양한 특정 메시지와 그에 따른 답변을 설정하실 수 있습니다.

 

마지막으로 Client.run 에다가 저번에 말씀드렸던 봇의 해당 토큰 값을 입력해주시면 됩니다.

그래야지 그 해당 봇이 작동을 하게 됩니다. 최종적으로 테스트해보면

 

 

제가 설정해논 메시지인 'Hi' 라고 서버 채팅방에 입력을 하면

그에 맞게 설정되어있는 답변인 '안녕하세요' 가 곧바로 출력되시는 걸 보실 수 있습니다.

이렇게 간단한 Discord 채팅 봇을 만들어봤습니다. 다음 번에는 봇에게 새로운 기능들을 추가해보겠습니다.

'Python' 카테고리의 다른 글

Python을 이용한 Discord 대화 봇 만들기  (0) 2019.05.22
Comments