falgames
Version:
Falgames is a helpful package to enhance your discord bot with fun and interactive minigames
111 lines (101 loc) • 2.95 kB
JavaScript
import { ButtonBuilder } from "discord.js"
export function disableButtons(components) {
for (let x = 0; x < components.length; x++) {
for (let y = 0; y < components[x].components.length; y++) {
components[x].components[y] = ButtonBuilder.from(components[x].components[y])
components[x].components[y].setDisabled(true)
}
}
return components
}
export function getNumEmoji(number) {
const numEmoji = ["0️⃣", "1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣", "6️⃣", "7️⃣", "8️⃣", "9️⃣", "🔟"]
return numEmoji[number]
}
export function formatMessage(options, contentMsg) {
const { message, opponent } = options
let content = options[contentMsg]
content = content
.replace("{player.tag}", message.author.tag)
.replace("{player.username}", message.author.username)
.replace("{player}", `<@!${message.author.id}>`)
content = content
.replace("{opponent.tag}", opponent?.tag)
.replace("{opponent.username}", opponent?.username)
.replace("{opponent}", `<@!${opponent?.id}>`)
return content
}
export function move(pos, direction) {
if (direction === "up") return { x: pos.x, y: pos.y - 1 }
else if (direction === "down") return { x: pos.x, y: pos.y + 1 }
else if (direction === "left") return { x: pos.x - 1, y: pos.y }
else if (direction === "right") return { x: pos.x + 1, y: pos.y }
else return pos
}
export function oppDirection(direction) {
if (direction === "up") return "down"
else if (direction === "down") return "up"
else if (direction === "left") return "right"
else if (direction === "right") return "left"
}
export function getAlphaEmoji(letter) {
const letters = {
A: "🇦",
B: "🇧",
C: "🇨",
D: "🇩",
E: "🇪",
F: "🇫",
G: "🇬",
H: "🇭",
I: "🇮",
J: "🇯",
K: "🇰",
L: "🇱",
M: "🇲",
N: "🇳",
O: "🇴",
P: "🇵",
Q: "🇶",
R: "🇷",
S: "🇸",
T: "🇹",
U: "🇺",
V: "🇻",
W: "🇼",
X: "🇽",
Y: "🇾",
Z: "🇿",
}
if (letter == 0) return Object.keys(letters).slice(0, 12)
if (letter == 1) return Object.keys(letters).slice(12, 24)
return letters[letter]
}
export function shuffleArray(array) {
for (let i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1))
;[array[i], array[j]] = [array[j], array[i]]
}
return array
}
export function randomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min
}
const _ButtonBuilder = class buttonBuilder extends ButtonBuilder {
constructor(options) {
super(options)
}
setStyle(style) {
this.data.style = style === "PRIMARY" ? 1 : style === "SUCCESS" ? 3 : style === "DANGER" ? 4 : 2
return this
}
removeLabel() {
this.data.label = null
return this
}
removeEmoji() {
this.data.emoji = null
return this
}
}
export { _ButtonBuilder as ButtonBuilder }