From 7a6b4bf2d7325f107cc4d1f8cc2d80a262035d78 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 9 Apr 2021 23:07:20 +0200 Subject: [PATCH] ref --- src/cache.ts | 85 ++++++++++--------- src/handlers/channels/CHANNEL_CREATE.ts | 6 +- src/handlers/channels/CHANNEL_UPDATE.ts | 6 +- src/handlers/guilds/GUILD_CREATE.ts | 10 +-- .../interactions/INTERACTION_CREATE.ts | 6 +- src/handlers/members/GUILD_MEMBERS_CHUNK.ts | 6 +- src/handlers/members/GUILD_MEMBER_ADD.ts | 6 +- src/handlers/members/GUILD_MEMBER_UPDATE.ts | 14 +-- src/handlers/messages/MESSAGE_CREATE.ts | 14 +-- src/handlers/messages/MESSAGE_REACTION_ADD.ts | 4 +- .../messages/MESSAGE_REACTION_REMOVE.ts | 4 +- src/handlers/messages/MESSAGE_UPDATE.ts | 2 +- src/handlers/misc/READY.ts | 6 +- src/handlers/roles/GUILD_ROLE_CREATE.ts | 2 +- src/handlers/roles/GUILD_ROLE_UPDATE.ts | 2 +- src/handlers/voice/VOICE_STATE_UPDATE.ts | 2 +- src/helpers/channels/create_channel.ts | 6 +- src/helpers/channels/get_channel.ts | 10 ++- src/helpers/channels/get_channels.ts | 13 ++- src/helpers/channels/get_pins.ts | 2 +- src/helpers/commands/edit_slash_response.ts | 2 +- src/helpers/guilds/create_guild.ts | 2 +- src/helpers/guilds/edit_guild.ts | 2 +- src/helpers/members/edit_member.ts | 2 +- src/helpers/members/get_member.ts | 9 +- src/helpers/members/get_members.ts | 18 ++-- src/helpers/members/send_direct_message.ts | 6 +- src/helpers/messages/edit_message.ts | 2 +- src/helpers/messages/get_message.ts | 2 +- src/helpers/messages/get_messages.ts | 2 +- src/helpers/messages/publish_message.ts | 2 +- src/helpers/messages/send_message.ts | 2 +- src/helpers/roles/create_role.ts | 2 +- src/helpers/webhooks/edit_webhook_message.ts | 2 +- src/helpers/webhooks/execute_webhook.ts | 2 +- src/structures/channel.ts | 20 +++-- src/structures/guild.ts | 56 ++++++------ src/structures/member.ts | 18 ++-- src/structures/message.ts | 30 +++---- src/structures/mod.ts | 20 ++--- src/structures/role.ts | 16 ++-- 41 files changed, 233 insertions(+), 190 deletions(-) diff --git a/src/cache.ts b/src/cache.ts index e09cc63fe..7c4a6e901 100644 --- a/src/cache.ts +++ b/src/cache.ts @@ -1,8 +1,8 @@ // deno-lint-ignore-file require-await no-explicit-any prefer-const -import { ChannelStruct } from "./structures/channel.ts"; -import { GuildStruct } from "./structures/guild.ts"; -import { MemberStruct } from "./structures/member.ts"; -import { MessageStruct } from "./structures/message.ts"; +import { DiscordenoChannel } from "./structures/channel.ts"; +import { DiscordenoGuild } from "./structures/guild.ts"; +import { DiscordenoMember } from "./structures/member.ts"; +import { DiscordenoMessage } from "./structures/message.ts"; import { Emoji } from "./types/emojis/emoji.ts"; import { PresenceUpdate } from "./types/misc/presence_update.ts"; import { Collection } from "./util/collection.ts"; @@ -10,13 +10,13 @@ import { Collection } from "./util/collection.ts"; export const cache = { isReady: false, /** All of the guild objects the bot has access to, mapped by their Ids */ - guilds: new Collection(), + guilds: new Collection(), /** All of the channel objects the bot has access to, mapped by their Ids */ - channels: new Collection(), + channels: new Collection(), /** All of the message objects the bot has cached since the bot acquired `READY` state, mapped by their Ids */ - messages: new Collection(), + messages: new Collection(), /** All of the member objects that have been cached since the bot acquired `READY` state, mapped by their Ids */ - members: new Collection(), + members: new Collection(), /** All of the unavailable guilds, mapped by their Ids (id, timestamp) */ unavailableGuilds: new Collection(), /** All of the presence update objects received in PRESENCE_UPDATE gateway event, mapped by their user Id */ @@ -25,8 +25,8 @@ export const cache = { string, ( value: - | Collection - | PromiseLike>, + | Collection + | PromiseLike>, ) => void >(), executedSlashCommands: new Collection(), @@ -81,23 +81,23 @@ export type TableName = function set( table: "guilds", key: string, - value: GuildStruct, -): Promise>; + value: DiscordenoGuild, +): Promise>; function set( table: "channels", key: string, - value: ChannelStruct, -): Promise>; + value: DiscordenoChannel, +): Promise>; function set( table: "messages", key: string, - value: MessageStruct, -): Promise>; + value: DiscordenoMessage, +): Promise>; function set( table: "members", key: string, - value: MemberStruct, -): Promise>; + value: DiscordenoMember, +): Promise>; function set( table: "presences", key: string, @@ -112,13 +112,22 @@ async function set(table: TableName, key: string, value: any) { return cache[table].set(key, value); } -function get(table: "guilds", key: string): Promise; +function get( + table: "guilds", + key: string, +): Promise; function get( table: "channels", key: string, -): Promise; -function get(table: "messages", key: string): Promise; -function get(table: "members", key: string): Promise; +): Promise; +function get( + table: "messages", + key: string, +): Promise; +function get( + table: "members", + key: string, +): Promise; function get( table: "presences", key: string, @@ -134,9 +143,9 @@ async function get(table: TableName, key: string) { function forEach( table: "guilds", callback: ( - value: GuildStruct, + value: DiscordenoGuild, key: string, - map: Map, + map: Map, ) => unknown, ): void; function forEach( @@ -146,25 +155,25 @@ function forEach( function forEach( table: "channels", callback: ( - value: ChannelStruct, + value: DiscordenoChannel, key: string, - map: Map, + map: Map, ) => unknown, ): void; function forEach( table: "messages", callback: ( - value: MessageStruct, + value: DiscordenoMessage, key: string, - map: Map, + map: Map, ) => unknown, ): void; function forEach( table: "members", callback: ( - value: MemberStruct, + value: DiscordenoMember, key: string, - map: Map, + map: Map, ) => unknown, ): void; function forEach( @@ -176,24 +185,24 @@ function forEach( function filter( table: "guilds", - callback: (value: GuildStruct, key: string) => boolean, -): Promise>; + callback: (value: DiscordenoGuild, key: string) => boolean, +): Promise>; function filter( table: "unavailableGuilds", callback: (value: number, key: string) => boolean, ): Promise>; function filter( table: "channels", - callback: (value: ChannelStruct, key: string) => boolean, -): Promise>; + callback: (value: DiscordenoChannel, key: string) => boolean, +): Promise>; function filter( table: "messages", - callback: (value: MessageStruct, key: string) => boolean, -): Promise>; + callback: (value: DiscordenoMessage, key: string) => boolean, +): Promise>; function filter( table: "members", - callback: (value: MemberStruct, key: string) => boolean, -): Promise>; + callback: (value: DiscordenoMember, key: string) => boolean, +): Promise>; async function filter( table: TableName, callback: (value: any, key: string) => boolean, diff --git a/src/handlers/channels/CHANNEL_CREATE.ts b/src/handlers/channels/CHANNEL_CREATE.ts index 69a3642ad..3c04e9288 100644 --- a/src/handlers/channels/CHANNEL_CREATE.ts +++ b/src/handlers/channels/CHANNEL_CREATE.ts @@ -7,8 +7,8 @@ import { DiscordGatewayPayload } from "../../types/gateway/gateway_payload.ts"; export async function handleChannelCreate(data: DiscordGatewayPayload) { const payload = data.d as DiscordChannel; - const channelStruct = await structures.createChannelStruct(payload); - await cacheHandlers.set("channels", channelStruct.id, channelStruct); + const discordenoChannel = await structures.createDiscordenoChannel(payload); + await cacheHandlers.set("channels", discordenoChannel.id, discordenoChannel); - eventHandlers.channelCreate?.(channelStruct); + eventHandlers.channelCreate?.(discordenoChannel); } diff --git a/src/handlers/channels/CHANNEL_UPDATE.ts b/src/handlers/channels/CHANNEL_UPDATE.ts index 736e297f6..27f0d5d80 100644 --- a/src/handlers/channels/CHANNEL_UPDATE.ts +++ b/src/handlers/channels/CHANNEL_UPDATE.ts @@ -8,10 +8,10 @@ export async function handleChannelUpdate(data: DiscordGatewayPayload) { const payload = data.d as DiscordChannel; const cachedChannel = await cacheHandlers.get("channels", payload.id); - const channelStruct = await structures.createChannelStruct(payload); - await cacheHandlers.set("channels", channelStruct.id, channelStruct); + const discordenoChannel = await structures.createDiscordenoChannel(payload); + await cacheHandlers.set("channels", discordenoChannel.id, discordenoChannel); if (!cachedChannel) return; - eventHandlers.channelUpdate?.(channelStruct, cachedChannel); + eventHandlers.channelUpdate?.(discordenoChannel, cachedChannel); } diff --git a/src/handlers/guilds/GUILD_CREATE.ts b/src/handlers/guilds/GUILD_CREATE.ts index f09e37dc1..3d391e9f3 100644 --- a/src/handlers/guilds/GUILD_CREATE.ts +++ b/src/handlers/guilds/GUILD_CREATE.ts @@ -13,11 +13,11 @@ export async function handleGuildCreate( // When shards resume they emit GUILD_CREATE again. if (await cacheHandlers.has("guilds", payload.id)) return; - const guildStruct = await structures.createGuildStruct( + const discordenoGuild = await structures.createDiscordenoGuild( payload, shardId, ); - await cacheHandlers.set("guilds", guildStruct.id, guildStruct); + await cacheHandlers.set("guilds", discordenoGuild.id, discordenoGuild); const shard = ws.shards.get(shardId); @@ -26,9 +26,9 @@ export async function handleGuildCreate( shard.unavailableGuildIds.delete(payload.id); - return eventHandlers.guildAvailable?.(guildStruct); + return eventHandlers.guildAvailable?.(discordenoGuild); } - if (!cache.isReady) return eventHandlers.guildLoaded?.(guildStruct); - eventHandlers.guildCreate?.(guildStruct); + if (!cache.isReady) return eventHandlers.guildLoaded?.(discordenoGuild); + eventHandlers.guildCreate?.(discordenoGuild); } diff --git a/src/handlers/interactions/INTERACTION_CREATE.ts b/src/handlers/interactions/INTERACTION_CREATE.ts index dc59476d3..7d24eb33c 100644 --- a/src/handlers/interactions/INTERACTION_CREATE.ts +++ b/src/handlers/interactions/INTERACTION_CREATE.ts @@ -5,16 +5,16 @@ import { DiscordGatewayPayload } from "../../types/gateway/gateway_payload.ts"; export async function handleInteractionCreate(data: DiscordGatewayPayload) { const payload = data.d as InteractionCommandPayload; - const memberStruct = await structures.createMemberStruct( + const discordenoMember = await structures.createDiscordenoMember( payload.member, payload.guild_id, ); - await cacheHandlers.set("members", memberStruct.id, memberStruct); + await cacheHandlers.set("members", discordenoMember.id, discordenoMember); eventHandlers.interactionCreate?.( { ...payload, - member: memberStruct, + member: discordenoMember, }, ); } diff --git a/src/handlers/members/GUILD_MEMBERS_CHUNK.ts b/src/handlers/members/GUILD_MEMBERS_CHUNK.ts index e3452cb34..c65cf50c3 100644 --- a/src/handlers/members/GUILD_MEMBERS_CHUNK.ts +++ b/src/handlers/members/GUILD_MEMBERS_CHUNK.ts @@ -9,13 +9,13 @@ export async function handleGuildMembersChunk(data: DiscordGatewayPayload) { const members = await Promise.all( payload.members.map(async (member) => { - const memberStruct = await structures.createMemberStruct( + const discordenoMember = await structures.createDiscordenoMember( member, payload.guild_id, ); - await cacheHandlers.set("members", memberStruct.id, memberStruct); + await cacheHandlers.set("members", discordenoMember.id, discordenoMember); - return memberStruct; + return discordenoMember; }), ); diff --git a/src/handlers/members/GUILD_MEMBER_ADD.ts b/src/handlers/members/GUILD_MEMBER_ADD.ts index f9d5609fb..af60fc83a 100644 --- a/src/handlers/members/GUILD_MEMBER_ADD.ts +++ b/src/handlers/members/GUILD_MEMBER_ADD.ts @@ -10,11 +10,11 @@ export async function handleGuildMemberAdd(data: DiscordGatewayPayload) { if (!guild) return; guild.memberCount++; - const memberStruct = await structures.createMemberStruct( + const discordenoMember = await structures.createDiscordenoMember( payload, payload.guild_id, ); - await cacheHandlers.set("members", memberStruct.id, memberStruct); + await cacheHandlers.set("members", discordenoMember.id, discordenoMember); - eventHandlers.guildMemberAdd?.(guild, memberStruct); + eventHandlers.guildMemberAdd?.(guild, discordenoMember); } diff --git a/src/handlers/members/GUILD_MEMBER_UPDATE.ts b/src/handlers/members/GUILD_MEMBER_UPDATE.ts index 443554894..80431f9db 100644 --- a/src/handlers/members/GUILD_MEMBER_UPDATE.ts +++ b/src/handlers/members/GUILD_MEMBER_UPDATE.ts @@ -23,24 +23,24 @@ export async function handleGuildMemberUpdate(data: DiscordGatewayPayload) { mute: guildMember?.mute || false, roles: payload.roles, }; - const memberStruct = await structures.createMemberStruct( + const discordenoMember = await structures.createDiscordenoMember( newMemberData, payload.guild_id, ); - await cacheHandlers.set("members", memberStruct.id, memberStruct); + await cacheHandlers.set("members", discordenoMember.id, discordenoMember); if (guildMember) { if (guildMember.nick !== payload.nick) { eventHandlers.nicknameUpdate?.( guild, - memberStruct, + discordenoMember, payload.nick!, guildMember.nick, ); } if (payload.pending === false && guildMember.pending === true) { - eventHandlers.membershipScreeningPassed?.(guild, memberStruct); + eventHandlers.membershipScreeningPassed?.(guild, discordenoMember); } const roleIds = guildMember.roles || []; @@ -51,7 +51,7 @@ export async function handleGuildMemberUpdate(data: DiscordGatewayPayload) { `1. Running forEach loop in GUILD_MEMBER_UPDATE file.`, ); if (!payload.roles.includes(id)) { - eventHandlers.roleLost?.(guild, memberStruct, id); + eventHandlers.roleLost?.(guild, discordenoMember, id); } }); @@ -61,10 +61,10 @@ export async function handleGuildMemberUpdate(data: DiscordGatewayPayload) { `2. Running forEach loop in GUILD_MEMBER_UPDATE file.`, ); if (!roleIds.includes(id)) { - eventHandlers.roleGained?.(guild, memberStruct, id); + eventHandlers.roleGained?.(guild, discordenoMember, id); } }); } - eventHandlers.guildMemberUpdate?.(guild, memberStruct, cachedMember); + eventHandlers.guildMemberUpdate?.(guild, discordenoMember, cachedMember); } diff --git a/src/handlers/messages/MESSAGE_CREATE.ts b/src/handlers/messages/MESSAGE_CREATE.ts index 04c096849..d9c716b0b 100644 --- a/src/handlers/messages/MESSAGE_CREATE.ts +++ b/src/handlers/messages/MESSAGE_CREATE.ts @@ -15,26 +15,30 @@ export async function handleMessageCreate(data: DiscordGatewayPayload) { if (payload.member && guild) { // If in a guild cache the author as a member - const memberStruct = await structures.createMemberStruct( + const discordenoMember = await structures.createDiscordenoMember( { ...payload.member, user: payload.author }, guild.id, ); - await cacheHandlers.set("members", memberStruct.id, memberStruct); + await cacheHandlers.set("members", discordenoMember.id, discordenoMember); } await Promise.all(payload.mentions.map(async (mention) => { // Cache the member if its a valid member if (mention.member && guild) { - const memberStruct = await structures.createMemberStruct( + const discordenoMember = await structures.createDiscordenoMember( { ...mention.member, user: mention }, guild.id, ); - return cacheHandlers.set("members", memberStruct.id, memberStruct); + return cacheHandlers.set( + "members", + discordenoMember.id, + discordenoMember, + ); } })); - const message = await structures.createMessageStruct(payload); + const message = await structures.createDiscordenoMessage(payload); // Cache the message await cacheHandlers.set("messages", payload.id, message); diff --git a/src/handlers/messages/MESSAGE_REACTION_ADD.ts b/src/handlers/messages/MESSAGE_REACTION_ADD.ts index 1ff39127b..cfafa997a 100644 --- a/src/handlers/messages/MESSAGE_REACTION_ADD.ts +++ b/src/handlers/messages/MESSAGE_REACTION_ADD.ts @@ -33,11 +33,11 @@ export async function handleMessageReactionAdd(data: DiscordGatewayPayload) { if (payload.member && payload.guild_id) { const guild = await cacheHandlers.get("guilds", payload.guild_id); if (guild) { - const memberStruct = await structures.createMemberStruct( + const discordenoMember = await structures.createDiscordenoMember( payload.member, guild.id, ); - await cacheHandlers.set("members", memberStruct.id, memberStruct); + await cacheHandlers.set("members", discordenoMember.id, discordenoMember); } } diff --git a/src/handlers/messages/MESSAGE_REACTION_REMOVE.ts b/src/handlers/messages/MESSAGE_REACTION_REMOVE.ts index 91e2dd7bf..721b123cb 100644 --- a/src/handlers/messages/MESSAGE_REACTION_REMOVE.ts +++ b/src/handlers/messages/MESSAGE_REACTION_REMOVE.ts @@ -35,11 +35,11 @@ export async function handleMessageReactionRemove( if (payload.member && payload.guild_id) { const guild = await cacheHandlers.get("guilds", payload.guild_id); if (guild) { - const memberStruct = await structures.createMemberStruct( + const discordenoMember = await structures.createDiscordenoMember( payload.member, guild.id, ); - await cacheHandlers.set("members", memberStruct.id, memberStruct); + await cacheHandlers.set("members", discordenoMember.id, discordenoMember); } } diff --git a/src/handlers/messages/MESSAGE_UPDATE.ts b/src/handlers/messages/MESSAGE_UPDATE.ts index e0bd4d1be..2e38ebca2 100644 --- a/src/handlers/messages/MESSAGE_UPDATE.ts +++ b/src/handlers/messages/MESSAGE_UPDATE.ts @@ -29,7 +29,7 @@ export async function handleMessageUpdate(data: DiscordGatewayPayload) { return; } - const message = await structures.createMessageStruct(payload); + const message = await structures.createDiscordenoMessage(payload); await cacheHandlers.set("messages", payload.id, message); diff --git a/src/handlers/misc/READY.ts b/src/handlers/misc/READY.ts index ef84f303e..b58de7c83 100644 --- a/src/handlers/misc/READY.ts +++ b/src/handlers/misc/READY.ts @@ -102,15 +102,15 @@ async function loaded(shardId: number) { ); await Promise.allSettled( members.map(async (member) => { - const memberStruct = await structures.createMemberStruct( + const discordenoMember = await structures.createDiscordenoMember( snakeKeysToCamelCase(member), guildId, ); return cacheHandlers.set( "members", - memberStruct.id, - memberStruct, + discordenoMember.id, + discordenoMember, ); }), ); diff --git a/src/handlers/roles/GUILD_ROLE_CREATE.ts b/src/handlers/roles/GUILD_ROLE_CREATE.ts index 24720435e..5259734e0 100644 --- a/src/handlers/roles/GUILD_ROLE_CREATE.ts +++ b/src/handlers/roles/GUILD_ROLE_CREATE.ts @@ -8,7 +8,7 @@ export async function handleGuildRoleCreate(data: DiscordGatewayPayload) { const guild = await cacheHandlers.get("guilds", payload.guild_id); if (!guild) return; - const role = await structures.createRoleStruct(payload.role); + const role = await structures.createDiscordenoRole(payload.role); guild.roles = guild.roles.set(payload.role.id, role); await cacheHandlers.set("guilds", payload.guild_id, guild); diff --git a/src/handlers/roles/GUILD_ROLE_UPDATE.ts b/src/handlers/roles/GUILD_ROLE_UPDATE.ts index 9c02deeb9..22c78ba1a 100644 --- a/src/handlers/roles/GUILD_ROLE_UPDATE.ts +++ b/src/handlers/roles/GUILD_ROLE_UPDATE.ts @@ -11,7 +11,7 @@ export async function handleGuildRoleUpdate(data: DiscordGatewayPayload) { const cachedRole = guild.roles.get(payload.role.id); if (!cachedRole) return; - const role = await structures.createRoleStruct(payload.role); + const role = await structures.createDiscordenoRole(payload.role); guild.roles.set(payload.role.id, role); await cacheHandlers.set("guilds", guild.id, guild); diff --git a/src/handlers/voice/VOICE_STATE_UPDATE.ts b/src/handlers/voice/VOICE_STATE_UPDATE.ts index 0a62c2949..132a13275 100644 --- a/src/handlers/voice/VOICE_STATE_UPDATE.ts +++ b/src/handlers/voice/VOICE_STATE_UPDATE.ts @@ -12,7 +12,7 @@ export async function handleVoiceStateUpdate(data: DiscordGatewayPayload) { if (!guild) return; const member = payload.member - ? await structures.createMemberStruct(payload.member, guild.id) + ? await structures.createDiscordenoMember(payload.member, guild.id) : await cacheHandlers.get("members", payload.user_id); if (!member) return; diff --git a/src/helpers/channels/create_channel.ts b/src/helpers/channels/create_channel.ts index f6815e7f2..721fe2847 100644 --- a/src/helpers/channels/create_channel.ts +++ b/src/helpers/channels/create_channel.ts @@ -45,8 +45,8 @@ export async function createChannel( }, )) as DiscordChannel; - const channelStruct = await structures.createChannelStruct(result); - await cacheHandlers.set("channels", channelStruct.id, channelStruct); + const discordenoChannel = await structures.createDiscordenoChannel(result); + await cacheHandlers.set("channels", discordenoChannel.id, discordenoChannel); - return channelStruct; + return discordenoChannel; } diff --git a/src/helpers/channels/get_channel.ts b/src/helpers/channels/get_channel.ts index bd5e880bb..e0023133a 100644 --- a/src/helpers/channels/get_channel.ts +++ b/src/helpers/channels/get_channel.ts @@ -14,13 +14,17 @@ export async function getChannel(channelId: string, addToCache = true) { endpoints.CHANNEL_BASE(channelId), )) as DiscordChannel; - const channelStruct = await structures.createChannelStruct( + const discordenoChannel = await structures.createDiscordenoChannel( result, result.guild_id, ); if (addToCache) { - await cacheHandlers.set("channels", channelStruct.id, channelStruct); + await cacheHandlers.set( + "channels", + discordenoChannel.id, + discordenoChannel, + ); } - return channelStruct; + return discordenoChannel; } diff --git a/src/helpers/channels/get_channels.ts b/src/helpers/channels/get_channels.ts index 21b0999d0..22e22c245 100644 --- a/src/helpers/channels/get_channels.ts +++ b/src/helpers/channels/get_channels.ts @@ -15,11 +15,18 @@ export async function getChannels(guildId: string, addToCache = true) { ) as DiscordChannel[]); return Promise.all(result.map(async (res) => { - const channelStruct = await structures.createChannelStruct(res, guildId); + const discordenoChannel = await structures.createDiscordenoChannel( + res, + guildId, + ); if (addToCache) { - await cacheHandlers.set("channels", channelStruct.id, channelStruct); + await cacheHandlers.set( + "channels", + discordenoChannel.id, + discordenoChannel, + ); } - return channelStruct; + return discordenoChannel; })); } diff --git a/src/helpers/channels/get_pins.ts b/src/helpers/channels/get_pins.ts index 6f6d12a2d..c09237216 100644 --- a/src/helpers/channels/get_pins.ts +++ b/src/helpers/channels/get_pins.ts @@ -11,6 +11,6 @@ export async function getPins(channelId: string) { )) as DiscordMessage[]; return Promise.all( - result.map((res) => structures.createMessageStruct(res)), + result.map((res) => structures.createDiscordenoMessage(res)), ); } diff --git a/src/helpers/commands/edit_slash_response.ts b/src/helpers/commands/edit_slash_response.ts index f3c49f34d..6ee191c91 100644 --- a/src/helpers/commands/edit_slash_response.ts +++ b/src/helpers/commands/edit_slash_response.ts @@ -71,7 +71,7 @@ export async function editSlashResponse( // If the original message was edited, this will not return a message if (!options.messageId) return result; - const message = await structures.createMessageStruct( + const message = await structures.createDiscordenoMessage( result as DiscordMessage, ); return message; diff --git a/src/helpers/guilds/create_guild.ts b/src/helpers/guilds/create_guild.ts index cb58b92ac..cd9d43a11 100644 --- a/src/helpers/guilds/create_guild.ts +++ b/src/helpers/guilds/create_guild.ts @@ -12,5 +12,5 @@ export async function createGuild(options: CreateGuild) { options, )) as DiscordGuild; - return structures.createGuildStruct(guild, 0); + return structures.createDiscordenoGuild(guild, 0); } diff --git a/src/helpers/guilds/edit_guild.ts b/src/helpers/guilds/edit_guild.ts index a45217594..77e9367ce 100644 --- a/src/helpers/guilds/edit_guild.ts +++ b/src/helpers/guilds/edit_guild.ts @@ -28,5 +28,5 @@ export async function editGuild(guildId: string, options: ModifyGuild) { options, ) as DiscordGuild; - return structures.createGuildStruct(result, -1); + return structures.createDiscordenoGuild(result, -1); } diff --git a/src/helpers/members/edit_member.ts b/src/helpers/members/edit_member.ts index 067590835..5e91ada36 100644 --- a/src/helpers/members/edit_member.ts +++ b/src/helpers/members/edit_member.ts @@ -70,7 +70,7 @@ export async function editMember( endpoints.GUILD_MEMBER(guildId, memberId), options, ) as MemberCreatePayload; - const member = await structures.createMemberStruct(result, guildId); + const member = await structures.createDiscordenoMember(result, guildId); return member; } diff --git a/src/helpers/members/get_member.ts b/src/helpers/members/get_member.ts index 52d529adb..bb98ec7cb 100644 --- a/src/helpers/members/get_member.ts +++ b/src/helpers/members/get_member.ts @@ -20,8 +20,11 @@ export async function getMember( endpoints.GUILD_MEMBER(guildId, id), )) as MemberCreatePayload; - const memberStruct = await structures.createMemberStruct(data, guildId); - await cacheHandlers.set("members", memberStruct.id, memberStruct); + const discordenoMember = await structures.createDiscordenoMember( + data, + guildId, + ); + await cacheHandlers.set("members", discordenoMember.id, discordenoMember); - return memberStruct; + return discordenoMember; } diff --git a/src/helpers/members/get_members.ts b/src/helpers/members/get_members.ts index e322417af..e67be723a 100644 --- a/src/helpers/members/get_members.ts +++ b/src/helpers/members/get_members.ts @@ -51,22 +51,26 @@ export async function getMembers(guildId: string, options?: GetMemberOptions) { }${options?.after ? `&after=${options.after}` : ""}`, )) as DiscordGuildMember[]; - const memberStructures = await Promise.all( + const discordenoMembers = await Promise.all( result.map(async (member) => { - const memberStruct = await structures.createMemberStruct( + const discordenoMember = await structures.createDiscordenoMember( member, guildId, ); - await cacheHandlers.set("members", memberStruct.id, memberStruct); + await cacheHandlers.set( + "members", + discordenoMember.id, + discordenoMember, + ); - return memberStruct; + return discordenoMember; }), ) as Member[]; - if (!memberStructures.length) break; + if (!discordenoMembers.length) break; - memberStructures.forEach((member) => { + discordenoMembers.forEach((member) => { eventHandlers.debug?.( "loop", `Running forEach loop in get_members file.`, @@ -76,7 +80,7 @@ export async function getMembers(guildId: string, options?: GetMemberOptions) { options = { limit: options?.limit, - after: memberStructures[memberStructures.length - 1].id, + after: discordenoMembers[discordenoMembers.length - 1].id, }; membersLeft -= 1000; diff --git a/src/helpers/members/send_direct_message.ts b/src/helpers/members/send_direct_message.ts index 4b7a4b802..a4ff63bbf 100644 --- a/src/helpers/members/send_direct_message.ts +++ b/src/helpers/members/send_direct_message.ts @@ -15,12 +15,12 @@ export async function sendDirectMessage( const dmChannelData = await rest.runMethod("post", endpoints.USER_DM, { recipient_id: memberId, }) as DMChannelCreatePayload; - const channelStruct = await structures.createChannelStruct( + const discordenoChannel = await structures.createDiscordenoChannel( dmChannelData as unknown as ChannelCreatePayload, ); // Recreate the channel and add it undert he users id - await cacheHandlers.set("channels", memberId, channelStruct); - dmChannel = channelStruct; + await cacheHandlers.set("channels", memberId, discordenoChannel); + dmChannel = discordenoChannel; } // If it does exist try sending a message to this user diff --git a/src/helpers/messages/edit_message.ts b/src/helpers/messages/edit_message.ts index 1be74894f..c22e96695 100644 --- a/src/helpers/messages/edit_message.ts +++ b/src/helpers/messages/edit_message.ts @@ -33,5 +33,5 @@ export async function editMessage( content, ); - return structures.createMessageStruct(result as MessageCreateOptions); + return structures.createDiscordenoMessage(result as MessageCreateOptions); } diff --git a/src/helpers/messages/get_message.ts b/src/helpers/messages/get_message.ts index cbdfba971..cbb240739 100644 --- a/src/helpers/messages/get_message.ts +++ b/src/helpers/messages/get_message.ts @@ -18,5 +18,5 @@ export async function getMessage(channelId: string, id: string) { endpoints.CHANNEL_MESSAGE(channelId, id), )) as MessageCreateOptions; - return structures.createMessageStruct(result); + return structures.createDiscordenoMessage(result); } diff --git a/src/helpers/messages/get_messages.ts b/src/helpers/messages/get_messages.ts index 7fafe7ee1..6931676bf 100644 --- a/src/helpers/messages/get_messages.ts +++ b/src/helpers/messages/get_messages.ts @@ -26,6 +26,6 @@ export async function getMessages( )) as MessageCreateOptions[]; return Promise.all( - result.map((res) => structures.createMessageStruct(res)), + result.map((res) => structures.createDiscordenoMessage(res)), ); } diff --git a/src/helpers/messages/publish_message.ts b/src/helpers/messages/publish_message.ts index 3c52869ec..61f8c41e6 100644 --- a/src/helpers/messages/publish_message.ts +++ b/src/helpers/messages/publish_message.ts @@ -9,5 +9,5 @@ export async function publishMessage(channelId: string, messageId: string) { endpoints.CHANNEL_MESSAGE_CROSSPOST(channelId, messageId), )) as MessageCreateOptions; - return structures.createMessageStruct(data); + return structures.createDiscordenoMessage(data); } diff --git a/src/helpers/messages/send_message.ts b/src/helpers/messages/send_message.ts index 812c8469b..901416ced 100644 --- a/src/helpers/messages/send_message.ts +++ b/src/helpers/messages/send_message.ts @@ -107,5 +107,5 @@ export async function sendMessage( }), )) as DiscordMessage; - return structures.createMessageStruct(result); + return structures.createDiscordenoMessage(result); } diff --git a/src/helpers/roles/create_role.ts b/src/helpers/roles/create_role.ts index 53b456a0a..72797ff74 100644 --- a/src/helpers/roles/create_role.ts +++ b/src/helpers/roles/create_role.ts @@ -22,7 +22,7 @@ export async function createRole( }); const roleData = result as RoleData; - const role = await structures.createRoleStruct(roleData); + const role = await structures.createDiscordenoRole(roleData); const guild = await cacheHandlers.get("guilds", guildId); guild?.roles.set(role.id, role); diff --git a/src/helpers/webhooks/edit_webhook_message.ts b/src/helpers/webhooks/edit_webhook_message.ts index 1653f9a77..63ccd3024 100644 --- a/src/helpers/webhooks/edit_webhook_message.ts +++ b/src/helpers/webhooks/edit_webhook_message.ts @@ -55,6 +55,6 @@ export async function editWebhookMessage( { ...options, allowed_mentions: options.allowed_mentions }, ) as MessageCreateOptions; - const message = await structures.createMessageStruct(result); + const message = await structures.createDiscordenoMessage(result); return message; } diff --git a/src/helpers/webhooks/execute_webhook.ts b/src/helpers/webhooks/execute_webhook.ts index cee2d2fa2..f71de9405 100644 --- a/src/helpers/webhooks/execute_webhook.ts +++ b/src/helpers/webhooks/execute_webhook.ts @@ -60,5 +60,5 @@ export async function executeWebhook( ); if (!options.wait) return; - return structures.createMessageStruct(result as MessageCreateOptions); + return structures.createDiscordenoMessage(result as MessageCreateOptions); } diff --git a/src/structures/channel.ts b/src/structures/channel.ts index d48c5606b..05530bb41 100644 --- a/src/structures/channel.ts +++ b/src/structures/channel.ts @@ -15,9 +15,11 @@ import { PermissionStrings } from "../types/permissions/permission_strings.ts"; import { VoiceState } from "../types/voice/voice_state.ts"; import { Collection } from "../util/collection.ts"; import { createNewProp, snakeKeysToCamelCase } from "../util/utils.ts"; -import { MessageStruct } from "./message.ts"; +import { DiscordenoGuild } from "./guild.ts"; +import { DiscordenoMember } from "./member.ts"; +import { DiscordenoMessage } from "./message.ts"; -const baseChannel: Partial = { +const baseChannel: Partial = { get guild() { return cache.guilds.get(this.guildId!); }, @@ -70,7 +72,7 @@ const baseChannel: Partial = { /** Create a structure object */ // deno-lint-ignore require-await -export async function createChannelStruct( +export async function createDiscordenoChannel( data: DiscordChannel, guildId?: string, ) { @@ -84,13 +86,13 @@ export async function createChannelStruct( Object.keys(rest).forEach((key) => { eventHandlers.debug?.( "loop", - `Running forEach loop in createChannelStruct function.`, + `Running forEach loop in createDiscordenoChannel function.`, ); // @ts-ignore index signature props[key] = createNewProp(rest[key]); }); - const channel: ChannelStruct = Object.create(baseChannel, { + const channel: DiscordenoChannel = Object.create(baseChannel, { ...props, guildId: createNewProp(guildId || rawGuildId), lastPinTimestamp: createNewProp( @@ -101,7 +103,7 @@ export async function createChannelStruct( return channel; } -export interface ChannelStruct extends Channel { +export interface DiscordenoChannel extends Channel { // GETTERS /** @@ -109,13 +111,13 @@ export interface ChannelStruct extends Channel { * * ⚠️ ADVANCED: If you use the custom cache, these will not work for you. Getters can not be async and custom cache requires async. */ - guild?: GuildStruct; + guild?: DiscordenoGuild; /** * Gets the messages from cache that were sent in this channel * * ⚠️ ADVANCED: If you use the custom cache, these will not work for you. Getters can not be async and custom cache requires async. */ - messages: Collection; + messages: Collection; /** The mention of the channel */ mention: string; /** @@ -129,7 +131,7 @@ export interface ChannelStruct extends Channel { * * ⚠️ ADVANCED: If you use the custom cache, these will not work for you. Getters can not be async and custom cache requires async. */ - connectedMembers?: Collection; + connectedMembers?: Collection; // METHODS diff --git a/src/structures/guild.ts b/src/structures/guild.ts index 7756fd9be..742705433 100644 --- a/src/structures/guild.ts +++ b/src/structures/guild.ts @@ -33,14 +33,14 @@ import { createNewProp, snakeKeysToCamelCase, } from "../util/utils.ts"; -import { ChannelStruct } from "./channel.ts"; -import { MemberStruct } from "./member.ts"; +import { DiscordenoChannel } from "./channel.ts"; +import { DiscordenoMember } from "./member.ts"; import { structures } from "./mod.ts"; -import { RoleStruct } from "./role.ts"; +import { DiscordenoRole } from "./role.ts"; export const initialMemberLoadQueue = new Map(); -const baseGuild: Partial = { +const baseGuild: Partial = { get members() { return cache.members.filter((member) => member.guilds.has(this.id!)); }, @@ -115,7 +115,7 @@ const baseGuild: Partial = { }, }; -export async function createGuildStruct( +export async function createDiscordenoGuild( data: DiscordGuild, shardId: number, ) { @@ -132,34 +132,38 @@ export async function createGuildStruct( const roles = await Promise.all( (data.roles || []).map((role) => - structures.createRoleStruct({ role, guild_id: rest.id }) + structures.createDiscordenoRole({ role, guild_id: rest.id }) ), ); await Promise.all(channels.map(async (channel) => { - const channelStruct = await structures.createChannelStruct( + const discordenoChannel = await structures.createDiscordenoChannel( channel, rest.id, ); - return cacheHandlers.set("channels", channelStruct.id, channelStruct); + return cacheHandlers.set( + "channels", + discordenoChannel.id, + discordenoChannel, + ); })); const props: Record> = {}; for (const key of Object.keys(rest)) { eventHandlers.debug?.( "loop", - `Running for of loop in createGuildStruct function.`, + `Running for of loop in createDiscordenoGuild function.`, ); // @ts-ignore index signature props[key] = createNewProp(rest[key]); } - const guild = Object.create(baseGuild, { + const guild: DiscordenoGuild = Object.create(baseGuild, { ...props, shardId: createNewProp(shardId), roles: createNewProp( - new Collection(roles.map((r: RoleStruct) => [r.id, r])), + new Collection(roles.map((r: DiscordenoRole) => [r.id, r])), ), joinedAt: createNewProp(Date.parse(joinedAt)), presences: createNewProp( @@ -184,22 +188,26 @@ export async function createGuildStruct( else { await Promise.allSettled( members.map(async (member) => { - const memberStruct = await structures.createMemberStruct( + const discordenoMember = await structures.createDiscordenoMember( camelKeysToSnakeCase(member) as Omit & { user: DiscordUser; }, guild.id, ); - return cacheHandlers.set("members", memberStruct.id, memberStruct); + return cacheHandlers.set( + "members", + discordenoMember.id, + discordenoMember, + ); }), ); } - return guild as GuildStruct; + return guild; } -export interface GuildStruct extends +export interface DiscordenoGuild extends Omit< Guild, | "roles" @@ -214,7 +222,7 @@ export interface GuildStruct extends /** Total number of members in this guild */ memberCount?: number; /** The roles in the guild */ - roles: Collection; + roles: Collection; /** The presences of all the users in the guild. */ presences: Collection; /** The Voice State data for each user in a voice channel in this server. */ @@ -224,19 +232,19 @@ export interface GuildStruct extends // GETTERS /** Members in this guild. */ - members: Collection; + members: Collection; /** Channels in this guild. */ - channels: Collection; + channels: Collection; /** The afk channel if one is set */ - afkChannel?: ChannelStruct; + afkChannel?: DiscordenoChannel; /** The public update channel if one is set */ - publicUpdatesChannel?: ChannelStruct; + publicUpdatesChannel?: DiscordenoChannel; /** The rules channel in this guild if one is set */ - rulesChannel?: ChannelStruct; + rulesChannel?: DiscordenoChannel; /** The system channel in this guild if one is set */ - systemChannel?: ChannelStruct; + systemChannel?: DiscordenoChannel; /** The bot member in this guild if cached */ - bot?: MemberStruct; + bot?: DiscordenoMember; /** The bot guild member in this guild if cached */ botMember?: Omit & { joinedAt: number; @@ -245,7 +253,7 @@ export interface GuildStruct extends /** The bots voice state if there is one in this guild */ botVoice?: VoiceState; /** The owner member of this guild */ - owner?: MemberStruct; + owner?: DiscordenoMember; /** Whether or not this guild is partnered */ partnered: boolean; /** Whether or not this guild is verified */ diff --git a/src/structures/member.ts b/src/structures/member.ts index 6851d44d4..318906142 100644 --- a/src/structures/member.ts +++ b/src/structures/member.ts @@ -19,9 +19,9 @@ import { DiscordImageSize } from "../types/misc/image_size.ts"; import { DiscordUser, User } from "../types/users/user.ts"; import { Collection } from "../util/collection.ts"; import { createNewProp, snakeKeysToCamelCase } from "../util/utils.ts"; -import { GuildStruct } from "./guild.ts"; +import { DiscordenoGuild } from "./guild.ts"; -const baseMember: Partial = { +const baseMember: Partial = { get avatarURL() { return avatarURL(this.id!, this.discriminator!, this.avatar!); }, @@ -71,7 +71,7 @@ const baseMember: Partial = { }, }; -export async function createMemberStruct( +export async function createDiscordenoMember( // The `user` param in `DiscordGuildMember` is optional since discord does not send it in `MESSAGE_CREATE` and `MESSAGE_UPDATE` events. But this data in there is required to build this structure so it is required in this case data: Omit & { user: DiscordUser }, guildId: string, @@ -90,7 +90,7 @@ export async function createMemberStruct( for (const key of Object.keys(rest)) { eventHandlers.debug?.( "loop", - `Running for of loop for Object.keys(rest) in createMemberStruct function.`, + `Running for of loop for Object.keys(rest) in DiscordenoMember function.`, ); // @ts-ignore index signature props[key] = createNewProp(rest[key]); @@ -99,13 +99,13 @@ export async function createMemberStruct( for (const key of Object.keys(user)) { eventHandlers.debug?.( "loop", - `Running for of for Object.keys(user) loop in createMemberStruct function.`, + `Running for of for Object.keys(user) loop in DiscordenoMember function.`, ); // @ts-ignore index signature props[key] = createNewProp(user[key]); } - const member: MemberStruct = Object.create(baseMember, { + const member: DiscordenoMember = Object.create(baseMember, { ...props, /** The guild related data mapped by guild id */ guilds: createNewProp(new Collection()), @@ -116,7 +116,7 @@ export async function createMemberStruct( for (const [id, guild] of cached.guilds.entries()) { eventHandlers.debug?.( "loop", - `Running for of for cached.guilds.entries() loop in createMemberStruct function.`, + `Running for of for cached.guilds.entries() loop in DiscordenoMember function.`, ); member.guilds.set(id, guild); } @@ -135,7 +135,7 @@ export async function createMemberStruct( return member; } -export interface MemberStruct extends GuildMember, User { +export interface DiscordenoMember extends GuildMember, User { /** The guild related data mapped by guild id */ guilds: Collection< string, @@ -160,7 +160,7 @@ export interface MemberStruct extends GuildMember, User { options: { size?: DiscordImageSize; format?: DiscordImageFormat }, ): string; /** Returns the guild for this guildID */ - guild(guildID: string): GuildStruct | undefined; + guild(guildID: string): DiscordenoGuild | undefined; /** Get the nickname or the username if no nickname */ name(guildID: string): string; /** Get the guild member object for the specified guild */ diff --git a/src/structures/message.ts b/src/structures/message.ts index 23e466c57..9095f4032 100644 --- a/src/structures/message.ts +++ b/src/structures/message.ts @@ -15,12 +15,12 @@ import { EditMessage } from "../types/messages/edit_message.ts"; import { DiscordMessage, Message } from "../types/messages/message.ts"; import { CHANNEL_MENTION_REGEX } from "../util/constants.ts"; import { createNewProp, snakeKeysToCamelCase } from "../util/utils.ts"; -import { ChannelStruct } from "./channel.ts"; -import { GuildStruct } from "./guild.ts"; -import { MemberStruct } from "./member.ts"; -import { RoleStruct } from "./role.ts"; +import { DiscordenoChannel } from "./channel.ts"; +import { DiscordenoGuild } from "./guild.ts"; +import { DiscordenoMember } from "./member.ts"; +import { DiscordenoRole } from "./role.ts"; -const baseMessage: Partial = { +const baseMessage: Partial = { get channel() { if (this.guildId) return cache.channels.get(this.channelId!); return cache.channels.get(this.author?.id!); @@ -117,7 +117,7 @@ const baseMessage: Partial = { }, }; -export async function createMessageStruct(data: DiscordMessage) { +export async function createDiscordenoMessage(data: DiscordMessage) { const { guildId = "", channelId, @@ -132,7 +132,7 @@ export async function createMessageStruct(data: DiscordMessage) { for (const key of Object.keys(rest)) { eventHandlers.debug?.( "loop", - `Running for of loop in createMessageStruct function.`, + `Running for of loop in createDiscordenoMessage function.`, ); // @ts-ignore index signature props[key] = createNewProp(rest[key]); @@ -142,7 +142,7 @@ export async function createMessageStruct(data: DiscordMessage) { const guildIdFinal = guildId || (await cacheHandlers.get("channels", channelId))?.guildId || ""; - const message: MessageStruct = Object.create(baseMessage, { + const message: DiscordenoMessage = Object.create(baseMessage, { ...props, /** The message id of the original message if this message was sent as a reply. If null, the original message was deleted. */ channelId: createNewProp(channelId), @@ -169,7 +169,7 @@ export async function createMessageStruct(data: DiscordMessage) { return message; } -export interface MessageStruct extends Message { +export interface DiscordenoMessage extends Message { // For better user experience /** Ids of users specifically mentioned in the message */ mentionedUserIds: string[]; @@ -180,11 +180,11 @@ export interface MessageStruct extends Message { // GETTERS /** The channel where this message was sent. Can be undefined if uncached. */ - channel?: ChannelStruct; + channel?: DiscordenoChannel; /** The guild of this message. Can be undefined if not in cache or in DM */ - guild?: GuildStruct; + guild?: DiscordenoGuild; /** The member for the user who sent the message. Can be undefined if not in cache or in dm. */ - member?: MemberStruct; + member?: DiscordenoMember; /** The guild member details for this guild and member. Can be undefined if not in cache or in dm. */ guildMember?: Omit & { joinedAt: number; @@ -193,11 +193,11 @@ export interface MessageStruct extends Message { /** The url link to this message */ link: string; /** The role objects for all the roles that were mentioned in this message */ - mentionedRoles: (RoleStruct | undefined)[]; + mentionedRoles: (DiscordenoRole | undefined)[]; /** The channel objects for all the channels that were mentioned in this message. */ - mentionedChannels: (ChannelStruct | undefined)[]; + mentionedChannels: (DiscordenoChannel | undefined)[]; /** The member objects for all the members that were mentioned in this message. */ - mentionedMembers: (MemberStruct | undefined)[]; + mentionedMembers: (DiscordenoMember | undefined)[]; // METHODS diff --git a/src/structures/mod.ts b/src/structures/mod.ts index a6603fa06..22f8340c3 100644 --- a/src/structures/mod.ts +++ b/src/structures/mod.ts @@ -1,17 +1,17 @@ -import { createChannelStruct } from "./channel.ts"; -import { createGuildStruct } from "./guild.ts"; -import { createMemberStruct } from "./member.ts"; -import { createMessageStruct } from "./message.ts"; -import { createRoleStruct } from "./role.ts"; +import { createDiscordenoChannel } from "./channel.ts"; +import { createDiscordenoGuild } from "./guild.ts"; +import { createDiscordenoMember } from "./member.ts"; +import { createDiscordenoMessage } from "./message.ts"; +import { createDiscordenoRole } from "./role.ts"; import { createTemplateStruct } from "./template.ts"; /** This is the placeholder where the structure creation functions are kept. */ export let structures = { - createChannelStruct, - createGuildStruct, - createMemberStruct, - createMessageStruct, - createRoleStruct, + createDiscordenoChannel, + createDiscordenoGuild, + createDiscordenoMember, + createDiscordenoMessage, + createDiscordenoRole, createTemplateStruct, }; diff --git a/src/structures/role.ts b/src/structures/role.ts index 2db7cc88e..852708169 100644 --- a/src/structures/role.ts +++ b/src/structures/role.ts @@ -9,8 +9,10 @@ import { Role } from "../types/permissions/role.ts"; import { Collection } from "../util/collection.ts"; import { highestRole } from "../util/permissions.ts"; import { createNewProp, snakeKeysToCamelCase } from "../util/utils.ts"; +import { DiscordenoGuild } from "./guild.ts"; +import { DiscordenoMember } from "./member.ts"; -const baseRole: Partial = { +const baseRole: Partial = { get guild() { return cache.guilds.get(this.guildId!); }, @@ -65,7 +67,7 @@ const baseRole: Partial = { }; // deno-lint-ignore require-await -export async function createRoleStruct(data: DiscordGuildRoleCreate) { +export async function createDiscordenoRole(data: DiscordGuildRoleCreate) { const { tags = {}, ...rest @@ -77,13 +79,13 @@ export async function createRoleStruct(data: DiscordGuildRoleCreate) { for (const key of Object.keys(rest)) { eventHandlers.debug?.( "loop", - `Running for of loop in createRoleStruct function.`, + `Running for of loop in createDiscordenoRole function.`, ); // @ts-ignore index signature props[key] = createNewProp(rest[key]); } - const role: RoleStruct = Object.create(baseRole, { + const role: DiscordenoRole = Object.create(baseRole, { ...props, botId: createNewProp(tags.botId), isNitroBoostRole: createNewProp("premiumSubscriber" in tags), @@ -93,7 +95,7 @@ export async function createRoleStruct(data: DiscordGuildRoleCreate) { return role; } -export interface RoleStruct extends Omit { +export interface DiscordenoRole extends Omit { /** The bot id that is associated with this role. */ botId?: string; /** If this role is the nitro boost role. */ @@ -106,11 +108,11 @@ export interface RoleStruct extends Omit { // GETTERS /** The guild where this role is. If undefined, the guild is not cached */ - guild?: GuildStruct; + guild?: DiscordenoGuild; /** The hex color for this role. */ hexColor: string; /** The cached members that have this role */ - members: Collection; + members: Collection; /** The @ mention of the role in a string. */ mention: string;