UNPKG

@m3rcena/weky

Version:

A fun npm package to play games within Discord with buttons!

488 lines (487 loc) 14 kB
import chalk from "chalk"; import DiscordJS from "discord.js"; /** * * Interaction Minigames * */ import mini2048 from "./minigames/Interaction/2024.js"; import Calculator from "./minigames/Interaction/Calculator.js"; import ChaosWords from "./minigames/Interaction/ChaosWords.js"; import FastType from "./minigames/Interaction/FastType.js"; import Fight from "./minigames/Interaction/Fight.js"; import GuessTheNumber from "./minigames/Interaction/GuessTheNumber.js"; import GuessThePokemon from "./minigames/Interaction/GuessThePokemon.js"; import Hangman from "./minigames/Interaction/Hangman.js"; import LieSwatter from "./minigames/Interaction/LieSwatter.js"; import NeverHaveIEver from "./minigames/Interaction/NeverHaveIEver.js"; import QuickClick from "./minigames/Interaction/QuickClick.js"; import ShuffleGuess from "./minigames/Interaction/ShuffleGuess.js"; import Snake from "./minigames/Interaction/Snake.js"; import WillYouPressTheButton from "./minigames/Interaction/WillYouPressTheButton.js"; import WouldYouRather from "./minigames/Interaction/WouldYouRather.js"; /** * * Message Minigames * */ import mini2048Message from "./minigames/Message/2024.js"; import CalculatorMessage from "./minigames/Message/Calculator.js"; import ChaosWordsMessage from "./minigames/Message/ChaosWords.js"; import FastTypeMessage from "./minigames/Message/FastType.js"; import FightMessage from "./minigames/Message/Fight.js"; import GuessTheNumberMessage from "./minigames/Message/GuessTheNumber.js"; import GuessThePokemonMessage from "./minigames/Message/GuessThePokemon.js"; import HangmanMessage from "./minigames/Message/Hangman.js"; import LieSwatterMessage from "./minigames/Message/LieSwatter.js"; import NeverHaveIEverMessage from "./minigames/Message/NeverHaveIEver.js"; import QuickClickMessage from "./minigames/Message/QuickClick.js"; import ShuffleGuessMessage from "./minigames/Message/ShuffleGuess.js"; import SnakeMessage from "./minigames/Message/Snake.js"; import WillYouPressTheButtonMessage from "./minigames/Message/WillYouPressTheButton.js"; import WouldYouRatherMessage from "./minigames/Message/WouldYouRather.js"; export class WekyManager { client; constructor(client) { if (!(client instanceof DiscordJS.Client)) throw new TypeError(`${chalk.red("[WekyManager]")} Invalid DiscordJS Client.`); this.client = client; } /** * * Creates a new instance of the 2048 game. * * @param options The options for the 2048 game. * @returns * * @example * ```js * import { WekyManager } from "weky"; * import DiscordJS from "discord.js"; * * const client = new DiscordJS.Client(); * * const weky = new WekyManager(client); * * weky.create2048(); // You can also pass options. * ``` * * @copyright All rights reserved. M3rcena Development */ async create2048(options) { if (options.interaction) { return await mini2048(options); } else if (options.message) { return await mini2048Message(options); } } ; /** * * Creates a new instance of the Calculator game. * * @param options The options for the Calculator game. * @returns * * @example * ```js * import { WekyManager } from "weky"; * import DiscordJS from "discord.js"; * * const client = new DiscordJS.Client(); * * const weky = new WekyManager(client); * * weky.createCalculator(); // You can also pass options. * ``` * * @copyright All rights reserved. M3rcena Development */ async createCalculator(options) { if (options.interaction) { return await Calculator(options); } else if (options.message) { return await CalculatorMessage(options); } } /** * * Create a new instance of the Chaos Words game. * * @param options The options for the Chaos Words game. * @returns * * @example * ```js * import { WekyManager } from "weky"; * import DiscordJS from "discord.js"; * * const client = new DiscordJS.Client(); * * const weky = new WekyManager(client); * * weky.createChaosWords(); // You can also pass options. * ``` * * @copyright All rights reserved. M3rcena Development */ async createChaosWords(options) { if (options.interaction) { return await ChaosWords(options); } else if (options.message) { return await ChaosWordsMessage(options); } } /** * * Creates a new instance of the Fast Type game. * * @param options The options for the Fast Type game. * @returns * * @example * ```js * import { WekyManager } from "weky"; * import DiscordJS from "discord.js"; * * const client = new DiscordJS.Client(); * * const weky = new WekyManager(client); * * weky.createFastType(); // You can also pass options. * ``` * * @copyright All rights reserved. M3rcena Development */ async createFastType(options) { if (options.interaction) { return await FastType(options); } else if (options.message) { return await FastTypeMessage(options); } } /** * * Creates a new instance of the Fight game. * * @param options The options for the Fight game. * @returns * * @example * ```js * import { WekyManager } from "weky"; * import DiscordJS from "discord.js"; * * const client = new DiscordJS.Client(); * * const weky = new WekyManager(client); * * weky.createFight(); // You can also pass options. * ``` * * @copyright All rights reserved. M3rcena Development */ async createFight(options) { if (options.interaction) { return await Fight(options); } else if (options.message) { return await FightMessage(options); } } /** * * Creates a new instance of the Guess The Number game. * * @param options The options for the Guess The Number game. * @returns * * @example * ```js * import { WekyManager } from "weky"; * import DiscordJS from "discord.js"; * * const client = new DiscordJS.Client(); * * const weky = new WekyManager(client); * * weky.createGuessTheNumber(); // You can also pass options. * ``` * * @copyright All rights reserved. M3rcena Development */ async createGuessTheNumber(options) { if (options.interaction) { return await GuessTheNumber(options); } else if (options.message) { return await GuessTheNumberMessage(options); } } /** * * Creates a new instance of the Guess The Pokemon game. * * @param options The options for the Guess The Pokemon game. * @returns * * @example * ```js * import { WekyManager } from "weky"; * import DiscordJS from "discord.js"; * * const client = new DiscordJS.Client(); * * const weky = new WekyManager(client); * * weky.createGuessThePokemon(); // You can also pass options. * ``` * * @copyright All rights reserved. M3rcena Development */ async createGuessThePokemon(options) { if (options.interaction) { return await GuessThePokemon(options); } else if (options.message) { return await GuessThePokemonMessage(options); } } /** * * Creates a new instance of the Hangman game. * * @param options The options for the Hangman game. * @returns * * @example * ```js * import { WekyManager } from "weky"; * import DiscordJS from "discord.js"; * * const client = new DiscordJS.Client(); * * const weky = new WekyManager(client); * * weky.createHangman(); // You can also pass options. * ``` * * @copyright All rights reserved. M3rcena Development */ async createHangman(options) { if (options.interaction) { return await Hangman(options); } else if (options.message) { return await HangmanMessage(options); } } /** * * Creates a new instance of the Lie Swatter game. * * @param options The options for the Lie Swatter game. * @returns * * @example * ```js * import { WekyManager } from "weky"; * import DiscordJS from "discord.js"; * * const client = new DiscordJS.Client(); * * const weky = new WekyManager(client); * * weky.createLieSwatter(); // You can also pass options. * ``` * * @copyright All rights reserved. M3rcena Development */ async createLieSwatter(options) { if (options.interaction) { return await LieSwatter(options); } else if (options.message) { return await LieSwatterMessage(options); } } /** * * Creates a new instance of the Never Have I Ever game. * * @param options The options for the Never Have I Ever game. * @returns * * @example * ```js * import { WekyManager } from "weky"; * import DiscordJS from "discord.js"; * * const client = new DiscordJS.Client(); * * const weky = new WekyManager(client); * * weky.createNeverHaveIEver(); // You can also pass options. * ``` * * @copyright All rights reserved. M3rcena Development */ async createNeverHaveIEver(options) { if (options.interaction) { return await NeverHaveIEver(options); } else if (options.message) { return await NeverHaveIEverMessage(options); } } /** * * Creates a new instance of the Quick Click game. * * @param options The options for the Quick Click game. * @returns * * @example * ```js * import { WekyManager } from "weky"; * import DiscordJS from "discord.js"; * * const client = new DiscordJS.Client(); * * const weky = new WekyManager(client); * * weky.createQuickClick(); // You can also pass options. * ``` * * @copyright All rights reserved. M3rcena Development */ async createQuickClick(options) { if (options.interaction) { return await QuickClick(options); } else if (options.message) { return await QuickClickMessage(options); } } /** * * Creates a new instance of the Shuffle Guess game. * * @param options The options for the Shuffle Guess game. * @returns * * @example * ```js * import { WekyManager } from "weky"; * import DiscordJS from "discord.js"; * * const client = new DiscordJS.Client(); * * const weky = new WekyManager(client); * * weky.createShuffleGuess(); // You can also pass options. * ``` * * @copyright All rights reserved. M3rcena Development */ async createShuffleGuess(options) { if (options.interaction) { return await ShuffleGuess(options); } else if (options.message) { return await ShuffleGuessMessage(options); } } /** * * Creates a new instance of the Snake game. * * @param options The options for the Snake game. * @returns * * @example * ```js * import { WekyManager } from "weky"; * import DiscordJS from "discord.js"; * * const client = new DiscordJS.Client(); * * const weky = new WekyManager(client); * * weky.createSnake(); // You can also pass options. * ``` * * @copyright All rights reserved. M3rcena Development */ async createSnake(options) { if (options.interaction) { return await Snake(options); } else if (options.message) { return await SnakeMessage(options); } } /** * * Creates a new instance of the Will You Press The Button game. * * @param options The options for the Will You Press The Button game. * @returns * * @example * ```js * import { WekyManager } from "weky"; * import DiscordJS from "discord.js"; * * const client = new DiscordJS.Client(); * * const weky = new WekyManager(client); * * weky.createWillYouPressTheButton(); // You can also pass options. * ``` * * @copyright All rights reserved. M3rcena Development */ async createWillYouPressTheButton(options) { if (options.interaction) { return await WillYouPressTheButton(options); } else if (options.message) { return await WillYouPressTheButtonMessage(options); } } /** * * Creates a new instance of the Would You Rather game. * * @param options The options for the Would You Rather game. * @returns * * @example * ```js * import { WekyManager } from "weky"; * import DiscordJS from "discord.js"; * * const client = new DiscordJS.Client(); * * const weky = new WekyManager(client); * * weky.createWouldYouRather(); // You can also pass options. * ``` * * @copyright All rights reserved. M3rcena Development */ async createWouldYouRather(options) { if (options.interaction) { return await WouldYouRather(options); } else if (options.message) { return await WouldYouRatherMessage(options); } } } ;