Files
bot_Tamiseur/src/commands/salonpostam/spam.ts
Zachary Guénot 60d0c01212
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 5m5s
Fix chmod
2025-06-09 19:10:35 +02:00

48 lines
1.5 KiB
TypeScript

import { SlashCommandBuilder, MessageFlags } from "discord.js"
import type { ChatInputCommandInteraction } from "discord.js"
import { t } from "@/utils/i18n"
export const data = new SlashCommandBuilder()
.setName("spam")
.setDescription("Spam a user with a message")
.setDescriptionLocalizations({ fr: "Spammer un utilisateur avec un message" })
.addUserOption(option => option
.setName("user")
.setDescription("Target user")
.setNameLocalizations({ fr: "utilisateur" })
.setDescriptionLocalizations({ fr: "Utilisateur cible" })
.setRequired(true)
)
.addStringOption(option => option
.setName("message")
.setDescription("Message to spam")
.setDescriptionLocalizations({ fr: "Message à spammer" })
.setRequired(true)
)
.addIntegerOption(option => option
.setName("count")
.setDescription("Number of times to spam")
.setNameLocalizations({ fr: "nombre" })
.setDescriptionLocalizations({ fr: "Nombre de fois à spammer" })
.setRequired(true)
.setMinValue(1)
.setMaxValue(100)
)
export async function execute(interaction: ChatInputCommandInteraction) {
const user = interaction.options.getUser("user", true)
const string = interaction.options.getString("message", true)
const integer = interaction.options.getInteger("count", true)
await interaction.reply({ content: t(interaction.locale, "salonpostam.spam.started"), flags: MessageFlags.Ephemeral })
let i = 0
function myLoop() {
setTimeout(() => {
user.send(string).catch(console.error)
i++
if (i < integer) myLoop()
}, 1000)
}
myLoop()
}