Merge branch '201-fix-code-smells' of https://github.com/VermiumSifell/xyter-1 into 201-fix-code-smells

This commit is contained in:
Axel Olausson Holtenäs 2022-04-11 12:39:59 +02:00
commit 12b97308da
5 changed files with 63 additions and 63 deletions

View file

@ -1,61 +1,61 @@
// Dependencies // Dependencies
import { SlashCommandBuilder } from '@discordjs/builders'; import { SlashCommandBuilder } from "@discordjs/builders";
import { CommandInteraction } from 'discord.js'; import { CommandInteraction } from "discord.js";
// Modules // Modules
import pterodactyl from './modules/pterodactyl'; import pterodactyl from "./modules/pterodactyl";
// Groups // Groups
import roles from './roles'; import roles from "./roles";
// Handlers // Handlers
import logger from '../../handlers/logger'; import logger from "../../handlers/logger";
// Function // Function
export default { export default {
data: new SlashCommandBuilder() data: new SlashCommandBuilder()
.setName('shop') .setName("shop")
.setDescription('Open our shop.') .setDescription("Open our shop.")
.addSubcommand((subcommand) => .addSubcommand((subcommand) =>
subcommand subcommand
.setName('pterodactyl') .setName("pterodactyl")
.setDescription('Buy pterodactyl power.') .setDescription("Buy pterodactyl power.")
.addIntegerOption((option) => .addIntegerOption((option) =>
option option
.setName('amount') .setName("amount")
.setDescription('How much credits you want to withdraw.') .setDescription("How much credits you want to withdraw.")
) )
) )
.addSubcommandGroup((group) => .addSubcommandGroup((group) =>
group group
.setName('roles') .setName("roles")
.setDescription('Manage custom roles.') .setDescription("Manage custom roles.")
.addSubcommand((command) => .addSubcommand((command) =>
command command
.setName('buy') .setName("buy")
.setDescription('Buy a custom role') .setDescription("Buy a custom role")
.addStringOption((option) => .addStringOption((option) =>
option option
.setName('name') .setName("name")
.setDescription('Name of the role you wish to purchase.') .setDescription("Name of the role you wish to purchase.")
) )
.addStringOption((option) => .addStringOption((option) =>
option option
.setName('color') .setName("color")
.setDescription( .setDescription(
'Color of the role you wish to purchase (For example RED or BLUE or GREEN).' "Color of the role you wish to purchase (For example RED or BLUE or GREEN)."
) )
) )
) )
) )
.addSubcommand((command) => .addSubcommand((command) =>
command command
.setName('cancel') .setName("cancel")
.setDescription('Cancel a custom role') .setDescription("Cancel a custom role")
.addRoleOption((option) => .addRoleOption((option) =>
option option
.setName('role') .setName("role")
.setDescription('Name of the role you wish to cancel.') .setDescription("Name of the role you wish to cancel.")
) )
), ),
async execute(interaction: CommandInteraction) { async execute(interaction: CommandInteraction) {
@ -63,13 +63,13 @@ export default {
const { options, commandName, user, guild } = interaction; const { options, commandName, user, guild } = interaction;
// Module - Pterodactyl // Module - Pterodactyl
if (options?.getSubcommand() === 'pterodactyl') { if (options?.getSubcommand() === "pterodactyl") {
// Execute Module - Pterodactyl // Execute Module - Pterodactyl
return pterodactyl(interaction); return pterodactyl(interaction);
} }
// Group - Roles // Group - Roles
else if (options?.getSubcommandGroup() === 'roles') { else if (options?.getSubcommandGroup() === "roles") {
// Execute Group - Roles // Execute Group - Roles
return roles(interaction); return roles(interaction);
} }

View file

@ -3,32 +3,32 @@ import {
CommandInteraction, CommandInteraction,
ColorResolvable, ColorResolvable,
GuildMemberRoleManager, GuildMemberRoleManager,
} from 'discord.js'; } from "discord.js";
// Configurations // Configurations
import config from '../../../../../config.json'; import config from "../../../../../config.json";
// Models // Models
import shopRolesSchema from '../../../../helpers/database/models/shopRolesSchema'; import shopRolesSchema from "../../../../helpers/database/models/shopRolesSchema";
import guildSchema from '../../../../helpers/database/models/guildSchema'; import guildSchema from "../../../../helpers/database/models/guildSchema";
// Helpers // Helpers
import creditNoun from '../../../../helpers/creditNoun'; import creditNoun from "../../../../helpers/creditNoun";
import fetchUser from '../../../../helpers/fetchUser'; import fetchUser from "../../../../helpers/fetchUser";
// Function // Function
export default async (interaction: CommandInteraction) => { export default async (interaction: CommandInteraction) => {
const { options, guild, user, member } = interaction; const { options, guild, user, member } = interaction;
const optionName = options?.getString('name'); const optionName = options?.getString("name");
const optionColor = options?.getString('color'); const optionColor = options?.getString("color");
// If amount is null // If amount is null
if (optionName === null) { if (optionName === null) {
// Embed object // Embed object
const embed = { const embed = {
title: ':dollar: Shop - Roles [Buy]' as string, title: ":dollar: Shop - Roles [Buy]" as string,
description: 'We could not read your requested name.' as string, description: "We could not read your requested name." as string,
color: config?.colors?.error as ColorResolvable, color: config?.colors?.error as ColorResolvable,
timestamp: new Date(), timestamp: new Date(),
footer: { footer: {
@ -75,13 +75,13 @@ export default async (interaction: CommandInteraction) => {
await shopRolesSchema?.find()?.then((role: any) => console.log(role)); await shopRolesSchema?.find()?.then((role: any) => console.log(role));
const embed = { const embed = {
title: ':shopping_cart: Shop - Roles [Buy]' as string, title: ":shopping_cart: Shop - Roles [Buy]" as string,
description: description:
`You have bought ${role?.name} for ${guildDB?.shop?.roles?.pricePerHour} per hour.` as string, `You have bought ${role?.name} for ${guildDB?.shop?.roles?.pricePerHour} per hour.` as string,
color: config?.colors?.success as ColorResolvable, color: config?.colors?.success as ColorResolvable,
fields: [ fields: [
{ {
name: 'Your balance' as string, name: "Your balance" as string,
value: `${creditNoun(userDB?.credits)}` as string, value: `${creditNoun(userDB?.credits)}` as string,
}, },
], ],

View file

@ -1,15 +1,15 @@
import logger from '../../handlers/logger'; import logger from "../../handlers/logger";
import config from '../../../config.json'; import config from "../../../config.json";
import deployCommands from '../../helpers/deployCommands'; import deployCommands from "../../helpers/deployCommands";
import dbGuildFix from '../../helpers/dbGuildFix'; import dbGuildFix from "../../helpers/dbGuildFix";
import dbMemberFix from '../../helpers/dbMemberFix'; import dbMemberFix from "../../helpers/dbMemberFix";
import userSchema from '../../helpers/database/models/userSchema'; import userSchema from "../../helpers/database/models/userSchema";
import { Client } from 'discord.js'; import { Client } from "discord.js";
import updatePresence from '../../helpers/updatePresence'; import updatePresence from "../../helpers/updatePresence";
export default { export default {
name: 'ready', name: "ready",
once: true, once: true,
async execute(client: Client) { async execute(client: Client) {
// Send info message // Send info message

View file

@ -1,12 +1,12 @@
import schedule from 'node-schedule'; import schedule from "node-schedule";
import users from '../helpers/database/models/userSchema'; import users from "../helpers/database/models/userSchema";
import shopRoles from '../helpers/database/models/shopRolesSchema'; import shopRoles from "../helpers/database/models/shopRolesSchema";
import guilds from '../helpers/database/models/guildSchema'; import guilds from "../helpers/database/models/guildSchema";
import logger from './logger'; import logger from "./logger";
import { Client } from 'discord.js'; import { Client } from "discord.js";
export default async (client: Client) => { export default async (client: Client) => {
schedule.scheduleJob('*/5 * * * *', async () => { schedule.scheduleJob("*/5 * * * *", async () => {
shopRoles.find().then(async (shopRoles: any) => { shopRoles.find().then(async (shopRoles: any) => {
shopRoles.map(async (shopRole: any) => { shopRoles.map(async (shopRole: any) => {
const payed = new Date(shopRole.lastPayed); const payed = new Date(shopRole.lastPayed);
@ -41,8 +41,8 @@ export default async (client: Client) => {
await rMember?.roles await rMember?.roles
.remove(`${shopRole.roleId}`) .remove(`${shopRole.roleId}`)
.then(async (test) => console.log('4', test)) .then(async (test) => console.log("4", test))
.catch(async (test) => console.log('5', test)); // Removes all roles .catch(async (test) => console.log("5", test)); // Removes all roles
} }
shopRole.lastPayed = new Date(); shopRole.lastPayed = new Date();
@ -56,6 +56,6 @@ export default async (client: Client) => {
}); });
}); });
await logger.debug('Checking schedules! (Every 5 minutes)'); await logger.debug("Checking schedules! (Every 5 minutes)");
}); });
}; };

View file

@ -1,13 +1,13 @@
// Dependencies // Dependencies
import { Client, Intents } from 'discord.js'; // discord.js import { Client, Intents } from "discord.js"; // discord.js
import database from './helpers/database'; import database from "./helpers/database";
import events from './handlers/events'; import events from "./handlers/events";
import commands from './handlers/commands'; import commands from "./handlers/commands";
import locale from './handlers/locale'; import locale from "./handlers/locale";
import schedules from './handlers/schedules'; import schedules from "./handlers/schedules";
import config from '../config.json'; // config.json import config from "../config.json"; // config.json
(async () => { (async () => {
// Initialize discord.js client // Initialize discord.js client