프로젝트/Kick-off-bot
-
kick-off-bot(3) - develop프로젝트/Kick-off-bot 2022. 1. 6. 09:06
이전에 쓴 글처럼 이제 나에게 필요한 명령어를 작성하고 그에 맞는 상호작용 옵션을 사용해서 코드를 작성해 나가면 된다. 아래는 내가 쓴 코드의 일부이다. client.on("interactionCreate", async (interaction) => { const { commandName } = interaction; if (!interaction.isCommand()) return; if (commandName === "team") { memberCount.flag = true; memberCount.splitFlag = true; await interaction.deferReply(); memberCount.a = parseInt(interaction.options.getString("a")); me..
-
kick-off-bot(2) / ping-pong프로젝트/Kick-off-bot 2021. 12. 30. 10:31
모든 프로그래밍 언어에 Hello World 명령어가 있듯이 디스코드 봇에는 ping-pong이라는 예제가 있다. 아마 간단한 통신이나 상호작용에 대한 기본적인 예제에서 ping-pong을 사용하지 않을까 한다. 그렇지만 가장 먼저 해야하는 것은 나의 봇에 명령어를 심는 과정이 필요하다. 그래야 상호작용이 가능하기 때문이다. 아래는 원하는 명령어를 봇에 등록하는 과정이다. const { SlashCommandBuilder } = require('@discordjs/builders'); const { REST } = require('@discordjs/rest'); const { Routes } = require('discord-api-types/v9'); const { clientId, guildId, ..
-
kick-off-bot(1)프로젝트/Kick-off-bot 2021. 12. 21. 23:17
본격적인 코딩에 들어가 보자, 제일 먼저 작성한 부분은 내가 만드는 봇이 어떤 권한을 가지고 어떤 행동을 할 건지에 대한 부분을 명시하는 부분이다. 어찌 보면 많이 놓치는 부분으로 썸네일 같은 에러를 보게 만드는 부분이니 봇 구현 이전에 확실하게 작성을 해두면 좋다. const { Client, MessageActionRow, MessageButton, MessageEmbed } = require("discord.js"); const { token } = require("./.config.json"); const client = new Client({ intents: [32767] }); 첫 줄은 discord.js에서 내가 사용할 모듈을 나열하여 가져왔다. 내가 생각하기에 제일 기본적인 모듈들이지 않을..
-
무엇을 먼저 알아야할까?프로젝트/Kick-off-bot 2021. 12. 19. 19:44
어떤 것이든 실행하기 전에 준비가 필요하다. 가끔 지하철에서 심심할 때 보는 마인크래프트 유튜버는 자신이 건축을 하기 위해서 준비의 준비의 준비의 준비까지 한다. 그 정도는 아니지만 그러한 준비 단계는 탄탄한 결과물을 위해 필수적인 단계이다. 먼저 크게 몇가지를 검색하다 보니 내년 4월('22년)에 디스코드에서 디스코드 봇에 대한 대규모 패치를 한다고 한다. 간단하게 설명해보자면 봇을 개발할 때 허가를 받아야 하는 부분이 생긴다는 것이다. 지금은 봇의 권한에 대해 제한이 없는데 내년부터 생긴다는 것이었다. 사실 내가 개발하는 규모에는 영향을 미치지 않아 패스할 수 있었지만 이런 정보는 굉장히 크리티컬 하기에 기억해두면 좋은 정보이다. 그다음 나는 개발 언어를 선정하려했다. 사이드 프로젝트 개발에 주로 사..
-
디스코드 봇을 만들어달라고?프로젝트/Kick-off-bot 2021. 12. 13. 11:36
어느날 친한 친구에게 자기가 가입해 있는 채널에 봇이 있으면 좋겠다고 여력이 된다면 내가 만들면 어떻겠느냐라고 연락이 왔다. 이전에도 정말 간단한 봇을 만들어 본 적이 있어서 어려울 것 같지도 않고 심심하던차에 잘 됐다 싶어서 흔쾌히 하겠다고 했다. 봇이 적용될 채널에는 대략 170 ~ 180명의 멤버를 가지고 있어서 가볍게 여길수도 없어 꽤 좋은 기회가 될 것 같았다. 채널장이 원했던 대략적인 구조는 간단했다. 평소에 자주 멤버들끼리 내전을 하는데 팀원을 가르는게 정말 귀찮고 불편했다는 것이다. 일일히 채팅창에서 a팀 b팀을 가르고 대기자들도 체크하며 진행했던 내전의 방식은 정말 비효율적이었다. 이때 생각나는 하나의 문장.... "귀찮고 불편하고 반복적인 행동을 줄이자." 채널 장이 원했던 구조는 다음..