[TIL] 24.12.08 SUN

GDORI·2024년 12월 8일
0

TIL

목록 보기
126/143
post-thumbnail

디스코드 봇

기존에 클라이언트분들이 서버 로그를 편하게 알 수 있도록 명령어를 치면 로그를 찍어주는 디스코드 봇을 만들었었는데, 이번에는 서버 상태에 따라 알림을 일방적으로 원하는 채널에 찍어줄 수 있게 구현을 해보았다.

초간단

import { Client, GatewayIntentBits } from 'discord.js';
import { config } from '../../config/config.js';

// 디스코드 클라이언트 생성
const client = new Client({ intents: [GatewayIntentBits.Guilds] });

// 봇 토큰과 채널 ID 설정
const BOT_TOKEN = config.discord.token;
const CHANNEL_ID = config.discord.channelId;

// 디스코드 알림 함수
export const discordAlert = (message) => {
  const channel = client.channels.cache.get(CHANNEL_ID);
  if (channel) {
    channel.send(message);
  } else {
    console.error('알림 채널을 찾을 수 없습니다.');
  }
};

// 봇 로그인
client.login(BOT_TOKEN);

const channel = client.channels.cache.get(CHANNEL_ID);
여기서 채널 아이디를 얻는 방법은 디스코드 설정에서 개발자 모드를 켜야한다.

그리고 원하는 채널 오른쪽 마우스키를 누르고 채널 ID를 복사하면 된다.

채널 아이디와 토큰은 .env로 관리할 수 있도록 하자.
채널 아이디의 경우 봇의 권한이 없으면 보내지지 않기에 상관 없지만 혹시 모르니 ㅎㅎ..

profile
하루 최소 1시간이라도 공부하자..

0개의 댓글