-
디스코드 봇 만들기 (2) - 로컬 서버로 봇 활성화 시키기IT/파이썬 응용 프로그래밍 2021. 9. 15. 14:53728x90SMALL
앞 편에서 디스코드 봇을 서버로 추가하는 방법을 알아보았다. 봇 추가하는 방법을 알고 싶다면 아래 링크를 참고하자.
링크 : https://2island.tistory.com/12
봇을 추가하고 나면, 디스코드 서버에 봇이 오프라인으로 되어 있는 것이 보인다.
봇을 사용하려면 봇이 온라인 상태에 있어야 한다. 즉, 봇이랑 연결된 서버가 켜져있어야한다. 로컬에서 서버를 한번 띄워보자.
언어는 python3을 사용할 것이다.
1. 의존성 관리를 위한 가상환경 세팅
venv를 활용해서 가상환경을 세팅해 볼 것이다. venv로 프로젝트마다 의존성 정보를 다 다르게 저장하여 관리할 수 있다. 파이썬 3.3 이상을 사용하고 있다면 기본적으로 설치 되어 있다. 만약 그 이하 버전을 사용하고 있다면 따로 설치가 필요하다.
디스코드 봇을 만들 프로젝트 폴더로 이동한 후, 터미널에서 다음과 같은 명령을 내려보자. ({ }는 입력할 필요 X)
python3 -m venv {가상환경 이름}
이렇게 해주면 지정한 이름으로 가상환경이 설정된다. 가상환경은 여러개가 저장될 수 있으므로 그중에 하나의 가상환경을 사용해서 작업을 해야한다. 사용할 가상환경을 활성화를 시켜서 작업을 할 수 있다. 아래 명령처럼 터미널에 입력해보자.
source ./{가상환경 이름}/bin/activate
정상적으로 활성화가 되면, 좌측에 괄호 안에 가상환경 이름이 나타나 있을 것이다.
추가로, 작업을 완료한 후에는 가상환경을 비활성화를 시켜주어야 한다. 비활성화 명령어는 deactivate만 입력해주면 비활성화된다.
deactivate
2. discord 모듈 설치
이제 활성화 시킨 가상환경에 discord 모듈을 설치해줄 것이다.
pip3 install discord pip3 install discord.py
위 명령어로 discord 모듈을 설치해줄 수 있다. 이제 이 정보를 txt파일로 저장해둘 것이다. (만약 프로젝트를 다른 환경에서 세팅하게 되면 저장된 의존성 정보들을 통해 쉽게 모듈들을 설치할 수 있기 때문이다.)
디스코드 봇 프로젝트 폴더로 이동해보자.
pip freeze > requirements.txt
위 명령어를 터미널에서 날려보면 requirements.txt로 txt파일이 하나 만들어져 있는 것을 알 수 있을 것이다.
그 파일을 열어보면 현재 설치된 모듈들이 버전과 함께 적혀 있을 것이다.
3. 로컬 서버로 띄워보기
이제 드디어 로컬서버로 띄워볼 준비가 되었다. 우선 discord 모듈을 import 해줄 것이다.
import discord from discord.ext import commands token = 'Your Token'
그리고 token값을 넣어줘야 하는데, token값은 1편에서 봤던 discord developer portal에서 볼 수 있다.
좌측 탭에 bot을 클릭해주면, Build-A-Bot 아래에 Token이라는 글자가 보인다. 'Click to Reveal Token'을 누르면 토큰 값이 보인다.
해당 토큰 값을 위 코드의 Your Token 부분에 붙여넣자.
이제 서버를 시작하겠다는 코드를 넣어줘야한다. 그 코드는 아래와 같다.
bot = commands.Bot(command_prefix='$') bot.run(token)
먼저, $로 시작하는 명령어를 처리할 bot 변수를 선언해준다. (다른 문자로 시작하고 싶다면 다른 문자로 대체해도 된다.)
run() 메소드를 통해 token값으로 서버를 띄울 수 있다.
import discord from discord.ext import commands token = 'Your Token' bot = commands.Bot(command_prefix='$') bot.run(token)
이 상태로 프로그램을 실행해보면 아래 그림 처럼 봇이 온라인이 된 것을 볼 수 있다. 로컬 pc로 프로그램을 실행 시켜서 디스코드 봇 서버를 동작시켰기 때문에, 봇이 온라인 상태가 되었다. (로컬 pc에서 돌렸으므로, 컴퓨터가 꺼지면 자동으로 꺼진다.)
이제 봇을 켜는 것 까지 성공하였다. 다음 편에서는 커스텀 명령어를 만드는 방법을 알아볼 것이다.
728x90LIST'IT > 파이썬 응용 프로그래밍' 카테고리의 다른 글
디스코드 봇 만들기 (4) - 이벤트를 활용하여 인사 기능 만들어보기 (2) 2021.09.17 디스코드 봇 만들기 (3) - 커스텀 명령어 만들어보기 (0) 2021.09.16 디스코드 봇 만들기 (1) - 봇 서버에 추가 (0) 2021.09.14 python flask로 간편하게 REST API 서버 만들기 - (2) 간단한 REST API 구현해보기 (0) 2021.09.04 python flask로 간편하게 REST API 서버 만들기 - (1) REST API란? (0) 2021.09.02