Add logging for message edits/deletions
This commit is contained in:
parent
95647b3043
commit
8e6891efab
3
env.json
3
env.json
|
@ -17,6 +17,9 @@
|
||||||
"DISCORD_LOG_CHANNEL": {
|
"DISCORD_LOG_CHANNEL": {
|
||||||
"description": "The unique ID for the channel the bot will output logs to."
|
"description": "The unique ID for the channel the bot will output logs to."
|
||||||
},
|
},
|
||||||
|
"DISCORD_MSGLOG_CHANNEL": {
|
||||||
|
"description": "The unique ID for the channel the bot will output message logs to."
|
||||||
|
},
|
||||||
"DISCORD_MEDIA_CHANNEL": {
|
"DISCORD_MEDIA_CHANNEL": {
|
||||||
"description": "The unique ID for the channel the bot will moderate images in."
|
"description": "The unique ID for the channel the bot will moderate images in."
|
||||||
},
|
},
|
||||||
|
|
|
@ -38,6 +38,7 @@ function findArray (haystack, arr) {
|
||||||
client.on('ready', () => {
|
client.on('ready', () => {
|
||||||
// Initialize app channels.
|
// Initialize app channels.
|
||||||
state.logChannel = client.channels.get(process.env.DISCORD_LOG_CHANNEL);
|
state.logChannel = client.channels.get(process.env.DISCORD_LOG_CHANNEL);
|
||||||
|
state.msglogChannel = client.channels.get(process.env.DISCORD_MSGLOG_CHANNEL);
|
||||||
state.guild = state.logChannel.guild;
|
state.guild = state.logChannel.guild;
|
||||||
|
|
||||||
logger.info('Bot is now online and connected to server.');
|
logger.info('Bot is now online and connected to server.');
|
||||||
|
@ -65,6 +66,38 @@ client.on('guildMemberAdd', (member) => {
|
||||||
member.addRole(process.env.DISCORD_RULES_ROLE);
|
member.addRole(process.env.DISCORD_RULES_ROLE);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
client.on('messageDelete', message => {
|
||||||
|
if (Boolean(message.content) && !message.content.startsWith('.')) {
|
||||||
|
const deletionEmbed = new discord.RichEmbed()
|
||||||
|
.setAuthor(message.author.tag, message.author.displayAvatarURL)
|
||||||
|
.setDescription(`Message deleted in ${message.channel}`)
|
||||||
|
.addField('Content', message.cleanContent, false)
|
||||||
|
.setTimestamp()
|
||||||
|
.setColor('RED');
|
||||||
|
|
||||||
|
state.msglogChannel.send(deletionEmbed);
|
||||||
|
logger.info(`${message.author.username} ${message.author} deleted message: ${message.cleanContent}.`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
client.on('messageUpdate', (oldMessage, newMessage) => {
|
||||||
|
const oldM = oldMessage.cleanContent;
|
||||||
|
const newM = newMessage.cleanContent;
|
||||||
|
|
||||||
|
if (Boolean(oldM) && Boolean(newM)) {
|
||||||
|
const editedEmbed = new discord.RichEmbed()
|
||||||
|
.setAuthor(oldMessage.author.tag, oldMessage.author.displayAvatarURL)
|
||||||
|
.setDescription(`Message edited in ${oldMessage.channel} [Jump To Message](${newMessage.url})`)
|
||||||
|
.addField('Before', oldM, false)
|
||||||
|
.addField('After', newM, false)
|
||||||
|
.setTimestamp()
|
||||||
|
.setColor('GREEN');
|
||||||
|
|
||||||
|
state.msglogChannel.send(editedEmbed);
|
||||||
|
logger.info(`${oldMessage.author.username} ${oldMessage.author} edited message from: ${oldM} to: ${newM}.`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
client.on('message', message => {
|
client.on('message', message => {
|
||||||
if (message.author.bot && message.content.startsWith('.ban') === false) { return; }
|
if (message.author.bot && message.content.startsWith('.ban') === false) { return; }
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
const State = function () {
|
const State = function () {
|
||||||
this.guild = null;
|
this.guild = null;
|
||||||
this.logChannel = null;
|
this.logChannel = null;
|
||||||
|
this.msglogChannel = null;
|
||||||
this.warnings = [];
|
this.warnings = [];
|
||||||
this.responses = null;
|
this.responses = null;
|
||||||
this.bans = [];
|
this.bans = [];
|
||||||
|
|
Loading…
Reference in New Issue