Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dongbot

동봇은 디스코드 서버 관리용 봇입니다.

현재 포함된 첫 기능:

  • 서버에 봇이 처음 추가되면 봇을 추가한 관리자에게 초기 설정 안내 전송 (조회 실패 시 소유자 fallback)
  • 초기 설정 메시지에서 생성 카테고리 선택 후 "방 생성 기능" 활성화
  • "방 생성" 음성 채널에 들어가면 "음성 수다방 1, 2, 3..." 자동 생성 후 이동
  • 생성된 수다방이 비면 자동 삭제
  • 동봇이 생성한 방만 삭제 (방 생성 채널은 삭제하지 않음)
  • /통화방 명령어로 현재 참여 중인 음성 수다방의 인원수/이름 수정
  • /tts 명령어로 TTS 켜기/끄기 및 언어 설정
  • /초기설정 명령어로 방생성/채팅로그/들낙로그 설정
  • /투표 명령어로 채널 지정 투표 생성(익명/공개, 현황/결과/종료)

1) 설치

Node.js 20 이상이 필요합니다.

npm install

2) 환경 변수

프로젝트 루트에 .env 파일을 만들고 값을 채워주세요.

필수:

  • DISCORD_TOKEN
  • FIREBASE_API_KEY
  • FIREBASE_AUTH_DOMAIN
  • FIREBASE_PROJECT_ID
  • FIREBASE_STORAGE_BUCKET
  • FIREBASE_MESSAGING_SENDER_ID
  • FIREBASE_APP_ID

선택:

  • FIREBASE_MEASUREMENT_ID (선택)

Firebase는 필수입니다. 값이 누락되면 봇이 시작되지 않습니다.

3) 실행

npm start

4) 동작 흐름

  1. 봇을 서버에 초대
  2. 봇을 추가한 관리자 DM으로 초기 설정 메시지 수신
  3. 초기 메시지에서 카테고리 선택 또는 "빠른 추가 (기본 위치)" 클릭
  4. 선택한 카테고리(또는 기본 위치)에 "방 생성" 채널 생성
  5. 유저가 해당 채널 입장 시 "음성 수다방 N" 생성 및 자동 이동
  6. 수다방 인원이 0명이 되면 자동 삭제

5) 명령어

  • /통화방 인원 값: 현재 참여 중인 음성 수다방 최대 인원 변경
    • 예시: /통화방 인원 3
    • 값 0은 무제한
  • /통화방 이름 값: 현재 참여 중인 음성 수다방 이름 변경
    • 예시: /통화방 이름 안녕
  • /tts O 또는 /tts o: TTS 켜기
    • /초기설정에서 선택한 TTS 입력 모드로 켜짐
      • 전용 채팅방 모드: 특정 채팅방 메시지만 읽음
      • 자유 모드: 서버 어느 채팅방에서든 읽음
    • 실행하면 봇이 내가 참여 중인 음성 채널로 입장
    • 같은 음성채널에 있는 다른 유저도 같은 조건으로 함께 사용 가능
  • /tts X 또는 /tts x: TTS 끄기
  • /tts 설정: 언어 선택 메뉴 열기 (선택한 언어로 읽기)
  • /tts 설정 한국어, /tts english 처럼 명령어 입력으로 바로 언어 변경 가능
  • /초기설정: 초기설정 패널 열기
    • TTS 입력 방식 설정
      • 전용 채팅방 모드 버튼
      • 자유 모드(어디서든) 버튼
      • 전용 TTS 채팅방 선택
    • 로그 카테고리+채널 자동 생성 버튼 (원클릭)
      • 로그 카테고리 생성
      • 📜 | 채팅-로그, 📖 | 들낙-로그 채널 생성
    • 방생성 켜기/끄기
    • 방생성 카테고리 선택
    • 채팅로그 켜기/끄기
    • 들낙로그 켜기/끄기
    • 채팅로그 채널 선택
    • 들낙로그 채널 선택
    • 들낙 멘션 설정(몇 회 이상 반복 시 어떤 역할 멘션할지)
  • /투표 채널 [유형]
    • 명령어 입력 시 "투표 생성하기" 모달 오픈
    • 주제 + 선택지(엔터 구분, 최대 10개) 입력 후 투표 메시지 생성
    • 유형: 익명투표(기본) 또는 공개투표
    • 버튼: N번 투표, 투표 결과, 투표 종료
    • 공개투표는 메시지/결과에 투표자 표시
    • 투표 종료는 관리자 또는 투표 생성자만 가능

주의:

  • 이 명령어는 동봇이 생성한 음성 수다방에서만 동작합니다.
  • 방 생성 기준 채널에서는 동작하지 않습니다.
  • TTS는 동봇이 생성한 수다방이 아니어도, 사용자가 참여한 어떤 음성 채널에서도 동작합니다.
  • 다른 채팅방 메시지는 TTS 입력으로 처리하지 않습니다.
  • 채팅로그 켜기를 누르면 로그 채널이 자동 생성되며, 메시지 삭제를 감지해 전송합니다.
  • 들낙로그 켜기를 누르면 로그 채널이 자동 생성되며, 음성채널 입장/퇴장/이동 로그를 전송합니다.

6) 권한

봇에 다음 권한이 필요합니다.

  • 채널 관리 (Manage Channels)
  • 음성 채널 이동 (Move Members)
  • 메시지 전송 (Send Messages)
  • 음성 채널 연결 (Connect)
  • 발언 (Speak)

About

discord manage bot

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages