Skip to content

Commit

Permalink
Clean up error handling in util
Browse files Browse the repository at this point in the history
  • Loading branch information
Glazelf committed Jun 20, 2024
1 parent f9005e1 commit 828b4e2
Show file tree
Hide file tree
Showing 26 changed files with 59 additions and 50 deletions.
1 change: 1 addition & 0 deletions commands/info/ping.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import sendMessage from "../../util/sendMessage.js";

export default async (client, interaction) => {
try {
console.log(interaction.inGuild());
let commandPing = Math.abs(Date.now() - interaction.createdTimestamp);
let websocketPing = Math.abs(client.ws.ping);
let replyString = `Pong!\n- Websocket ping is ${websocketPing}ms.\n- Command ping is ${commandPing}ms.`;
Expand Down
4 changes: 2 additions & 2 deletions commands/mod/ban.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const requiredPermission = Discord.PermissionFlagsBits.BanMembers;
export default async (client, interaction) => {
try {
let adminBool = isAdmin(client, interaction.member);
if (!interaction.member.permissions.has(requiredPermission) && !adminBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPerms });
if (!interaction.member.permissions.has(requiredPermission) && !adminBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPermsString });

let ephemeral = false;
await interaction.deferReply({ ephemeral: ephemeral });
Expand Down Expand Up @@ -41,7 +41,7 @@ export default async (client, interaction) => {
// console.log(e);
bansFetch = null;
};
let time = await getTime(client);
let time = getTime();
let reasonInfo = `-${interaction.user.username} (${time})`;
// If member is found
if (member) {
Expand Down
4 changes: 2 additions & 2 deletions commands/mod/kick.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const requiredPermission = Discord.PermissionFlagsBits.KickMembers;
export default async (client, interaction) => {
try {
let adminBool = isAdmin(client, interaction.member);
if (!interaction.member.permissions.has(requiredPermission) && !adminBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPerms });
if (!interaction.member.permissions.has(requiredPermission) && !adminBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPermsString });

let ephemeral = false;
await interaction.deferReply({ ephemeral: ephemeral });
Expand All @@ -31,7 +31,7 @@ export default async (client, interaction) => {
if (reasonArg) reason = reasonArg;
let reasonCodeBlock = Discord.codeBlock("fix", reason);

let time = await getTime(client);
let time = getTime();
let reasonInfo = `-${interaction.user.username} (${time})`;
// Kick
let kickReturn = `Kicked ${user} (${user.id}) for the following reason: ${reasonCodeBlock}`;
Expand Down
4 changes: 2 additions & 2 deletions commands/mod/mute.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const requiredPermission = Discord.PermissionFlagsBits.ModerateMembers;
export default async (client, interaction, ephemeral) => {
try {
let adminBool = isAdmin(client, interaction.member);
if (!interaction.member.permissions.has(requiredPermission) && !adminBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPerms });
if (!interaction.member.permissions.has(requiredPermission) && !adminBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPermsString });

ephemeral = false;
await interaction.deferReply({ ephemeral: ephemeral });
Expand Down Expand Up @@ -54,7 +54,7 @@ export default async (client, interaction, ephemeral) => {
muteReturnString = `Unmuted ${member.user.username} (${member.id}).`;
};
};
let time = await getTime(client);
let time = getTime();
let reasonInfo = `-${interaction.user.username} (${time})`;
let dmString = `You got muted in **${interaction.guild.name}** for ${displayMuteTime}by ${interaction.user.username} for the following reason: ${reasonCodeBlock}`;
// Timeout logic
Expand Down
2 changes: 1 addition & 1 deletion commands/mod/purge.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export default async (client, interaction, ephemeral) => {
try {

let adminBool = isAdmin(client, interaction.member);
if (!interaction.member.permissions.has(requiredPermission) && !adminBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPerms });
if (!interaction.member.permissions.has(requiredPermission) && !adminBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPermsString });

let ephemeralArg = interaction.options.getBoolean("ephemeral");
if (ephemeralArg !== null) ephemeral = ephemeralArg;
Expand Down
2 changes: 1 addition & 1 deletion commands/mod/roleadd.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export default async (client, interaction) => {
serverApi = await serverApi.default();
let adminBoolBot = isAdmin(client, interaction.guild.members.me);
let adminBoolUser = isAdmin(client, interaction.member);
if (!interaction.member.permissions.has(requiredPermission) && !adminBoolUser) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPerms });
if (!interaction.member.permissions.has(requiredPermission) && !adminBoolUser) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPermsString });

let ephemeral = true;
await interaction.deferReply({ ephemeral: ephemeral });
Expand Down
2 changes: 1 addition & 1 deletion commands/mod/serversettings.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const requiredPermission = Discord.PermissionFlagsBits.ManageGuild;
export default async (client, interaction) => {
try {
let adminBool = isAdmin(client, interaction.member);
if (!interaction.member.permissions.has(requiredPermission) && !adminBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPerms });
if (!interaction.member.permissions.has(requiredPermission) && !adminBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPermsString });
let ephemeral = true;
await interaction.deferReply({ ephemeral: ephemeral });

Expand Down
2 changes: 1 addition & 1 deletion commands/mod/slowmode.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export default async (client, interaction, ephemeral) => {
Discord.ChannelType.GuildStageVoice,
Discord.ChannelType.GuildVoice
];
if (!interaction.member.permissions.has(requiredPermission) && !adminBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPerms });
if (!interaction.member.permissions.has(requiredPermission) && !adminBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPermsString });
if (!slowmodeSupportedChannelTypes.includes(interaction.channel.type)) return sendMessage({ client: client, interaction: interaction, content: `This channel type doesn't support slowmode.` });

let time = interaction.options.getInteger("time");
Expand Down
2 changes: 1 addition & 1 deletion commands/owner/clean.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export default async (client, interaction, ephemeral) => {
if (confirmArg === true) confirm = confirmArg;
if (!confirm) return sendMessage({ client: client, interaction: interaction, content: `You are about to run an irreversible and expensive command.\nPlease set the \`confirm\` option for this command to \`true\` if you're sure.`, ephemeral: true });
let ownerBool = await isOwner(client, interaction.user);
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPerms });
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPermsString });

await interaction.deferReply({ ephemeral: ephemeral });
await sendMessage({ client: client, interaction: interaction, content: 'Deleting outdated entries...' });
Expand Down
2 changes: 1 addition & 1 deletion commands/owner/eval.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export default async (client, interaction, ephemeral) => {
ephemeral = true;
let ownerBool = await isOwner(client, interaction.user);
// NEVER remove this, even for testing. Research eval() before doing so, at least.
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPerms });
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPermsString });
await interaction.deferReply({ ephemeral: ephemeral });

const input = interaction.options.getString("input");
Expand Down
2 changes: 1 addition & 1 deletion commands/owner/expadd.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export default async (client, interaction) => {
try {
ephemeral = true;
let ownerBool = await isOwner(client, interaction.user);
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPerms });
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPermsString });

let userArg = interaction.options.getUser("user");
if (!userArg) return sendMessage({ client: client, interaction: interaction, content: `Could not find user.` });
Expand Down
4 changes: 2 additions & 2 deletions commands/owner/kill.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ import getTime from "../../util/getTime.js";
export default async (client, interaction) => {
try {
let ownerBool = await isOwner(client, interaction.user);
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPerms });
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPermsString });

let removeInteractions = false;
let interactionsArg = interaction.options.getBoolean("remove-interactions");
if (interactionsArg === true) removeInteractions = interactionsArg;

let timestamp = await getTime(client);
let timestamp = getTime();
let shutdownString = "Shutting down.";
if (removeInteractions) shutdownString += "\nRemoving all slash commands, context menus etc. This might take a bit.";
await sendMessage({ client: client, interaction: interaction, content: shutdownString });
Expand Down
2 changes: 1 addition & 1 deletion commands/owner/manager.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export default async (client, interaction, ephemeral) => {
try {
ephemeral = true;
let ownerBool = await isOwner(client, interaction.user);
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPerms });
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPermsString });

let trophy_name, res, returnString;
const regexpUnicode = /\p{RI}\p{RI}|\p{Emoji}(\p{EMod}+|\u{FE0F}\u{20E3}?|[\u{E0020}-\u{E007E}]+\u{E007F})?(\u{200D}\p{Emoji}(\p{EMod}+|\u{FE0F}\u{20E3}?|[\u{E0020}-\u{E007E}]+\u{E007F})?)+|\p{EPres}(\p{EMod}+|\u{FE0F}\u{20E3}?|[\u{E0020}-\u{E007E}]+\u{E007F})?|\p{Emoji}(\p{EMod}+|\u{FE0F}\u{20E3}?|[\u{E0020}-\u{E007E}]+\u{E007F})/gu;
Expand Down
2 changes: 1 addition & 1 deletion commands/owner/moneyadd.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import isOwner from "../../util/isOwner.js";
export default async (client, interaction) => {
try {
let ownerBool = await isOwner(client, interaction.user);
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPerms });
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPermsString });

let currency = globalVars.currency;

Expand Down
2 changes: 1 addition & 1 deletion commands/owner/removeinteraction.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import isOwner from "../../util/isOwner.js";
export default async (client, interaction) => {
try {
let ownerBool = await isOwner(client, interaction.user);
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPerms });
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPermsString });

await interaction.deferReply({ ephemeral: true });

