-
Notifications
You must be signed in to change notification settings - Fork 0
/
botMessage.js
87 lines (67 loc) · 2.53 KB
/
botMessage.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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
// https://seapi.c4ldas.com.br/botMessage/c4ldas
const express = require('express')
const router = express.Router()
const seURL = 'https://api.streamelements.com/kappa'
/*************************************************
// Routes //
*************************************************/
router.get('/massban', async (req, res) => {
const channelList = ['gabite_tv', 'otsukaxd', 'coreano', 'breezefps', 'piranhaagricola', 'nuuhfps', 'xandfps', 'dannyjones', 'horakawa', 'belky', 'bldcs', 'm4ndzin', 'tooug', 'tayhuhu', 'daiyana', 'pipoca__0', 'itslilii', 'amandasl7', 'tck10']
accountIdResult = []
for (element of channelList) {
const accountId = await getAccountId(element);
const helloDarkness = await botMessage(accountId, req.query.message);
accountIdResult.push(`${element}: ${JSON.stringify(helloDarkness)}`);
}
console.log(accountIdResult);
res.send(accountIdResult);
})
router.get('/:channel', async (req, res) => {
const channel = req.params.channel
const accountId = await getAccountId(channel);
const message = await botMessage(accountId, req.query.msg);
res.status(200).send(message)
})
/*************************************************
// Functions //
*************************************************/
// Get Account ID of username
async function getAccountId(channel) {
try {
const accountIdRequest = await fetch(`${seURL}/v2/channels/${channel}`, {
"method": "GET",
"headers": {
"Accept": "application/json",
"Content-Type": "application/json",
"Authorization": `Bearer ${process.env.SE_JWT_TOKEN}`
}
});
const accountIdResponse = await accountIdRequest.json();
const accountId = accountIdResponse._id;
return accountId;
} catch (error) {
console.log("getAccountId() Error:", error)
return error
}
}
// Send message as Streamelements bot
async function botMessage(accountId, chatMessage) {
try {
const messageStatusFetch = await fetch(`${seURL}/v2/bot/${accountId}/say`, {
"method": "POST",
"headers": {
"Accept": "application/json",
"Content-Type": "application/json",
"Authorization": `Bearer ${process.env.SE_JWT_TOKEN}`
},
"body": JSON.stringify({ "message": chatMessage })
});
const messageStatus = await messageStatusFetch.json();
// console.log(messageStatus);
return messageStatus;
} catch (error) {
console.log("botMessage() Error: ", error)
return error
}
}
module.exports = router