/discord-bot

우테코 프리코스 디스코드 채널 관리 봇 (JS)

Primary LanguageJavaScriptMIT LicenseMIT

image

우아한테크코스 프리코스 디스코드 채널 관리용 디스코드 봇 어플리케이션입니다.

🛠️ Features

  • 채널 관리 권한 제한
    • 유저가 특정 카테고리 안에서 채널 생성시 채널에 대한 수정 및 삭제 권한을 해당 채널 생성 유저에게만 부여합니다.
    • 봇을 실행시 특정 카테고리 안에있는 기존 채널에 대한 수정 및 삭제 권한을 해당 채널 생성 유저에게만 부여합니다.

🚀 Getting Started

디스코드 봇 생성

Discord Developer Portal에 접속하여 디스코드 봇을 생성합니다.

image

생성할 봇의 이름을 작성합니다.

image

디스코드 봇 퍼미션 설정

OAuth2 항목에 URL Generator에서 ScopesBot을 체크한 후 Bot Permissions에서 Administrator를 체크 한 후 생성된 url에 접속합니다.

image

접속한 페이지에서 채널 관리 봇을 입장시킬 채널을 선택합니다.

image

프로젝트 설정

프로젝트를 클론합니다.

git clone https://github.com/discord/discord-example-app.git](https://github.com/woowacourse-bot/discord-bot.git

cd discord-bot

패키지를 설치합니다.

npm install

환경변수 적용

디스코드의 사용자 설정에서 개발자 모드를 작동시킵니다.

image

적용시킬 서버의 서버 ID를 복사한 후 환경변수의 SERVER_ID에 적용시킵니다.

image

디스코드 봇 페이지의 OAuth2의 General에서 클라이언트 ID를 복사한 후 환경변수의 CLIENT_ID에 적용시킵니다.

image

디스코드 봇 페이지의 Bot에서 Reset token을 눌러 토큰을 생성 후 환경변수의 DISCORD_TOKEN에 적용시킵니다.

image

디스코드 봇 실행

프로젝트를 실행합니다.

npm start

정상 실행시 접속 커맨드가 콘솔에 나타납니다.

Started refreshing application (/) commands.
Successfully reloaded application (/) commands.
Logged in as 채널 관리 봇#0022!

채널 관리

디스코드 봇이 작동 중인 상태에서는 스스로 만들기 채널에 대한 삭제 및 수정 권한은 어드민과 채널 생성자에게만 권한이 부여됩니다.

ex) 본인 생성 채널

image

ex) 타인 생성 채널

image

📚 Reference

채널 생성 감지

채널 정보 가져오기

권한 부여