Skip to content

woowacourse-bot/discord-bot

Repository files navigation

image

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

🛠️ Features

📌 채널 관리 권한 제한

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

📌 특정 미션 레포 링크 생성

  • 명령어 : !<미션 이름>:<지원 분야>
  • 예시 : !로또:be , !레이싱:aos, !야구:fe, !크리스마스:be

📌 특정 미션에서 특정 지원자의 이름으로 검색된 pr 목록 링크 생성

  • 명령어: !<미션 이름>:<지원 분야>:<지원자 이름>
  • 예시 : !로또:be:홍길동, !레이싱:fe:홍길동, !야구:aos:홍길동
  • 인식하는 명령어
    • 미션 이름 : 로또, 레이싱, 야구, 크리스마스
    • 지원 분야 : be, fe, aos

📌 Google 뉴스(과학/기술)링크 생성

  • 명령어 : !뉴스
  • 5개의 최신 과학/기술 뉴스링크가 생성됩니다.
  • 특정 시간마다 뉴스가 업데이트됩니다.
  • 추후 한국 경제 IT 뉴스로 변경될 수 있습니다.
image

📌 Geek 뉴스 링크 생성

  • 명령어: !긱뉴스
  • 7개의 최신 IT 뉴스가 생성됩니다.
  • 특정 시간마다 뉴스가 업데이트됩니다.
  • GeekNews ?
    • GeekNews(긱뉴스) 는 이름과 같이 Geek들을 위한 뉴스 서비스 입니다.
    • Geek은 '전자 공학이나 지성(intellectuality) 등의 한 분야 혹은 여러 분야를 탁월하게 이해하고 있는 특이한 사람'을 지칭하는 단어라고 합니다만, 여기서는 Geek = IT를 기반으로 하는 다양한 것들에 지적인 호기심을 가지고 있는 사람을 의미합니다.
image

📌 랜덤 주사위

  • 명령어: !주사위
  • 1~100사이의 랜덤한 숫자가 출력됩니다.
image

🚀 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

채널 생성 감지

채널 정보 가져오기

권한 부여

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages