[특강후기]JS로 디스코드 봇만들기

[특강후기]JS로 디스코드 봇만들기

좋은 기회로 디스코드 챗봇을 만드는 온라인 특강을 듣게되었다.
정말 재미있었다!

순서

vs code에 npm 설치하기

  1. npm install: npm을 설치한다.
  2. npm run dev: 설치한 npm을 실행한다.




디스코드 디벨로퍼에서 챗봇등록하기

  1. new appication 클릭
  2. add bot 클릭 후 yes do it 후 토큰을 복사



토큰을 통해서 채팅을 CR할 수 있기때문에 실제 서버에 배포한다면 토큰은 절대 공개되서는 안된다.

  1. vs code의 터미널에서 config.json에 복사한 토큰을 붙여넣는다.

  1. 디스코드 디벨로퍼 포털에서 생성한 채널을 클릭한 뒤 General Information에서 CLIENT ID 토큰 복사

  1. 디스코드 permissions calculator에서 권한주기

    • add 클릭 → 승인
  2. 디스코드에서 채널이 생성된 것을 확인하기



vs code에서 코딩하기

!투표를 이용해서 제목과 투표지를 띄어쓰기로 입력하면 해당 입력값으로 투표하기를 생성해주는 챗봇을 만들어보자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
export default async function vote(message, args) {
const voteEmojis = ["1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣"];

const question = args.shift();

if (args.length < 1 || args.length > 5) {
message.reply("One to five options are required. 선택 항목은 1-5개만 지원합니다.");
}

const embed = new MessageEmbed();

let description = "";
args.forEach((arg, i) => {
description += `${voteEmojis[i]}: ${arg}\n`;
});

embed.setTitle("🗳 " + question);
embed.setDescription(description);

const vote = await message.reply("Vote", { embed: embed });
args.forEach(async (arg, i) => {
await vote.react(voteEmojis[i]);
});
}

완성된 모습




웹소캣 vs HTTP

HTTP의 경우 클라이언트의 요청이 없으면 서버는 먼저 말을 걸 수 없다.
웹소켓은 서버가 클라이언트에게 먼저 말(메세지)을 걸수있다.




서버 확인하는 사이트

서버가 정상적인지 확인하는 사이트 : https://isitup.org/