디스코드 서버 내 스터디 관리용으로 개발하는 간단한 토이 프로젝트입니다.
BOJ 문제 검색 (solved.ac 검색기능 활용)
스터디 멤버 커밋 체크
벌금 관리
랭킹 시스템?
투표 시스템?
(HARD) 음악 봇 ?
로아 디스코드 봇은 로아를 안해서... 당분간 중단하고 ㅜ 알고리즘 스터디를 하게 되어서 디스코드 봇으로 스터디 운영에 도움 + 봇 개발은 계속 하고싶어서 간단한 토이프로젝트를 계획하게 되었습니다.
이번 연재에서는 좀 더 차근차근 진행해보고자 합니다.
discord==1.7.3
pynacl==1.4.0
requests==2.25.1
urllib3==1.26.6
beautifulsoup4==4.9.3
websockets==9.1
가상환경을 만드신 뒤 프로젝트 requirements.txt에 그대로 복사하시고 터미널에 pip install requirements.txt를 타이핑하시면 준비 끝. 저기서 안쓰는 것도 있긴할텐데... 일단 저는 다 쓸거라서.. 허허
IDE은 편한거 쓰시면 됩니다. 저는 IDE은 Pycharm, 가상환경 관리는 conda를 씁니다.
https://discord.com/developers/applications
링크에서 Application을 만들고, Bot 텝에서 Bot이 되도록 활성화하신 뒤 (이 때 TOKEN을 복사해놓습니다.)
OAuth2 텝으로 넘어갑니다.
사진처럼 bot을 체크하시고 밑에 있는 하이퍼링크를 주소창에 타이핑하셔서 봇을 원하시는 서버에 초대할 수 있습니다.
이번 프로젝트는 깃허브에 업로드할 것이라 토큰을 잘 숨겨놓읍시다. 저는 Secure.py를 만들고 거기에 token을 잘 포개어 넣고 .gitignore에 Secure.py를 넣었습니다. 왜 py로 하였냐면 귀찮아서..
import datetime, os, sys
from discord.ext import commands
from discord.utils import get, find
# Secure
from Secure import *
@client.event
async def on_ready():
print("다음으로 로그인합니다")
print(client.user.name)
print(client.user.id)
print(client.get_all_channels())
print("================")
#test
@client.command(name="ping",
brief = "test 명령입니다")
async def _ping(ctx):
await ctx.send('pong')
client.run(token)
실행시키면 on_ready 함수가 실행되면서 로그가 뜨고 초대된 봇이 켜집니다.
테스트용 함수 ping을 사용하여 잘 작동하나 확인해봅시다.
EASY 합니다.
가장 먼저 Solved.ac의 검색 기능을 이용해서 BOJ 문제를 난이도와 유형별로 쉽게 검색할 수 있는 기능을 추가하고자 합니다.