From 35622cb6d6a7ab969d973aacf8c786707fb322be Mon Sep 17 00:00:00 2001 From: 8cy <50817549+8cy@users.noreply.github.com> Date: Fri, 24 Jul 2020 06:33:39 -0700 Subject: big stuffs here --- server/src/Config.ts | 8 ++-- server/src/DevConfig.ts | 18 +++++++++ server/src/LiveConfig.ts | 18 --------- server/src/commands/mod/Ban.ts | 2 +- server/src/commands/mod/Kick.ts | 2 +- server/src/commands/mod/Prune.ts | 17 ++++++-- server/src/commands/mod/Slowmode.ts | 12 ++++-- server/src/database/index.ts | 2 +- server/src/json/guildMemberAdd.json | 8 ++++ server/src/json/guildMemberRemove.json | 10 +++++ server/src/listeners/client/guildMemberAdd.ts | 26 +++++++++++++ server/src/listeners/client/guildMemberRemove.ts | 27 +++++++++++++ server/src/listeners/client/message.ts | 49 ++++++++++++++++++++++++ 13 files changed, 167 insertions(+), 32 deletions(-) create mode 100644 server/src/DevConfig.ts delete mode 100644 server/src/LiveConfig.ts create mode 100644 server/src/json/guildMemberAdd.json create mode 100644 server/src/json/guildMemberRemove.json create mode 100644 server/src/listeners/client/guildMemberAdd.ts create mode 100644 server/src/listeners/client/guildMemberRemove.ts create mode 100644 server/src/listeners/client/message.ts (limited to 'server/src') diff --git a/server/src/Config.ts b/server/src/Config.ts index 407cfc7..107f357 100644 --- a/server/src/Config.ts +++ b/server/src/Config.ts @@ -1,9 +1,9 @@ -export const token: string = "NzEyMDg4MzY5MjA2OTE5MjY5.XsMd-Q.zuhGdb-S-BSdE1Gqyynp-xDutsg"; -export const prefix: string = "uwu$"; +export const token: string = "Njk5NDczMjYzOTk4MjcxNDg5.XpU5PQ.zDEhRT5HnfO0m4dyG-N86Dd1BVU"; +export const prefix: string = "uwu!"; export const owners: string[] = ['217348698294714370']; export const authorization: string = "rex-1337"; -export const clientID: string = "712088369206919269"; -export const clientSecret: string = "qpj1nsOo7HWVyNh6lY8Z8I8IvtV0bPiM"; +export const clientID: string = "699473263998271489"; +export const clientSecret: string = "2e1kWuRhXJBYorWpG8FBKIcClrdO_oeh"; export const redirectUri: string = "http://localhost:3000"; export const callbackUrl: string = "http://localhost:8088/oauth/callback"; // 8080 export const colour: string = "ecb1d1"; diff --git a/server/src/DevConfig.ts b/server/src/DevConfig.ts new file mode 100644 index 0000000..407cfc7 --- /dev/null +++ b/server/src/DevConfig.ts @@ -0,0 +1,18 @@ +export const token: string = "NzEyMDg4MzY5MjA2OTE5MjY5.XsMd-Q.zuhGdb-S-BSdE1Gqyynp-xDutsg"; +export const prefix: string = "uwu$"; +export const owners: string[] = ['217348698294714370']; +export const authorization: string = "rex-1337"; +export const clientID: string = "712088369206919269"; +export const clientSecret: string = "qpj1nsOo7HWVyNh6lY8Z8I8IvtV0bPiM"; +export const redirectUri: string = "http://localhost:3000"; +export const callbackUrl: string = "http://localhost:8088/oauth/callback"; // 8080 +export const colour: string = "ecb1d1"; +export const validIDs: string[] = [ + '385964717480476684', // Me + '612779586065006641', // Emma + '385964717480476684', // Liz + '630042587914436648', // Van + '649676743195754550' // Soph +]; +export const mongoDBUri: string = "mongodb+srv://sin:76IXEwaMsbpF7torBD@slashecx-g3uup.mongodb.net/aki-web?retryWrites=true&w=majority"; +export const emmaServer: string = "663964105983393793"; \ No newline at end of file diff --git a/server/src/LiveConfig.ts b/server/src/LiveConfig.ts deleted file mode 100644 index 107f357..0000000 --- a/server/src/LiveConfig.ts +++ /dev/null @@ -1,18 +0,0 @@ -export const token: string = "Njk5NDczMjYzOTk4MjcxNDg5.XpU5PQ.zDEhRT5HnfO0m4dyG-N86Dd1BVU"; -export const prefix: string = "uwu!"; -export const owners: string[] = ['217348698294714370']; -export const authorization: string = "rex-1337"; -export const clientID: string = "699473263998271489"; -export const clientSecret: string = "2e1kWuRhXJBYorWpG8FBKIcClrdO_oeh"; -export const redirectUri: string = "http://localhost:3000"; -export const callbackUrl: string = "http://localhost:8088/oauth/callback"; // 8080 -export const colour: string = "ecb1d1"; -export const validIDs: string[] = [ - '385964717480476684', // Me - '612779586065006641', // Emma - '385964717480476684', // Liz - '630042587914436648', // Van - '649676743195754550' // Soph -]; -export const mongoDBUri: string = "mongodb+srv://sin:76IXEwaMsbpF7torBD@slashecx-g3uup.mongodb.net/aki-web?retryWrites=true&w=majority"; -export const emmaServer: string = "663964105983393793"; \ No newline at end of file diff --git a/server/src/commands/mod/Ban.ts b/server/src/commands/mod/Ban.ts index d91731e..3e81bfb 100644 --- a/server/src/commands/mod/Ban.ts +++ b/server/src/commands/mod/Ban.ts @@ -24,7 +24,7 @@ export default class BanMod extends Command { type: 'string', prompt: { start: 'Which user would you like to ban?', - retry: 'That doesn\' seem to be a user, please try again!' + retry: 'That doesn\'t seem to be a user, please try again!' } }, { diff --git a/server/src/commands/mod/Kick.ts b/server/src/commands/mod/Kick.ts index 3295c2a..da1a91f 100644 --- a/server/src/commands/mod/Kick.ts +++ b/server/src/commands/mod/Kick.ts @@ -24,7 +24,7 @@ export default class KickMod extends Command { type: 'string', prompt: { start: 'Which user would you like to kick?', - retry: 'That doesn\' seem to be a user, please try again!' + retry: 'That doesn\'t seem to be a user, please try again!' } }, { diff --git a/server/src/commands/mod/Prune.ts b/server/src/commands/mod/Prune.ts index bf56846..55307bc 100644 --- a/server/src/commands/mod/Prune.ts +++ b/server/src/commands/mod/Prune.ts @@ -31,9 +31,20 @@ export default class PruneMod extends Command { } public exec(msg: Message, { amount }): Promise { - if (amount <= 100) amount = 99; + msg.delete(); + let limit = false; + if (amount >= 100){ + amount = 99; + limit = true; + } (msg.channel as TextChannel).bulkDelete(amount, true); - return msg.reply('Due to Discord API limitations, the amount of messages you have specified has been rounded down to **99**. (This message will automatically be deleted in 3 seconds.)') - .then(m => m.delete({ timeout: 3000 })); + if (limit) { + msg.reply('Due to Discord API limitations, the amount of messages you have specified has been rounded down to **99**. (This message will automatically be deleted in 3 seconds.)') + .then(m => m.delete({ timeout: 3000 })); + } + if (amount > 1) + return msg.reply(`**${amount}** messages have been successfully pruned!`); + else + return msg.reply(`**${amount}** message has been successfully pruned!`); } } \ No newline at end of file diff --git a/server/src/commands/mod/Slowmode.ts b/server/src/commands/mod/Slowmode.ts index 1d626ec..3aec2bd 100644 --- a/server/src/commands/mod/Slowmode.ts +++ b/server/src/commands/mod/Slowmode.ts @@ -1,5 +1,6 @@ import { Command } from 'discord-akairo'; import { Message } from 'discord.js'; +import { TextChannel } from 'discord.js'; export default class SlowmodeMod extends Command { public constructor() { @@ -39,15 +40,18 @@ export default class SlowmodeMod extends Command { public exec(msg: Message, { amount, realtime }): Promise { try { - if (amount > 120) return msg.channel.send('Due to Discord API limitations, slow mode can only be a max of **120** seconds or less!'); - - // msg.channel.setRateLimitPerUser(amount); + if (amount > 120) { + amount = 120; + msg.channel.send('Due to Discord API limitations, slow mode can only be a max of **120** seconds or less! Your specified amount has been rounded down to **120** seconds. (This message will automatically be deleted in 3 seconds.)') + .then(m => m.delete({ timeout: 3000 })); + } + (msg.channel as TextChannel).setRateLimitPerUser(amount); if (realtime) { let time = 60000 * realtime; msg.channel.send(`Slowmode has now been set to ${amount} seconds and will end in ${realtime} minutes!`); setTimeout(() => { - // msg.channel.setRateLimitPerUser(0); + (msg.channel as TextChannel).setRateLimitPerUser(0); return msg.channel.send('Slowmode has now been disabled!'); }, time); } else { diff --git a/server/src/database/index.ts b/server/src/database/index.ts index dc10553..3e56d53 100644 --- a/server/src/database/index.ts +++ b/server/src/database/index.ts @@ -2,4 +2,4 @@ import ReactionGuildModel from './models/ReactionGuildModel'; import ReactionModel from './models/ReactionModel'; import SettingsProvider from './structures/SettingsProvider'; -export { SettingsProvider }; \ No newline at end of file +export { SettingsProvider, ReactionGuildModel, ReactionModel }; \ No newline at end of file diff --git a/server/src/json/guildMemberAdd.json b/server/src/json/guildMemberAdd.json new file mode 100644 index 0000000..0cab300 --- /dev/null +++ b/server/src/json/guildMemberAdd.json @@ -0,0 +1,8 @@ +[ + "showed up!", + "finally showed up", + "has entered the swamp.", + "used warpseed to get here!", + "has entered the Gulag.", + "has come to end Dio." +] \ No newline at end of file diff --git a/server/src/json/guildMemberRemove.json b/server/src/json/guildMemberRemove.json new file mode 100644 index 0000000..36e628e --- /dev/null +++ b/server/src/json/guildMemberRemove.json @@ -0,0 +1,10 @@ +[ + "used warpspeed.", + "was Thanos snapped out of existence!", + "has left the server.", + "fled the scene.", + "left the swamp.", + "was written in the Death Note.", + "used instant transmission to escape", + "forgot to put their mask on." +] \ No newline at end of file diff --git a/server/src/listeners/client/guildMemberAdd.ts b/server/src/listeners/client/guildMemberAdd.ts new file mode 100644 index 0000000..41f7f50 --- /dev/null +++ b/server/src/listeners/client/guildMemberAdd.ts @@ -0,0 +1,26 @@ +import { Listener } from 'discord-akairo'; +import Welcome from '../../database/models/WelcomeModel'; +import { GuildMember } from 'discord.js'; +import wMRResponses from '../../json/guildMemberAdd.json'; + +export default class GuildMemberAddListener extends Listener { + public constructor() { + super('guildMemberAdd', { + emitter: 'client', + event: 'guildMemberAdd', + category: 'client' + }); + } + + public exec(member: GuildMember): void { + Welcome.findOne({ guildID: member.guild.id }, async (error, g) => { + if (error) return this.client.logger.error(`[CLIENT ERROR] ${error}`); + + const leaveMessage = await wMRResponses[Math.floor(Math.random() * wMRResponses.length)]; + //@ts-ignore + if (g) return member.guild.channels.cache.get(g.channelID).send(`${member.user.tag} (<@${member.id}>) ${leaveMessage}`); + + return; + }); + } +} diff --git a/server/src/listeners/client/guildMemberRemove.ts b/server/src/listeners/client/guildMemberRemove.ts new file mode 100644 index 0000000..f7b774e --- /dev/null +++ b/server/src/listeners/client/guildMemberRemove.ts @@ -0,0 +1,27 @@ +import { Listener } from 'discord-akairo'; +import Goodbye from '../../database/models/GoodbyeModel'; +import { GuildMember } from 'discord.js'; +import gMRResponses from '../../json/guildMemberRemove.json'; + +export default class GuildMemberRemoveListener extends Listener { + public constructor() { + super('guildMemberRemove', { + emitter: 'client', + event: 'guildMemberRemove', + category: 'client' + }); + } + + public exec(member: GuildMember): void { + Goodbye.findOne({ guildID: member.guild.id }, async (error, g) => { + if (error) return this.client.logger.error(`[CLIENT ERROR] ${error}`); + + const leaveMessage = await gMRResponses[Math.floor(Math.random() * gMRResponses.length)]; + //@ts-ignore + if (g) return member.guild.channels.cache.get(g.channelID).send(`${member.user.tag} (<@${member.id}>) ${leaveMessage}`) + .then(m => { m.react('🇫') }); + + return; + }); + } +} diff --git a/server/src/listeners/client/message.ts b/server/src/listeners/client/message.ts new file mode 100644 index 0000000..bcad42c --- /dev/null +++ b/server/src/listeners/client/message.ts @@ -0,0 +1,49 @@ +import { Listener } from 'discord-akairo'; +import { Message } from 'discord.js'; +import { emmaServer } from '../../Config'; + +export default class MessageListener extends Listener { + public constructor() { + super('message', { + emitter: 'client', + event: 'message', + category: 'client', + }); + } + + public exec(msg: Message): void { + if (msg.mentions.everyone) msg.react('👀'); + + const waterVariations = [ + 'water', + 'wader', + 'wahter', + 'wahder', + 'wata', + 'wateer' + ]; + + if (msg.guild.id === emmaServer) { + if (waterVariations.includes(msg.content.toLowerCase())) { + msg.react('733894420700594187'); + msg.react('732062891162992720'); + } + } + + const uglyVariations = [ + 'ugly', + 'ugy', + 'ugyy', + 'uggy', + 'ugee', + 'uggly', + 'uglee' + ]; + + if (msg.guild.id === emmaServer) { + if (uglyVariations.includes(msg.content.toLowerCase())) { + msg.react('733301856054280253'); + } + } + } +} -- cgit v1.2.3