저번 시간까지는 디스코드 서버에 있는 내용들을 불러오는 작업을 하였다.
서버 이름이나 메시지 내용, 채널 등 여러 가지 설정을 불러오는 과정을 하였는데 오늘은 그 수집한 테이터를 저장하는 것을 해볼 것이다.
수집한 데이터를 저장하기 위해서는 아주 다양한 방식이 있는데 xlsx으로 저장하거나 json혹은 DB 등 아주 많은 방식이 있다.
처음에는 json으로 저장하기 위해서 딕셔너리 형태로 먼저 데이터를 만들고 저장하려고 하였다. 딕셔너리에 roles이라는 이름을 만들고 많은 데이터를 append방식으로 데이터를 삽입하는 과정을 통해 저장하려고 하였지만 아직 딕셔너리 부분이 미숙한 거 같아 DB형식으로 저장하기로 변경하였다.
먼저 데이터베이스에 수집한 데이터를 저장하기 전에 구분하기 쉽도록 먼저 수집한 데이터를 저장하기 위한 변수를 생성해준다.
이렇게 역할 중에서도 여러 가지 세부 데이터를 수집해 구분하기 쉽도록 앞에는 role, channels 같은 걸로 지정하고 뒤에는 부가 데이터 이름으로 설정해 구분하기 쉽도록 변수를 지정하였다.
그다음에는 파이썬에서 데이터베이스에 접근해서 데이터를 저장하기 위해 sqlite3라는 모듈을 import 해서 사용하였다.
CREATE TABLE이라는 것을 활용해서 다음과 같이 id, name 등 저장하기 위해 roles라는 테이블을 생성해주었다.
위에서 구분하기 쉽게 생성한 변수를 데이터베이스에 저장하기위해
INSERT INTO라는 것을 활용해 roles라는 테이블에 데이터를 삽입하는 과정을 통해 수집한 데이터를 저장하는 방식으로 구성하였다..
데이터가 정상적으로 수집되고 정상적으로 데이터베이스에 저장되는지 확인하기 위해 확인해보았다.
봇을 활성화시킨 뒤 디스코드에서 백업 명령어를 입력하면
다음과 같이 수집된 데이터가 저장된 데이터베이스 파일이 생기게 된다.
생성이 된 것까지는 확인하였고 정상적으로 테이블이 생성됐고, 테이블 안에 데이터가 정상적으로 들어갔는지 확인하기 위해 생성된 데이터베이스 파일을 열어보았다.
다음과 같이 정상적으로 테이블이 생성되었고 데이터가 정상적으로 들어간 것을 확인할 수가 있었다.
여기서 좀 더 작업을 해보자면 이 수집한 데이터를 웹에서도 볼 수 있도록 제작해보았다.
다음과 같이 예쁘게 백업된 데이터를 웹에서도 확인할 수 있다.
'Discord > Dev' 카테고리의 다른 글
[ Discord ] 디스코드 백업로드 봇 만들기 - 채널, 카테고리 제거하기 (0) | 2020.04.11 |
---|---|
[ Discord ] 디스코드 백업로드 봇 만들기 - 로드하기전 구성하기 (0) | 2020.04.10 |
[ Discord ] 디스코드 백업 봇 만들기 - 메시지 불러오기 (0) | 2020.04.08 |
[ Discord ] 디스코드 백업 봇 만들기 - 채널 불러오기 (0) | 2020.04.07 |
[ Discord ] 디스코드 백업 봇 만들기 - 카테고리 불러오기 (0) | 2020.04.06 |