본문 바로가기

Dev/Discord Bot

Discord.py로 디스코드 봇 만들기 (2) - 명령어 제작 (1)

 

이제 봇 호스팅도 내 컴퓨터로 가능하니 이제 간단한 명령어부터 차근차근 만들어 보자.

먼저 인사를 했을때 봇이 인사를 받아주는 명령어이다. 지난번에 작성한 코드에 추가하여 작성을 해보자.

 

간단하게 !Hello라고 했을 경우 안녕!이라고 답하는 코드

위 Hello라는 함수는 디스코드에서 !Hello를 했을 경우 봇이 안녕!이라고 답해주는 간단한 명령어이다.

 

명령어가 잘 되는 모습이다.

봇이 그냥 안녕이라고만 하니 좀 밋밋한 거 같다. 봇이 대답하는 곳을 살짝 바꾸어보자.

아래와 같이 코드를 수정 해보자.

 

저렇게 코드를 수정하게 되면 명령어를 쓴 사람을 봇이 맨션 하면서 대답을 해준다.

뒤에 있는. format(ctx.author.mention)은 앞에 문자열에 있는 {}에 적용되는 것이다.
ctx.author.mention이 명령어를 쓴 사람을 맨션 한다는 뜻이다.

 

이제 명령어를 사용하면 아래와 같이 봇이 대답한다.

 

맨션을 하게 된다.

지금은 !Hello라고 했을 때만 봇이 반응을 하지만, !Hello 말고 !안녕 또는 !ㅎㅇ라고 명령어를 사용했을 때도 작동하도록 수정해보자.

 

@bot.command() <- 이 부분에 코드가 살짝 추가되었다.

저 부분을 설명하자면, aliases=[] 안에 있는 글들도 하나의 명령어로 취급을 하기 때문에 Hello라는 함수가 실행된다.

 

아래는 실행 화면이다.

 

기존의 명령어인 !Hello와 새로 추가한 !ㅎㅇ, !안녕 이라는 명령어도 잘 작동하는 모습을 볼 수 있다.

 

인사를 하면 인사를 받아주는 간단한 명령어를 만들어 보았다. 다음에는 봇이 내가 한 말을 그대로 따라 하는 명령어를 만들어 볼 것이다.