aboutsummaryrefslogtreecommitdiff
path: root/src/commands/moulberry-bush/rule.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/moulberry-bush/rule.ts')
-rw-r--r--src/commands/moulberry-bush/rule.ts135
1 files changed, 79 insertions, 56 deletions
diff --git a/src/commands/moulberry-bush/rule.ts b/src/commands/moulberry-bush/rule.ts
index 300dca2..3d1f549 100644
--- a/src/commands/moulberry-bush/rule.ts
+++ b/src/commands/moulberry-bush/rule.ts
@@ -4,6 +4,68 @@ import AllowedMentions from '../../lib/utils/AllowedMentions';
import { BotCommand } from '../../lib/extensions/BotCommand';
export default class RuleCommand extends BotCommand {
+ private rules = [
+ {
+ title: "Follow Discord's TOS",
+ description:
+ "Be sure to follow discord's TOS found at <https://discordapp.com/tos>, you must be 13 to use discord so if you admit to being under 13 you will be banned from the server."
+ },
+ {
+ title: 'Be Respectful',
+ description:
+ 'Racist, sexist, homophobic, xenophobic, transphobic, ableist, hate speech, slurs, or any other derogatory, toxic, or discriminatory behavior will not be tolerated.'
+ },
+ {
+ title: 'No Spamming',
+ description:
+ 'Including but not limited to: any messages that do not contribute to the conversation, repeated messages, randomly tagging users, and chat flood.'
+ },
+ {
+ title: 'English',
+ description:
+ 'The primary language of the server is English, please keep all discussions in English.'
+ },
+ {
+ title: 'Safe for Work',
+ description:
+ 'Please keep NSFW and NSFL content out of this server, avoid borderline images as well as keeping your status and profile picture SFW.'
+ },
+ {
+ title: 'No Advertising',
+ description:
+ 'Do not promote anything without prior approval from a staff member, this includes DM advertising.'
+ },
+ {
+ title: 'Impersonation',
+ description:
+ 'Do not try to impersonate others for the express intent of being deceitful, defamation , and/or personal gain.'
+ },
+ {
+ title: 'Swearing',
+ description: 'Swearing is allowed only when not used as an insult.'
+ },
+ {
+ title: 'Only ping @emergency in emergencies',
+ description:
+ 'Pinging <@&833802660209229854> for no reason will result in severe punishment. <@&833802660209229854> is only to be pinged in true emergencies.'
+ },
+ {
+ title: 'No Backseat Moderating',
+ description:
+ 'If you see a rule being broken be broken, please report it using: `-report <user> [evidence]`.'
+ },
+ {
+ title: 'Staff may moderate at their discretion',
+ description:
+ 'If there are loopholes in our rules, the staff team may moderate based on what they deem appropriate. The staff team holds final discretion.'
+ },
+ {
+ title: "Sending media that are able to crash a user's Discord",
+ description:
+ "Sending videos, GIFs, emojis, etc. that are able to crash someone's discord will result in a **permanent** mute that cannot be appealed."
+ }
+ ];
+
public constructor() {
super('rule', {
aliases: ['rule', 'rules'],
@@ -57,69 +119,30 @@ export default class RuleCommand extends BotCommand {
`Triggered by ${message.author.tag}`,
message.author.avatarURL({ dynamic: true })
);
- const rules = {
- t1: "1.) Follow Discord's TOS",
- d1:
- "Be sure to follow discord's TOS found at <https://discordapp.com/tos>, you must be 13 to use discord so if you admit to being under 13 you will be banned from the server.",
- t2: '2.) Be Respectful',
- d2:
- 'Racist, sexist, homophobic, xenophobic, transphobic, ableist, hate speech, slurs, or any other derogatory, toxic, or discriminatory behavior will not be tolerated.',
- t3: '3.) No Spamming',
- d3:
- 'Including but not limited to: any messages that do not contribute to the conversation, repeated messages, randomly tagging users, and chat flood.',
- t4: '4.) English',
- d4:
- 'The primary language of the server is English, please keep all discussions in English.',
- t5: '5.) Safe for Work',
- d5:
- 'Please keep NSFW and NSFL content out of this server, avoid borderline images as well as keeping your status and profile picture SFW.',
- t6: '6.) No Advertising',
- d6:
- 'Do not promote anything without prior approval from a staff member, this includes DM advertising.',
- t7: '7.) Impersonation',
- d7:
- 'Do not try to impersonate others for the express intent of being deceitful, defamation , and/or personal gain.',
- t8: '8.) Swearing',
- d8: 'Swearing is allowed only when not used as an insult.',
- t9: '9.) Only ping @emergency in emergencies',
- d9:
- 'Pinging <@&833802660209229854> for no reason will result in severe punishment. <@&833802660209229854> is only to be pinged in true emergencies.',
- t10: '10.) No Backseat Moderating',
- d10:
- 'If you see a rule being broken be broken, please report it using: `-report <user> [evidence]`.',
- t11: '11.) Staff may moderate at their discretion',
- d11:
- 'If there are loopholes in our rules, the staff team may moderate based on what they deem appropriate. The staff team holds final discretion.',
- t12: "12.) Sending media that are able to crash a user's Discord",
- d12:
- "Sending videos, GIFs, emojis, etc. that are able to crash someone's discord will result in a **permanent** mute that cannot be appealed."
- };
if (rule) {
- rulesEmbed.addField(rules[`t${rule}`], rules[`d${rule}`]);
+ const foundRule = this.rules[rule];
+ rulesEmbed.addField(foundRule.title, foundRule.description);
} else {
- for (let i = 1; i <= 12; i++) {
- rulesEmbed.addField(rules[`t${i}`], rules[`d${i}`]);
+ for (const curRule of this.rules) {
+ rulesEmbed.addField(curRule.title, curRule.description);
}
}
- await respond();
- // eslint-disable-next-line @typescript-eslint/no-empty-function
- await message.delete().catch(() => {});
- function respond(): unknown {
- if (!user) {
- return (
- // If the original message was a reply -> imamate it
- message.util.send({
- embed: rulesEmbed,
- allowedMentions: AllowedMentions.users()
- })
- );
- } else {
- return message.util.send(`<@!${user.id}>`, {
+ if (!user) {
+ return (
+ // If the original message was a reply -> imamate it
+ message.util.send({
embed: rulesEmbed,
allowedMentions: AllowedMentions.users()
- });
- }
+ })
+ );
+ } else {
+ await message.util.send(`<@!${user.id}>`, {
+ embed: rulesEmbed,
+ allowedMentions: AllowedMentions.users()
+ });
}
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
+ await message.delete().catch(() => {});
}
}