Expand Down
4 changes: 2 additions & 2 deletions commands/owner/restart.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export default async (client, interaction, ephemeral) => {
try {
ephemeral = false;
let ownerBool = await isOwner(client, interaction.user);
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPerms });
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPermsString });
await interaction.deferReply({ ephemeral: ephemeral });
let removeInteractions = false;
let interactionsArg = interaction.options.getBoolean("reset-interactions");
Expand All @@ -21,7 +21,7 @@ export default async (client, interaction, ephemeral) => {
let dbinit = false;
let dbinitArg = interaction.options.getBoolean("dbinit");
if (dbinitArg === true) dbinit = dbinitArg;
let timestamp = await getTime(client);
let timestamp = getTime();
console.log(`Restarting for ${interaction.user.username}. (${timestamp})`);
let installResult = "";
// Run commands
Expand Down
2 changes: 1 addition & 1 deletion commands/owner/send.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import isOwner from "../../util/isOwner.js";
export default async (client, interaction, ephemeral) => {
try {
let ownerBool = await isOwner(client, interaction.user);
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPerms });
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPermsString });
let ephemeralArg = interaction.options.getBoolean("ephemeral");
if (ephemeralArg !== null) ephemeral = ephemeralArg;
await interaction.deferReply({ ephemeral: ephemeral });
Expand Down
2 changes: 1 addition & 1 deletion commands/owner/setavatar.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import isOwner from "../../util/isOwner.js";
export default async (client, interaction, ephemeral) => {
try {
let ownerBool = await isOwner(client, interaction.user);
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPerms });
if (!ownerBool) return sendMessage({ client: client, interaction: interaction, content: globalVars.lackPermsString });

ephemeral = true;
await interaction.deferReply({ ephemeral: ephemeral });
Expand Down
2 changes: 1 addition & 1 deletion events/ready.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ export default async (client) => {
// await client.guilds.cache.forEach(async (guild) => {
// await guild.members.fetch();
// });
let timestamp = await getTime(client);
let timestamp = getTime();

console.log(`Commands: ${client.commands.size}
Guilds: ${client.guilds.cache.size}
Expand Down
2 changes: 1 addition & 1 deletion events/resume.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ export default async (client) => {
try {
// Set bot status
client.user.setPresence(globalVars.presence);
let timestamp = await getTime(client);
let timestamp = getTime();
// console.log(`Resumed. (${timestamp})`);
return;

Expand Down
2 changes: 1 addition & 1 deletion events/shardReady.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import birthday from "../affairs/birthday.js";

export default async (client, id) => {
try {
let timestamp = await getTime(client);
let timestamp = getTime();
let presence = initPresence();
globalVars.presence = presence;
// Set bot status
Expand Down
14 changes: 11 additions & 3 deletions util/areEmotesAllowed.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
import Discord from "discord.js";
import isAdmin from "./isAdmin.js";
import logger from "./logger.js";

export default (client, interaction, ephemeral) => {
let adminBot = isAdmin(client, interaction.guild.members.me);
if (ephemeral == true && !interaction.guild.members.me.permissions.has(Discord.PermissionFlagsBits.UseExternalEmojis) && !adminBot) return false;
return true;
try {
if (!interaction.inGuild()) return true;
let adminBot = isAdmin(client, interaction.guild.members.me);
if (ephemeral == true && !interaction.guild.members.me.permissions.has(Discord.PermissionFlagsBits.UseExternalEmojis) && !adminBot) return false;
return true;

} catch (e) {
logger(e, client);
return false;
};
};
25 changes: 9 additions & 16 deletions util/getTime.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,10 @@
import logger from "./logger.js";

export default async (client) => {
try {
let currentdate = new Date();
let datetime = currentdate.getDate() + "/"
+ (currentdate.getMonth() + 1) + "/"
+ currentdate.getFullYear() + " @ "
+ currentdate.getHours() + ":"
+ currentdate.getMinutes() + ":"
+ currentdate.getSeconds() + " UTC";
return datetime;

} catch (e) {
logger(e, client);
};
export default () => {
let currentdate = new Date();
let datetime = currentdate.getDate() + "/"
+ (currentdate.getMonth() + 1) + "/"
+ currentdate.getFullYear() + " @ "
+ currentdate.getHours() + ":"
+ currentdate.getMinutes() + ":"
+ currentdate.getSeconds() + " UTC";
return datetime;
};
1 change: 1 addition & 0 deletions util/isAdmin.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,6 @@ export default (client, member) => {

} catch (e) {
logger(e, client);
return false;
};
};
16 changes: 11 additions & 5 deletions util/isOwner.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
export default async (client, user) => {
let application = await client.application.fetch();
let ownerID = application.owner.id;
if (application.owner.constructor.name == "Team") ownerID = application.owner.ownerId;
if (user.id == ownerID) return true;
return false;
try {
let application = await client.application.fetch();
let ownerID = application.owner.id;
if (application.owner.constructor.name == "Team") ownerID = application.owner.ownerId;
if (user.id == ownerID) return true;
return false;

} catch (e) {
logger(e, client);
return false;
};
};
2 changes: 1 addition & 1 deletion util/logger.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import util from "util";
export default async (exception, client, interaction = null) => {
// Note: interaction may be a message
try {
let timestamp = await getTime(client);
let timestamp = getTime();
let exceptionString = exception.toString();
let errorInspectResult = util.inspect(exception, { depth: 2 });
if (exceptionString.includes("Missing Access")) {
Expand Down

0 comments on commit 828b4e2

Please sign in to comment.