diff --git a/src/helpers/commands/edit_slash_response.ts b/src/helpers/commands/edit_slash_response.ts index 6ee191c91..099b61b30 100644 --- a/src/helpers/commands/edit_slash_response.ts +++ b/src/helpers/commands/edit_slash_response.ts @@ -23,7 +23,7 @@ export async function editSlashResponse( if (options.allowedMentions) { if (options.allowedMentions.users?.length) { if ( - options.allowedMentions.parse.includes( + options.allowedMentions.parse?.includes( DiscordAllowedMentionsTypes.UserMentions, ) ) { @@ -42,7 +42,7 @@ export async function editSlashResponse( if (options.allowedMentions.roles?.length) { if ( - options.allowedMentions.parse.includes( + options.allowedMentions.parse?.includes( DiscordAllowedMentionsTypes.RoleMentions, ) ) { diff --git a/src/helpers/members/ban_member.ts b/src/helpers/members/ban_member.ts index fa1066e1a..1aeb83b6f 100644 --- a/src/helpers/members/ban_member.ts +++ b/src/helpers/members/ban_member.ts @@ -2,15 +2,21 @@ import { CreateGuildBan } from "../../types/guilds/create_guild_ban.ts"; import { rest } from "../../rest/rest.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts"; +import { camelKeysToSnakeCase } from "../../util/utils.ts"; /** Ban a user from the guild and optionally delete previous messages sent by the user. Requires the BAN_MEMBERS permission. */ -export async function ban(guildId: string, id: string, options: CreateGuildBan) { +export async function ban( + guildId: string, + id: string, + options: CreateGuildBan +) { await requireBotGuildPermissions(guildId, ["BAN_MEMBERS"]); - const result = await rest.runMethod("put", endpoints.GUILD_BAN(guildId, id), { - ...options, - delete_message_days: options.days, - }); + const result = await rest.runMethod( + "put", + endpoints.GUILD_BAN(guildId, id), + camelKeysToSnakeCase(options) + ); return result; } diff --git a/src/helpers/members/edit_member.ts b/src/helpers/members/edit_member.ts index 7c407acf4..1f745a055 100644 --- a/src/helpers/members/edit_member.ts +++ b/src/helpers/members/edit_member.ts @@ -10,7 +10,7 @@ import { requireBotChannelPermissions, requireBotGuildPermissions, } from "../../util/permissions.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; +import { camelKeysToSnakeCase, snakeKeysToCamelCase } from "../../util/utils.ts"; /** Edit the member */ export async function editMember( @@ -32,7 +32,7 @@ export async function editMember( if ( typeof options.mute !== "undefined" || typeof options.deaf !== "undefined" || - (typeof options.channel_id !== "undefined" || "null") + (typeof options.channelId !== "undefined" || "null") ) { const memberVoiceState = (await cacheHandlers.get("guilds", guildId)) ?.voiceStates.get(memberId); @@ -49,7 +49,7 @@ export async function editMember( requiredPerms.add("DEAFEN_MEMBERS"); } - if (options.channel_id) { + if (options.channelId) { const requiredVoicePerms: Set = new Set([ "CONNECT", "MOVE_MEMBERS", @@ -61,7 +61,7 @@ export async function editMember( ); } await requireBotChannelPermissions( - options.channel_id, + options.channelId, [...requiredVoicePerms], ); } @@ -72,7 +72,7 @@ export async function editMember( const result = await rest.runMethod( "patch", endpoints.GUILD_MEMBER(guildId, memberId), - options, + camelKeysToSnakeCase(options), ) as DiscordGuildMember; const member = await structures.createDiscordenoMember( snakeKeysToCamelCase(result), diff --git a/src/helpers/members/move_member.ts b/src/helpers/members/move_member.ts index 02d707974..678092454 100644 --- a/src/helpers/members/move_member.ts +++ b/src/helpers/members/move_member.ts @@ -11,5 +11,5 @@ export function moveMember( memberId: string, channelId: string, ) { - return editMember(guildId, memberId, { channel_id: channelId }); + return editMember(guildId, memberId, { channelId }); } diff --git a/src/helpers/messages/edit_message.ts b/src/helpers/messages/edit_message.ts index 42ffce07a..699fdca61 100644 --- a/src/helpers/messages/edit_message.ts +++ b/src/helpers/messages/edit_message.ts @@ -1,16 +1,19 @@ import { botId } from "../../bot.ts"; import { rest } from "../../rest/rest.ts"; -import { Message, structures } from "../../structures/mod.ts"; +import { DiscordenoMessage } from "../../structures/message.ts"; +import { structures } from "../../structures/mod.ts"; +import { CreateMessage } from "../../types/messages/create_message.ts"; +import { EditMessage } from "../../types/messages/edit_message.ts"; +import { DiscordMessage } from "../../types/messages/message.ts"; import { Errors } from "../../types/misc/errors.ts"; -import { DiscordMessage } from "../../types/mod.ts"; import { PermissionStrings } from "../../types/permissions/permission_strings.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotChannelPermissions } from "../../util/permissions.ts"; /** Edit the message. */ export async function editMessage( - message: Message, - content: string | MessageContent, + message: DiscordenoMessage, + content: string | EditMessage ) { if (message.author.id !== botId) { throw "You can only edit a message that was sent by the bot."; @@ -20,8 +23,6 @@ export async function editMessage( const requiredPerms: PermissionStrings[] = ["SEND_MESSAGES"]; - if (content.tts) requiredPerms.push("SEND_TTS_MESSAGES"); - await requireBotChannelPermissions(message.channelId, requiredPerms); if (content.content && content.content.length > 2000) { @@ -31,7 +32,7 @@ export async function editMessage( const result: DiscordMessage = await rest.runMethod( "patch", endpoints.CHANNEL_MESSAGE(message.channelId, message.id), - content, + content ); return structures.createDiscordenoMessage(result); diff --git a/src/helpers/webhooks/edit_webhook_message.ts b/src/helpers/webhooks/edit_webhook_message.ts index 58a8c2020..5b78ca885 100644 --- a/src/helpers/webhooks/edit_webhook_message.ts +++ b/src/helpers/webhooks/edit_webhook_message.ts @@ -23,7 +23,7 @@ export async function editWebhookMessage( if (options.allowedMentions) { if (options.allowedMentions.users?.length) { if ( - options.allowedMentions.parse.includes( + options.allowedMentions.parse?.includes( DiscordAllowedMentionsTypes.UserMentions, ) ) { @@ -42,7 +42,7 @@ export async function editWebhookMessage( if (options.allowedMentions.roles?.length) { if ( - options.allowedMentions.parse.includes( + options.allowedMentions.parse?.includes( DiscordAllowedMentionsTypes.RoleMentions, ) ) { diff --git a/src/helpers/webhooks/execute_webhook.ts b/src/helpers/webhooks/execute_webhook.ts index 97ecf6012..754d43790 100644 --- a/src/helpers/webhooks/execute_webhook.ts +++ b/src/helpers/webhooks/execute_webhook.ts @@ -27,7 +27,7 @@ export async function executeWebhook( if (options.allowedMentions) { if (options.allowedMentions.users?.length) { if ( - options.allowedMentions.parse.includes( + options.allowedMentions.parse?.includes( DiscordAllowedMentionsTypes.UserMentions, ) ) { @@ -46,7 +46,7 @@ export async function executeWebhook( if (options.allowedMentions.roles?.length) { if ( - options.allowedMentions.parse.includes( + options.allowedMentions.parse?.includes( DiscordAllowedMentionsTypes.RoleMentions, ) ) { @@ -80,6 +80,3 @@ export async function executeWebhook( return structures.createDiscordenoMessage(result as DiscordMessage); } -function DiscordAllowedMentionTypes(DiscordAllowedMentionTypes: any) { - throw new Error("Function not implemented."); -} diff --git a/src/structures/message.ts b/src/structures/message.ts index 4b9511b4f..d25b8e35a 100644 --- a/src/structures/message.ts +++ b/src/structures/message.ts @@ -57,7 +57,7 @@ const baseMessage: Partial = { return deleteMessage(this.channelId!, this.id!, reason, delayMilliseconds); }, edit(content) { - return editMessage(this as Message, content); + return editMessage(this as DiscordenoMessage, content); }, pin() { return pinMessage(this.channelId!, this.id!);