Files
illegitimate-bot/src/components/autocomplete/unban.ts
2025-06-01 20:30:58 +02:00

33 lines
1017 B
TypeScript

import { IAutocomplete } from "~/typings"
import { log } from "~/utils/Logger"
export default {
name: "unban",
description: "Unban a user from the server",
async execute({ interaction }) {
const focusedOption = interaction.options.getFocused(true)
if (focusedOption.name !== "user") return
if (focusedOption.value === "") {
await interaction.respond([{
name: "Please start typing a username to unban",
value: "none"
}])
return
}
const bannedUsers = await interaction.guild!.bans.fetch()
const filteredUsers = bannedUsers.filter(user => user.user.username.toLowerCase().includes(focusedOption.value.toLowerCase()))
const results = filteredUsers.map(user => ({
name: user.user.username,
value: user.user.id
}))
await interaction.respond(results.slice(0, 25)).catch(err => {
log.error(err)
})
}
} as IAutocomplete