[프로젝트후기]nodejs 로만든 디스코드 봇

이ᄏᄋ·2021년 11월 20일
0

프로젝트 후기

목록 보기
3/3

깃허브 링크

🎃디스코드 봇 후기

기간: 2021.06~2021.07 약 한달 ?

만들게 된 계기

심심해서
디스코드봇 만들어보고 싶어서

만드는 과정

discord.js를 사용하였다.
구현하고 싶은 기능은 음악 틀기와
디스코드를 이용한 고양이 키우기였다.

1. 🎻리소스 그리기


고양이들을 그렸다.
많은 고양이=컨텐츠이기 때문에 4마리만 그렸습니다 ^^

2. 🎻코딩


사실 디스코드 봇은 소켓프로그래밍이라고 생각해도 된다.
방식이 똑같음 .
프로토콜을 정하고 프로토콜을 보내면 그에 맞는 액션을
서버에서 취한 후 결과를 보내주면된다.

디스코드 봇이 명령어를 이해하는 과정을 상황극으로 표현하자면..

누군가: $hi

///서버 

$로 시작하네 >이건 명령어다

뒤에글자가 hi네 >이건 ......정의 된 바에 따른 hi() 실행해야 돼!>그럼 hi()함수 실행시켜!

hi()함수 결과가 "ㅗㅜㅑ"야 > 그럼 이제 사용자에게 보내!

minkibot:ㅗㅜㅑ

이렇게 된다.

음악 봇의 경우에는 보통 youtube에서 제공하는 api를 사용하여
영상을 음악파일로 변경하여 디스코드 봇이 송출하는 방식을 사용한다 .
중요한 것은 유튜브는 api를 시간이나 요청 수로 제한하는 것이 아니라
요청마다 용량을 다르게 매겨서 자신이 배당받은 용량을 넘기면 그날 하루는 더 이상 사용 불가하게 된다. 그래서 같은 기능이라도 사용하는 용량이 다를 수 있으니 불필요한 api사용을 줄여야 한다.

🎁배포

배포는 aws로 했다.
그리고 그것이 내 패착이었다.
나는 지금 내가만든 디스코드 봇을 켜두지 않는다.
그 이유는 디스코드 봇은 앞에 붙는 $나 @같은 suffix를 통해 명령어를 인식하는데
그럴려면 사람들이 채팅을 칠때마다 일일히 확인해야된다. (더 효율적으로 만들 수 있는 방법을 아시면 알려주시기 바랍니다..)
그 말은 사람들이 채팅하나 칠때마다 aws 서버에 request 가 들어간다는 것이고 그것은 ...내가 지불할 요금이 늘어난다는 것이다.
나는 그 사실을 간과하고 프리티어 개꿀 ㅋㅋ 이러고 있다가 프리티어 사용량을 넘기고 7000원을 과금하게 되어서 그냥 인스턴스를 중지한 상태이다.
혹시 디스코드 봇을 배포할 생각이 있는 분이시면 vercel이나 heroku 같은 무료 호스팅 서비스를 찾으시길. ...

남긴 것

사람들에게 무언가를 서비스 할 때 내가 생각한 것과 다르게 사람들이 이용하는 경우가 굉장히 많다는 것과 실제 기업이 서비스 할 때 서버 유지비용이 꽤 많이 나가겠구나 라는 것을 느꼈다.

profile
미쳤다.

0개의 댓글