-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathindex.js
34 lines (22 loc) · 980 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
var conf = require('./config');
var StatsBot = require('./src/statsbot');
var SlackAdapter = require('./src/slack-adapter');
var UserRepository = require('./src/persistence/user-repository');
var ChannelRepository = require('./src/persistence/channel-repository');
var db = require('./models');
var SlackClient = require('slack-client');
var client = new SlackClient(conf.get('slackToken'));
var adapter = new SlackAdapter(client);
var userRepository = new UserRepository(db.User);
var channelRepository = new ChannelRepository(db.Channel);
var bot = new StatsBot(adapter, {userRepository, channelRepository}, {
statsChannel: conf.get('statsChannel'),
topUnknownsToQuery: conf.get('topUnknownsToQuery'),
reportingThreshold: conf.get('reportingThreshold')
});
var reportingInterval = conf.get('reportingInterval');
var scheduler = require('./src/scheduler');
scheduler(reportingInterval, function() {
bot.reportAllChannelStatistics();
});
module.exports = bot;