-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathoneOffTask.js
More file actions
83 lines (66 loc) · 2.37 KB
/
Copy pathoneOffTask.js
File metadata and controls
83 lines (66 loc) · 2.37 KB
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
// lead spaghetti chef: https://github.com/DragoniteSpam
// secondary spaghetti chef: https://github.com/ArgoTheNaut
"use strict";
// don't touch this stuff - unless you want to, i guess
const discordie = require("discordie");
const fs = require("fs");
const request = require("request");
const { spawn } = require("child_process");
// discord things
const client = new discordie({ autoReconnect: true });
const events = discordie.Events;
// we made these
const Skarm = require("./javascript/skarm.js");
const SkarmBot = require("./javascript/skarmbot.js");
const Encrypt = require("./javascript/encryption.js");
const Constants = require("./javascript/constants.js");
const Users = require("./javascript/user.js");
const Guilds = require("./javascript/guild.js");
const { ShantyCollection } = require('./javascript/shanties.js');
// i'm in?
var target = "../token.txt";
const token = fs.readFileSync(target).toString();
// javascript
String.prototype.replaceAll = function (search, replacement) {
return this.replace(new RegExp(search, "g"), replacement);
};
Constants.initialize();
client.connect({ token: token });
let uptimeController = {
connectTime: 0,
disconnectTime: 0
};
let bot;
// try to put all of the actual event code in skarmbot.js to keep this main
// file clean
client.Dispatcher.on(events.GATEWAY_READY, async (e) => {
if (bot) {
uptimeController.connectTime = Date.now();
Skarm.log("Came back online after " + (uptimeController.connectTime - uptimeController.disconnectTime) / 1000 + " seconds down");
return;
}
Constants.initializeDynamics(client, process);
Encrypt.initialize();
let s = new ShantyCollection(); // needs to be done for guilds to load
Users.initialize(client);
await Guilds.initialize(client);
console.log("Connected as " + client.User.username + ". Yippee!\n");
main();
});
client.Dispatcher.on(events.DISCONNECTED, e => {
console.error("Network Error: disconnected at " + (new Date()).toString());
uptimeController.disconnectTime = Date.now();
});
/**
* Enter one-off task instructions here
*/
async function main() {
// clear this random example
let messages = await client.Channels.get("asdf").fetchMessages(10);
let reactors = await msg.fetchReactions(emoji, client);
let members = client.Guilds.get("asdf").members;
membersToPrune.map(async (member) => {
await member.unassignRole(role);
});
process.exit();
}