From c46868f257072aab4329794d78a3d0e3bdafb33a Mon Sep 17 00:00:00 2001 From: xs6762606-cell Date: Fri, 7 Aug 2026 12:33:17 -0500 Subject: [PATCH 01/10] Update bot.js --- src/config/bot.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/config/bot.js b/src/config/bot.js index 86dc861cc3..5ab541e8a3 100644 --- a/src/config/bot.js +++ b/src/config/bot.js @@ -23,9 +23,9 @@ export const botConfig = { // 5 = Competing activities: [ { - name: "Custom Status", // required by Discord API, not shown in the client - state: "stalking", // this is what people actually see - type: 4, // Custom + name: "wsp", // required by Discord API, not shown in the client + state: "WSRP", // this is what people actually see + type: 3, // Custom }, ], }, @@ -648,4 +648,4 @@ export function getRandomColor() { return colors[Math.floor(Math.random() * colors.length)]; } -export default botConfig; \ No newline at end of file +export default botConfig; From b2aad249e695f37066c122de559000b737c1a8b5 Mon Sep 17 00:00:00 2001 From: xs6762606-cell Date: Fri, 7 Aug 2026 12:42:33 -0500 Subject: [PATCH 02/10] Create blacklist.js --- src/commands/Moderation/blacklist.js | 53 ++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/commands/Moderation/blacklist.js diff --git a/src/commands/Moderation/blacklist.js b/src/commands/Moderation/blacklist.js new file mode 100644 index 0000000000..4a5f28f1c5 --- /dev/null +++ b/src/commands/Moderation/blacklist.js @@ -0,0 +1,53 @@ +const { SlashCommandBuilder, PermissionFlagsBits, EmbedBuilder } = require("discord.js"); + +module.exports = { + data: new SlashCommandBuilder() + .setName("blacklist") + .setDescription("Blacklist a user from the server") + .addUserOption(option => + option + .setName("user") + .setDescription("User to blacklist") + .setRequired(true) + ) + .addStringOption(option => + option + .setName("reason") + .setDescription("Reason for blacklist") + .setRequired(true) + ) + .setDefaultMemberPermissions(PermissionFlagsBits.Administrator), + + async execute(interaction) { + + const user = interaction.options.getUser("user"); + const reason = interaction.options.getString("reason"); + + const member = await interaction.guild.members.fetch(user.id) + .catch(() => null); + + if (!member) { + return interaction.reply({ + content: "❌ User is not in this server.", + ephemeral: true + }); + } + + await member.ban({ + reason: `Blacklisted: ${reason}` + }); + + const embed = new EmbedBuilder() + .setTitle("🚫 User Blacklisted") + .setDescription( + `**User:** ${user.tag}\n` + + `**Reason:** ${reason}\n` + + `**Moderator:** ${interaction.user.tag}` + ) + .setTimestamp(); + + await interaction.reply({ + embeds: [embed] + }); + } +}; From 2f5b4c82ef90806341cb7e16e1ec16127ab223c5 Mon Sep 17 00:00:00 2001 From: xs6762606-cell Date: Fri, 7 Aug 2026 12:49:08 -0500 Subject: [PATCH 03/10] blacklist.js --- src/commands/Moderation/blacklist.js | 39 ++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/src/commands/Moderation/blacklist.js b/src/commands/Moderation/blacklist.js index 4a5f28f1c5..1b191851c5 100644 --- a/src/commands/Moderation/blacklist.js +++ b/src/commands/Moderation/blacklist.js @@ -1,13 +1,14 @@ +commands/moderation/blacklist.js const { SlashCommandBuilder, PermissionFlagsBits, EmbedBuilder } = require("discord.js"); module.exports = { data: new SlashCommandBuilder() .setName("blacklist") - .setDescription("Blacklist a user from the server") + .setDescription("Blacklist a member from the server") .addUserOption(option => option .setName("user") - .setDescription("User to blacklist") + .setDescription("Member to blacklist") .setRequired(true) ) .addStringOption(option => @@ -16,33 +17,49 @@ module.exports = { .setDescription("Reason for blacklist") .setRequired(true) ) - .setDefaultMemberPermissions(PermissionFlagsBits.Administrator), + .setDefaultMemberPermissions(PermissionFlagsBits.BanMembers), async execute(interaction) { const user = interaction.options.getUser("user"); const reason = interaction.options.getString("reason"); - const member = await interaction.guild.members.fetch(user.id) + const member = await interaction.guild.members.fetch(user.id) .catch(() => null); if (!member) { return interaction.reply({ - content: "❌ User is not in this server.", + content: "❌ That user is not in this server.", + ephemeral: true + }); + } + + if (!member.bannable) { + return interaction.reply({ + content: "❌ I cannot blacklist this user. Check my role position and permissions.", ephemeral: true }); } await member.ban({ - reason: `Blacklisted: ${reason}` + reason: `Blacklisted by ${interaction.user.tag}: ${reason}` }); const embed = new EmbedBuilder() - .setTitle("🚫 User Blacklisted") - .setDescription( - `**User:** ${user.tag}\n` + - `**Reason:** ${reason}\n` + - `**Moderator:** ${interaction.user.tag}` + .setTitle("🚫 Member Blacklisted") + .addFields( + { + name: "Member", + value: `${user.tag}` + }, + { + name: "Reason", + value: reason + }, + { + name: "Staff", + value: `${interaction.user.tag}` + } ) .setTimestamp(); From 06d1558d804c8156014e03025bf9ded81c357ec3 Mon Sep 17 00:00:00 2001 From: xs6762606-cell Date: Fri, 7 Aug 2026 13:04:30 -0500 Subject: [PATCH 04/10] Delete src/commands/Moderation/blacklist.js --- src/commands/Moderation/blacklist.js | 70 ---------------------------- 1 file changed, 70 deletions(-) delete mode 100644 src/commands/Moderation/blacklist.js diff --git a/src/commands/Moderation/blacklist.js b/src/commands/Moderation/blacklist.js deleted file mode 100644 index 1b191851c5..0000000000 --- a/src/commands/Moderation/blacklist.js +++ /dev/null @@ -1,70 +0,0 @@ -commands/moderation/blacklist.js -const { SlashCommandBuilder, PermissionFlagsBits, EmbedBuilder } = require("discord.js"); - -module.exports = { - data: new SlashCommandBuilder() - .setName("blacklist") - .setDescription("Blacklist a member from the server") - .addUserOption(option => - option - .setName("user") - .setDescription("Member to blacklist") - .setRequired(true) - ) - .addStringOption(option => - option - .setName("reason") - .setDescription("Reason for blacklist") - .setRequired(true) - ) - .setDefaultMemberPermissions(PermissionFlagsBits.BanMembers), - - async execute(interaction) { - - const user = interaction.options.getUser("user"); - const reason = interaction.options.getString("reason"); - - const member = await interaction.guild.members.fetch(user.id) - .catch(() => null); - - if (!member) { - return interaction.reply({ - content: "❌ That user is not in this server.", - ephemeral: true - }); - } - - if (!member.bannable) { - return interaction.reply({ - content: "❌ I cannot blacklist this user. Check my role position and permissions.", - ephemeral: true - }); - } - - await member.ban({ - reason: `Blacklisted by ${interaction.user.tag}: ${reason}` - }); - - const embed = new EmbedBuilder() - .setTitle("🚫 Member Blacklisted") - .addFields( - { - name: "Member", - value: `${user.tag}` - }, - { - name: "Reason", - value: reason - }, - { - name: "Staff", - value: `${interaction.user.tag}` - } - ) - .setTimestamp(); - - await interaction.reply({ - embeds: [embed] - }); - } -}; From 0dc32d7b00310f11d8ab358012a989113cee4fe5 Mon Sep 17 00:00:00 2001 From: xs6762606-cell Date: Fri, 7 Aug 2026 13:07:37 -0500 Subject: [PATCH 05/10] blacklist.js --- src/commands/blacklist.js | 59 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 src/commands/blacklist.js diff --git a/src/commands/blacklist.js b/src/commands/blacklist.js new file mode 100644 index 0000000000..a9dcd04c66 --- /dev/null +++ b/src/commands/blacklist.js @@ -0,0 +1,59 @@ +const { SlashCommandBuilder, PermissionFlagsBits, EmbedBuilder } = require("discord.js"); + +module.exports = { + data: new SlashCommandBuilder() + .setName("blacklist") + .setDescription("Blacklist a community member") + .addUserOption(option => + option + .setName("user") + .setDescription("Select the member to blacklist") + .setRequired(true) + ) + .addStringOption(option => + option + .setName("reason") + .setDescription("Reason for blacklist") + .setRequired(true) + ), + + async execute(interaction) { + + if (!interaction.member.permissions.has(PermissionFlagsBits.BanMembers)) { + return interaction.reply({ + content: "❌ You do not have permission to use this command.", + ephemeral: true + }); + } + + const user = interaction.options.getUser("user"); + const reason = interaction.options.getString("reason"); + + const member = await interaction.guild.members.fetch(user.id) + .catch(() => null); + + if (!member) { + return interaction.reply({ + content: "❌ Member not found.", + ephemeral: true + }); + } + + await member.ban({ + reason: reason + }); + + const embed = new EmbedBuilder() + .setTitle("🚫 Member Blacklisted") + .setDescription( + `**Member:** ${user.tag}\n` + + `**Reason:** ${reason}\n` + + `**Action by:** ${interaction.user.tag}` + ) + .setTimestamp(); + + await interaction.reply({ + embeds: [embed] + }); + } +}; From abc99c6546af8ec5f56bf6613364f016ac1eda91 Mon Sep 17 00:00:00 2001 From: xs6762606-cell Date: Mon, 10 Aug 2026 19:38:47 -0500 Subject: [PATCH 06/10] session.js --- src/handlers/loaders/SSU | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/handlers/loaders/SSU diff --git a/src/handlers/loaders/SSU b/src/handlers/loaders/SSU new file mode 100644 index 0000000000..49fcb3fc3d --- /dev/null +++ b/src/handlers/loaders/SSU @@ -0,0 +1,35 @@ +import { + SlashCommandBuilder, + EmbedBuilder, + PermissionFlagsBits +} from 'discord.js'; + +export default { + data: new SlashCommandBuilder() + .setName('session') + .setDescription('Start a Washington State Roleplay session.') + .setDefaultMemberPermissions(PermissionFlagsBits.ManageGuild), + + async execute(interaction) { + const embed = new EmbedBuilder() + .setTitle('🦅 | SESSION STARTED') + .setDescription( + '**Washington State Roleplay** is now hosting a session!\n\n' + + '🎮 **Game Code:** `WSSRPe`\n' + + '👥 **Join the session and begin roleplay!**\n\n' + + 'Please maintain professionalism and follow all community rules during the session.' + ) + .setTimestamp() + .setFooter({ + text: 'Washington State Roleplay' + }); + + await interaction.reply({ + content: '@here', + embeds: [embed], + allowedMentions: { + parse: ['everyone'] + } + }); + } +}; From 7f6d73cec4b44a7e9f0825cde5fd883884dedb55 Mon Sep 17 00:00:00 2001 From: xs6762606-cell Date: Mon, 10 Aug 2026 20:05:21 -0500 Subject: [PATCH 07/10] session.js --- src/handlers/loaders/{SSU => session.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/handlers/loaders/{SSU => session.js} (100%) diff --git a/src/handlers/loaders/SSU b/src/handlers/loaders/session.js similarity index 100% rename from src/handlers/loaders/SSU rename to src/handlers/loaders/session.js From e5f36cb85f8435256ea0fe0cf803da5153cc3d36 Mon Sep 17 00:00:00 2001 From: xs6762606-cell Date: Mon, 10 Aug 2026 20:10:03 -0500 Subject: [PATCH 08/10] session.js --- src/handlers/loaders/session.js | 35 ++++++++++----------------------- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/src/handlers/loaders/session.js b/src/handlers/loaders/session.js index 49fcb3fc3d..a16a01d6a5 100644 --- a/src/handlers/loaders/session.js +++ b/src/handlers/loaders/session.js @@ -1,35 +1,20 @@ -import { - SlashCommandBuilder, - EmbedBuilder, - PermissionFlagsBits -} from 'discord.js'; +const { SlashCommandBuilder, EmbedBuilder } = require('discord.js'); -export default { +module.exports = { data: new SlashCommandBuilder() .setName('session') - .setDescription('Start a Washington State Roleplay session.') - .setDefaultMemberPermissions(PermissionFlagsBits.ManageGuild), + .setDescription('Start a roleplay session'), async execute(interaction) { const embed = new EmbedBuilder() - .setTitle('🦅 | SESSION STARTED') + .setTitle('🦅 | Session Started') .setDescription( - '**Washington State Roleplay** is now hosting a session!\n\n' + - '🎮 **Game Code:** `WSSRPe`\n' + - '👥 **Join the session and begin roleplay!**\n\n' + - 'Please maintain professionalism and follow all community rules during the session.' + 'A roleplay session has officially started!\n\n' + + '🎮 **Game Code:** WSSRPe\n' + + '📢 Join the session and participate in today’s roleplay!' ) - .setTimestamp() - .setFooter({ - text: 'Washington State Roleplay' - }); + .setTimestamp(); - await interaction.reply({ - content: '@here', - embeds: [embed], - allowedMentions: { - parse: ['everyone'] - } - }); - } + await interaction.reply({ embeds: [embed] }); + }, }; From d24a9072950b3120b8370d4dab6fb9cdffb9129d Mon Sep 17 00:00:00 2001 From: xs6762606-cell Date: Mon, 10 Aug 2026 20:24:46 -0500 Subject: [PATCH 09/10] Delete src/commands/blacklist.js --- src/commands/blacklist.js | 59 --------------------------------------- 1 file changed, 59 deletions(-) delete mode 100644 src/commands/blacklist.js diff --git a/src/commands/blacklist.js b/src/commands/blacklist.js deleted file mode 100644 index a9dcd04c66..0000000000 --- a/src/commands/blacklist.js +++ /dev/null @@ -1,59 +0,0 @@ -const { SlashCommandBuilder, PermissionFlagsBits, EmbedBuilder } = require("discord.js"); - -module.exports = { - data: new SlashCommandBuilder() - .setName("blacklist") - .setDescription("Blacklist a community member") - .addUserOption(option => - option - .setName("user") - .setDescription("Select the member to blacklist") - .setRequired(true) - ) - .addStringOption(option => - option - .setName("reason") - .setDescription("Reason for blacklist") - .setRequired(true) - ), - - async execute(interaction) { - - if (!interaction.member.permissions.has(PermissionFlagsBits.BanMembers)) { - return interaction.reply({ - content: "❌ You do not have permission to use this command.", - ephemeral: true - }); - } - - const user = interaction.options.getUser("user"); - const reason = interaction.options.getString("reason"); - - const member = await interaction.guild.members.fetch(user.id) - .catch(() => null); - - if (!member) { - return interaction.reply({ - content: "❌ Member not found.", - ephemeral: true - }); - } - - await member.ban({ - reason: reason - }); - - const embed = new EmbedBuilder() - .setTitle("🚫 Member Blacklisted") - .setDescription( - `**Member:** ${user.tag}\n` + - `**Reason:** ${reason}\n` + - `**Action by:** ${interaction.user.tag}` - ) - .setTimestamp(); - - await interaction.reply({ - embeds: [embed] - }); - } -}; From d7935a095f1a7456067b75e2af24e16dd03b2867 Mon Sep 17 00:00:00 2001 From: xs6762606-cell Date: Mon, 10 Aug 2026 20:29:09 -0500 Subject: [PATCH 10/10] session.js --- src/commands/session | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/commands/session diff --git a/src/commands/session b/src/commands/session new file mode 100644 index 0000000000..d7381de5df --- /dev/null +++ b/src/commands/session @@ -0,0 +1,20 @@ +import { SlashCommandBuilder, EmbedBuilder } from 'discord.js'; + +export default { + data: new SlashCommandBuilder() + .setName('session') + .setDescription('Start a roleplay session'), + + async execute(interaction) { + const embed = new EmbedBuilder() + .setTitle('🦅 | Session Started') + .setDescription( + 'A roleplay session has officially started!\n\n' + + '🎮 **Game Code:** WSSRPe\n' + + '📢 Join the session and participate in today’s roleplay!' + ) + .setTimestamp(); + + await interaction.reply({ embeds: [embed] }); + }, +};