-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathindex.js
89 lines (69 loc) · 2.75 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
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
88
89
const fetch = require('node-fetch');
module.exports = class ManageInviteAPIClient {
constructor (token, baseURL) {
if (!token) throw new Error('API Token is required - get it at https://manage-invite.xyz');
this.token = token;
this.baseURL = baseURL || 'https://api.manage-invite.xyz';
}
request (endpoint, method, body) {
return fetch(`${this.baseURL}${endpoint}`, {
method,
headers: {
'Authorization': `Bearer ${this.token}`,
'Content-Type': 'application/json'
},
body: body ? JSON.stringify(body) : undefined
}).then((res) => res.json());
}
fetchGuildSettings (guildID) {
return this.request(`/guilds/${guildID}/settings`, 'GET');
}
updateGuildSettings (guildID, settings) {
return this.request(`/guilds/${guildID}/settings`, 'POST', settings);
}
fetchGuildPlugins (guildID) {
return this.request(`/guilds/${guildID}/plugins`, 'GET');
}
updateGuildPlugin (guildID, pluginName, pluginData) {
return this.request(`/guilds/${guildID}/plugins/${pluginName}`, 'POST', pluginData);
}
fetchGuildBlacklistedUsers (guildID) {
return this.request(`/guilds/${guildID}/blacklisted`, 'GET');
}
addGuildBlacklistedUser (guildID, userID) {
return this.request(`/guilds/${guildID}/blacklisted/${userID}`, 'POST');
}
removeGuildBlacklistedUser (guildID, userID) {
return this.request(`/guilds/${guildID}/blacklisted/${userID}`, 'DELETE');
}
fetchGuildAlerts (guildID) {
return this.request(`/guilds/${guildID}/alerts`, 'GET');
}
createGuildAlert (guildID, inviteCount) {
return this.request(`/guilds/${guildID}/alerts/${inviteCount}`, 'POST');
}
deleteGuildAlert (guildID, inviteCount) {
return this.request(`/guilds/${guildID}/alerts/${inviteCount}`, 'DELETE');
}
fetchGuildStorages (guildID) {
return this.request(`/guilds/${guildID}/storages`, 'GET');
}
createNewGuildStorage (guildID) {
return this.request(`/guilds/${guildID}/storages`, 'POST');
}
fetchGuildLeaderboard (guildID) {
return this.request(`/guilds/${guildID}/leaderboard`, 'GET');
}
fetchGuildMember (guildID, userID) {
return this.request(`/guilds/${guildID}/members/${userID}`, 'GET');
}
addGuildMemberInvites (guildID, userID, inviteType, inviteCount) {
return this.request(`/guilds/${guildID}/members/${userID}/invites`, 'POST', {
type: inviteType,
number: inviteCount
});
}
fetchGuildMemberEvents (guildID, userID) {
return this.request(`/guilds/${guildID}/members/${userID}/events`, 'GET');
}
}