-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathindex.js
55 lines (48 loc) · 1.68 KB
/
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
require('dotenv').config()
const request = require('superagent')
const githubClient = require('probot/lib/github')()
const extractRepoDetails = require('./lib/utils/extractRepoDetailsFromUrl')
const analyseSentiment = require('./lib/utils/analyseSentiment')
const getUserDiscussionIssue = require('./lib/github-api/getUserDiscussionIssue')
const getUserCommentedIssues = require('./lib/github-api/getUserCommentedIssues')
const getCommentsOnIssue = require('./lib/github-api/getCommentsOnIssue')
const createDiscussionIssue = require('./lib/github-api/createDiscussionIssue')
const createDiscussionRepo = require('./lib/github-api/createDiscussionRepo')
const addCollaboratorToRepo = require('./lib/github-api/addCollaboratorToRepo')
const { PERSPECTIVE_API_KEY, GITHUB_ACCESS_TOKEN } = process.env
const sentimentAnalyser = analyseSentiment(PERSPECTIVE_API_KEY, {
dependencies: { request }
})
githubClient.authenticate({
type: 'token',
token: GITHUB_ACCESS_TOKEN
})
const backgroundFinder = require('./lib/backgroundFinder')({
dependencies: {
extractRepoDetails,
getUserDiscussionIssue,
getUserCommentedIssues,
getCommentsOnIssue,
sentimentAnalyser,
createDiscussionIssue
}
})
const discussionBoardSetup = require('./lib/discussionBoardSetup')({
dependencies: {
createDiscussionRepo,
addCollaboratorToRepo,
githubClient
}
})
module.exports = (robot) => {
robot.log('bot started')
robot.on('installation.created', context => {
console.log('hello')
discussionBoardSetup(context)
})
robot.on('issue_comment.created', context => {
context.log('event received')
context.log('repo details', context.repo())
backgroundFinder(context)
})
}