ai/src/index.ts

42 lines
1.2 KiB
TypeScript
Raw Normal View History

2018-08-11 06:26:25 +00:00
import from './ai';
2018-08-11 01:42:06 +00:00
import config from './config';
2018-08-23 08:27:39 +00:00
2018-08-11 01:42:06 +00:00
import ReversiModule from './modules/reversi';
2018-08-11 03:19:34 +00:00
import ServerModule from './modules/server';
2018-08-11 06:26:25 +00:00
import PingModule from './modules/ping';
2018-08-11 06:53:49 +00:00
import EmojiModule from './modules/emoji';
2018-08-11 09:43:50 +00:00
import FortuneModule from './modules/fortune';
import GuessingGameModule from './modules/guessing-game';
2018-08-13 08:54:56 +00:00
import KeywordModule from './modules/keyword';
2018-08-13 21:14:47 +00:00
import WelcomeModule from './modules/welcome';
2018-08-23 08:27:39 +00:00
import TimerModule from './modules/timer';
2018-08-11 06:26:25 +00:00
import * as request from 'request-promise-native';
const promiseRetry = require('promise-retry');
2018-08-11 03:34:24 +00:00
2018-08-23 08:27:39 +00:00
console.log('starting ai...');
2018-08-11 06:26:25 +00:00
promiseRetry(retry => {
return request.post(`${config.apiUrl}/i`, {
json: {
i: config.i
2018-08-10 17:28:31 +00:00
}
2018-08-11 06:26:25 +00:00
}).catch(retry);
}).then(account => {
2018-08-23 08:27:39 +00:00
console.log('account fetched');
2018-08-11 06:26:25 +00:00
const ai = new (account);
ai.install(new PingModule());
2018-08-13 21:14:47 +00:00
ai.install(new WelcomeModule());
2018-08-11 06:53:49 +00:00
ai.install(new EmojiModule());
2018-08-11 09:43:50 +00:00
ai.install(new FortuneModule());
ai.install(new GuessingGameModule());
2018-08-11 06:26:25 +00:00
ai.install(new ReversiModule());
2018-08-23 08:27:39 +00:00
ai.install(new TimerModule());
2018-08-25 03:05:44 +00:00
if (config.serverMonitoring) ai.install(new ServerModule());
2018-08-13 08:54:56 +00:00
if (config.keywordEnabled) ai.install(new KeywordModule());
2018-08-23 08:27:39 +00:00
console.log('ai started');
2018-08-11 06:26:25 +00:00
});