Ma Suhyeon

Add readme

1.21 KB

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