From 181da1a1869618fd55282ce13d2d57d41b285632 Mon Sep 17 00:00:00 2001 From: Daniel Odendahl Jr Date: Sat, 24 Jun 2017 16:33:59 +0000 Subject: [PATCH] Custom Settings --- XiaoBot.js | 39 +++++++++++++++++++++++++++++++++++---- package.json | 2 +- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/XiaoBot.js b/XiaoBot.js index e02a6ed9..a30ba0cd 100644 --- a/XiaoBot.js +++ b/XiaoBot.js @@ -52,16 +52,47 @@ client.on('warn', console.warn); client.on('commandError', (command, err) => console.error(command.name, err)); +client.on('message', (msg) => { + if (!msg.guild) return; + if (msg.author.bot || msg.member.hasPermission('ADMINISTRATOR')) return; + const topic = msg.guild.defaultChannel.topic || ''; + if (!topic.includes('')) return; + if (msg.channel.permissionsFor(client.user).has('MANAGE_MESSAGES')) msg.delete(); + msg.reply('Invites are prohibited from being posted here.'); +}); + client.on('guildMemberAdd', (member) => { - const channel = member.guild.channels.find('name', 'member-log'); + const channel = member.guild.channels.filter((channel) => { + const topic = channel.topic || ''; + if (topic.includes('')) return true; + }).first() || member.guild.channels.find('name', 'member-log'); if (!channel || !channel.permissionsFor(client.user).has('SEND_MESSAGES')) return; - channel.send(`Welcome ${member.user.username}!`); + const parseMsg = (topic) => { + if (!topic || !topic.includes('')[0] + .replace(/(\(member\))/gi, member.user.username) + .replace(/(\(server\))/gi, member.guild.name) + .replace(/(\(mention\))/gi, member.toString()); + }; + const msg = channel.topic ? parseMsg(channel.topic) : ''; + channel.send(msg || `Welcome ${member.user.username}!`); }); client.on('guildMemberRemove', (member) => { - const channel = member.guild.channels.find('name', 'member-log'); + const channel = member.guild.channels.filter((channel) => { + const topic = channel.topic || ''; + if (topic.includes('')) return true; + }).first() || member.guild.channels.find('name', 'member-log'); if (!channel || !channel.permissionsFor(client.user).has('SEND_MESSAGES')) return; - channel.send(`Bye ${member.user.username}...`); + const parseMsg = (topic) => { + if (!topic || !topic.includes('')[0] + .replace(/(\(member\))/gi, member.user.username) + .replace(/(\(server\))/gi, member.guild.name) + .replace(/(\(mention\))/gi, member.toString()); + }; + const msg = channel.topic ? parseMsg(channel.topic) : ''; + channel.send(msg || `Bye ${member.user.username}...`); }); client.on('guildCreate', async (guild) => { diff --git a/package.json b/package.json index 85f2ac99..2e764b69 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xiaobot", - "version": "25.0.2", + "version": "25.1.0", "description": "Your personal server companion.", "main": "Shard.js", "scripts": {