discord.js 4

discord.js 를 이용한 디스코드 음악 봇 만들기 (ytdl-core 심화편)

디스코드 음악봇을 만들기 위해 인터넷을 찾아보면 대표적으로 3가지의 선택지를 발견하실 수 있습니다. 1. 다른 사람이 개발한 youtube player 라이브러리 사용하기 2. Lavalink 또는 ytdl-core를 사용하여 만들기 대부분 쉬운 방법을 선택하신다면 다른 개발자분들이 만든 라이브러리를 사용합니다. 하지만 이러한 방법은 오류가 발생하였을 때 수정하기 매우 까다로우며 / 자신이 원하는 방향으로 개발하기 힘들 수 있기에 저는 YTDL-CORE를 사용하는 것을 적극적으로 추천합니다. 그래서 YTDL-CORE가 뭐야? YTDL-CORE는 유튜브 영상 다운로드 라이브러리인 youtube-dl를 업그레이드하여 제작한 라이브러리입니다. 해당 라이브러리는 유튜브를 이용할 시 얻을 수 있는 모든 정보를 가..

discord developer 2023.07.30

interaction & message 올바른 type(Interface) 지정하는 법 (discord.js / typescript)

typescript로 디스코드 개발을 시작한다면 가장 고민이 되는게 바로 interaction의 올바른 type이 무엇인지 찾아보지만 docs를 찾아봐도 나오지않아 난감할때가 있습니다. 해당 포스팅에서는 해당 interaction 또는 message type에 대해 설명하도록 하겠습니다. 직접 discord.js를 뜯어본 후 확인하였으니 개발하는데 참조하시면 되겠습니다! 1. slash commands 선언 import { CacheType, ChatInputCommandInteractionMessage } from 'discord.js'; 사용 interaction: ChatInputCommandInteraction 2. Message 선언 import { Message } from 'discord.j..

discord developer 2023.07.28

slash commands에 쿨타임 적용하기 [discord.js]

한번에 많은 명령어를 도배하듯이 사용한다면 봇이 버티기 힘들수있습니다. 그래서 setTimeout() 함수를 사용하여 간단한 쿨타임을 만들겠습니다! 전역 범위 코드 client.cooldowns = new Collection(); client.COOLDOWN_SECONDS = 1; 쿨타임 적용 코드 Client.on(Event.IntractionCreate, (interaction) => { if (!interaction.isChatInputCommand()) return; const command = interaction.client.commands.get(interaction.commandName); if (!command) { console.error(`명령어 [ ${interaction.comma..

discord developer 2023.06.30

ytdl-core를 이용하여 디스코드 음악봇 만들기 discord.js

음악봇을 만들기 위해 찾다 보면 결국 핵심은 어떻게 유튜브 영상을 리소스로 바꾸고 재생하느냐가 관건인데요. 대부분은 lavaLink 또는 스트리밍 라이브러리를 사용하시지만 직접 ytdl-core를 사용하면 다양한 기능을 사용할 수 있습니다. 이번 블로그에서는 어떻게 ytdl-core를 이용하여 디스코드 음악봇을 만들 수 있는가에 대해 설명하도록 하겠습니다! 필수 라이브러리 설치 npm install discord.js npm install ytdl-core npm install ffmpeg-static npm install @discordjs/voice libsodium-wrappers 해당 블로그는 Deleting commands | discord.js Guide (discordjs.guide)를 참고..

discord developer 2023.06.20
반응형