readme.md 2.41 KB

전략적 팀 전투 정보제공 챗봇

리그 오브 레전드의 전략적 팀 전투 모드의 플레이 데이터를 분석하고 유행하는 전략, 아이템 등을 추천해주는 챗봇 서비스입니다.

LINE 메신저 봇 ID(@149wlczg)를 통해서 사용해 볼 수 있고 아래의 QR 코드를 통해서도 이용 가능합니다.

QR

공통 요구사항

Database 초기화

다음 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

데이터 분석 모듈은 다음 요구사항이 존재합니다.

또한 다음 명령어를 통해 라이브러리를 설치해야합니다.

$ 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

How to use

소스코드를 처음 받았으면 다음 명령어를 통해 라이브러리를 설치합니다.

$ npm install

app.js 파일의 channelToken을 발급받은 channel access token으로 설정하고 mysql.createPool()의 옵션을 데이터베이스 환경에 맞게 설정합니다.

다음 명령어를 통해 서비스를 실행합니다.

$ node app.js

Nginx나 Apache HTTP Server의 프록시 기능 등을 통해 HTTPS 연결을 활성화하고 LINE 관리자 페이지에서 Webhook URL을 등록합니다.