Ma Suhyeon

Add readme

1.21 KB

1 +# 전략적 팀 전투 정보제공 챗봇
2 +리그 오브 레전드의 전략적 팀 전투 모드의 플레이 데이터를 분석하고 유행하는 전략, 아이템 등을 추천해주는 챗봇 서비스입니다.
3 +
4 +LINE 메신저 봇 ID(@149wlczg)를 통해서 사용해 볼 수 있고 아래의 QR 코드를 통해서도 이용 가능합니다.
5 +![QR](qr.png)
6 +
7 +## 공통 요구사항
8 +* [MariaDB](https://mariadb.org/) 혹은 [MySQL](https://www.mysql.com/)
9 +
10 +## Database 초기화
11 +다음 SQL문을 실행해 데이터베이스의 테이블을 초기화해줍니다.
12 +```sql
13 +CREATE TABLE `items` (
14 + `id` int(11) NOT NULL,
15 + `name` varchar(32) DEFAULT NULL,
16 + PRIMARY KEY (`id`)
17 +) ENGINE=InnoDB DEFAULT CHARSET=utf8
18 +
19 +CREATE TABLE `character_items` (
20 + `character_id` varchar(32) NOT NULL,
21 + `item` int(11) NOT NULL,
22 + `count` int(11) NOT NULL,
23 + PRIMARY KEY (`character_id`,`item`),
24 + KEY `character_items_count_IDX` (`count`) USING BTREE
25 +) ENGINE=InnoDB DEFAULT CHARSET=utf8
26 +```
27 +
28 +## Data Analysis
29 +### Requirements
30 +데이터 분석 모듈은 다음 요구사항이 존재합니다.
31 +* [Python 3](https://www.python.org/)
32 +* [Jupyter Notebook](https://jupyter.org/)
33 +* [Riot API Key](https://developer.riotgames.com/)
34 +
35 +또한 다음 명령어를 통해 라이브러리를 설치해야합니다.
36 +```console
37 +$ pip3 install requests pymysql
38 +```
39 +
40 +### How to use
41 +Jupyter Notebook으로 analysis.ipynb를 열고 riot_key 값을 발급받은 Riot API Key로 설정해주고 하단 데이터베이스 설정을 환경에 맞게 설정해준뒤 차례로 코드를 실행합니다.
42 +
43 +### 주의사항
44 +Riot Games의 Development API Key는 2분에 100개 API 호출의 제한이 있기 때문에 이로 인해 API 호출이 실패했을 경우 2분 후 다시 시도해야 합니다.
45 +
46 +## LINE Messaging API Webhook
47 +### Requirements
48 +* [Node.js](https://nodejs.org/)
49 +* [Line Messaging API](https://developers.line.biz/)
50 +
51 +### How to use
52 +소스코드를 처음 받았으면 다음 명령어를 통해 라이브러리를 설치합니다.
53 +```console
54 +$ npm install
55 +```
56 +
57 +app.js 파일의 channelToken을 발급받은 channel access token으로 설정하고 mysql.createPool()의 옵션을 데이터베이스 환경에 맞게 설정합니다.
58 +
59 +다음 명령어를 통해 서비스를 실행합니다.
60 +```console
61 +$ node app.js
62 +```
63 +
64 +Nginx나 Apache HTTP Server의 프록시 기능 등을 통해 HTTPS 연결을 활성화하고 LINE 관리자 페이지에서 Webhook URL을 등록합니다.
...\ No newline at end of file ...\ No newline at end of file