Added ability to request a list of subscribed users in chat

This commit is contained in:
benji7425 2017-01-08 16:23:24 +00:00
parent 4ea0035479
commit d54767eb1b
2 changed files with 28 additions and 11 deletions

View file

@ -7,6 +7,7 @@
"logRequestMessage": "!logsplease", "logRequestMessage": "!logsplease",
"subscribeRequestMessage": "!subscribe", "subscribeRequestMessage": "!subscribe",
"unsubscribeRequestMessage": "!unsubscribe", "unsubscribeRequestMessage": "!unsubscribe",
"subscribersListRequestMessage": "!sublist",
"logFile": "./log", "logFile": "./log",
"subscribersFile": "./subscribers.json" "subscribersFile": "./subscribers.json"
} }

View file

@ -63,22 +63,28 @@ var DiscordClient = {
else { else {
switch (message) { switch (message) {
case Config.subscribeRequestMessage: case Config.subscribeRequestMessage:
Subscriptions.subscribe(userID, user); Subscriptions.subscribe(channelID, userID, user);
break; break;
case Config.unsubscribeRequestMessage: case Config.unsubscribeRequestMessage:
Subscriptions.unsubscribe(userID, user); Subscriptions.unsubscribe(channelID, userID, user);
break; break;
case Config.logRequestMessage: case Config.subscribersListRequestMessage:
DiscordClient.bot.uploadFile({ DiscordClient.bot.sendMessage({
to: channelID, to: Config.channelID,
file: Config.logFile message: DiscordClient.bot.fixMessage("<@" + Subscriptions.subscribers.join("> <@") + ">")
}, (err, message) => {
if (err) Log.error("Failed to upload log file: " + message, err);
else Log.event("Uploaded log file for user " + user + "(" + userID + ")");
}); });
} }
} }
} }
else if (message === Config.logRequestMessage) {
DiscordClient.bot.uploadFile({
to: channelID,
file: Config.logFile
}, (err, message) => {
if (err) Log.error("Failed to upload log file: " + message, err);
else Log.event("Uploaded log file for user " + user + "(" + userID + ")");
});
}
}, },
checkPastMessagesForLinks: function () { checkPastMessagesForLinks: function () {
var limit = 100; var limit = 100;
@ -135,18 +141,28 @@ var Subscriptions = {
this.subscribers = obj || []; this.subscribers = obj || [];
}); });
}, },
subscribe: function (userID, user) { subscribe: function (channelID, userID, user) {
if (this.subscribers.indexOf(userID) === -1) { if (this.subscribers.indexOf(userID) === -1) {
this.subscribers.push(userID); //subscribe the user if they aren't already subscribed this.subscribers.push(userID); //subscribe the user if they aren't already subscribed
this.writeToFile(); this.writeToFile();
Log.event("Subscribed user " + (user ? user + "(" + userID + ")" : userID)); Log.event("Subscribed user " + (user ? user + "(" + userID + ")" : userID));
DiscordClient.bot.sendMessage({
to: channelID,
message: "You have successfully subscribed"
});
} }
}, },
unsubscribe: function (userID, user) { unsubscribe: function (channelID, userID, user) {
if (this.subscribers.indexOf(userID) > -1) { if (this.subscribers.indexOf(userID) > -1) {
this.subscribers.splice(this.subscribers.indexOf(userID)); this.subscribers.splice(this.subscribers.indexOf(userID));
this.writeToFile(); this.writeToFile();
Log.event("Unsubscribed user " + (user ? user + "(" + userID + ")" : userID)); Log.event("Unsubscribed user " + (user ? user + "(" + userID + ")" : userID));
DiscordClient.bot.sendMessage({
to: channelID,
message: "You have successfully unsubscribed"
});
} }
}, },
writeToFile: function () { writeToFile: function () {