diff --git a/src/helpers/interactions/send_interaction_response.ts b/src/helpers/interactions/send_interaction_response.ts index 04b8099a2..ebf995ee6 100644 --- a/src/helpers/interactions/send_interaction_response.ts +++ b/src/helpers/interactions/send_interaction_response.ts @@ -5,13 +5,18 @@ import type { DiscordenoInteractionResponse } from "../../types/discordeno/inter import { endpoints } from "../../util/constants.ts"; import { snakelize, validateComponents } from "../../util/utils.ts"; +// TODO: v12 remove | string /** * Send a response to a users slash command. The command data will have the id and token necessary to respond. * Interaction `tokens` are valid for **15 minutes** and can be used to send followup messages. * * NOTE: By default we will suppress mentions. To enable mentions, just pass any mentions object. */ -export async function sendInteractionResponse(id: bigint, token: string, options: DiscordenoInteractionResponse) { +export async function sendInteractionResponse( + id: bigint | string, + token: string, + options: DiscordenoInteractionResponse +) { // TODO: add more options validations if (options.data?.components) validateComponents(options.data?.components); @@ -37,5 +42,9 @@ export async function sendInteractionResponse(id: bigint, token: string, options cache.executedSlashCommands.delete(token); }, 900000); - return await rest.runMethod("post", endpoints.INTERACTION_ID_TOKEN(id, token), snakelize(options)); + return await rest.runMethod( + "post", + endpoints.INTERACTION_ID_TOKEN(typeof id === "bigint" ? id : BigInt(id), token), + snakelize(options) + ); } diff --git a/src/structures/member.ts b/src/structures/member.ts index db38d6734..906c7536a 100644 --- a/src/structures/member.ts +++ b/src/structures/member.ts @@ -46,7 +46,7 @@ const baseMember: Partial = { return `<@!${this.id!}>`; }, get tag() { - return `${this.username!}#${this.discriminator!}`; + return `${this.username!}#${this.discriminator!.toString().padStart(4, "0")}`; }, // METHODS @@ -232,7 +232,9 @@ export interface DiscordenoMember extends Omit & { joinedAt?: number; premiumSince?: number; diff --git a/src/structures/message.ts b/src/structures/message.ts index 74d807936..d005ddf4f 100644 --- a/src/structures/message.ts +++ b/src/structures/message.ts @@ -228,7 +228,7 @@ export async function createDiscordenoMessage(data: Message) { props.authorId = createNewProp(snowflakeToBigint(author.id)); props.isBot = createNewProp(author.bot || false); - props.tag = createNewProp(`${author.username}#${author.discriminator}`); + props.tag = createNewProp(`${author.username}#${author.discriminator.toString().padStart(4, "0")}`); // Discord doesnt give guild id for getMessage() so this will fill it in const guildIdFinal =