Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 5m5s
48 lines
1.5 KiB
TypeScript
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()
|
|
}
|