refactor(structures): rename create* functions (#395)

* structures: rename structure create functions

* fix: errors occured because of structure rename

* fix(controllers): errors occured because of structure rename

* fix

* fix createServer to createGuild rename

* rename create*structure to create*Struct

* update docs

* Phew

* rename createguildrole

* fix that

* fmt?

* idk

* why

* fixxess

* Update member.ts

* Update member.ts

* ahh found it

* revert this

* Update mod.ts

Co-authored-by: ayntee <ayyantee@gmail.com>
This commit is contained in:
ITOH
2021-03-08 17:37:06 +01:00
committed by GitHub
parent 45a3246370
commit 2c3692810d
23 changed files with 111 additions and 106 deletions
+19 -19
View File
@@ -34,17 +34,17 @@ To begin customizing, create a file in the structures folder called `member.ts`.
The name of the file is not important at all. The name of the file is not important at all.
```ts ```ts
async function createMember() { async function createMemberStruct() {
} }
``` ```
We start by declaring a function that will be run to create the structure. Once We start by declaring a function that will be run to create the structure. Once
again the name here is not important. The function must take the same arguments again the name here is not important. The function must take the same arguments
that the internal function takes. In this case the createMember function takes 2 that the internal function takes. In this case the createMemberStruct function
arguments. `data: MemberCreatePayload, guildID: string` takes 2 arguments. `data: MemberCreatePayload, guildID: string`
```ts ```ts
async function createMember(data: MemberCreatePayload, guildID: string) { async function createMemberStruct(data: MemberCreatePayload, guildID: string) {
} }
``` ```
@@ -53,7 +53,7 @@ want. My recommendation is to start by copying the current code from the
internal libraries structure. internal libraries structure.
```ts ```ts
async function createMember(data: MemberCreatePayload, guildID: string) { async function createMemberStruct(data: MemberCreatePayload, guildID: string) {
const { const {
joined_at: joinedAt, joined_at: joinedAt,
premium_since: premiumSince, premium_since: premiumSince,
@@ -92,7 +92,7 @@ and `guild` properties to the member.
```ts ```ts
import { rawAvatarURL } from "../../deps.ts"; import { rawAvatarURL } from "../../deps.ts";
async function createMember(data: MemberCreatePayload, guildID: string) { async function createMemberStruct(data: MemberCreatePayload, guildID: string) {
// Hidden code here to make it easier to see the changes // Hidden code here to make it easier to see the changes
const member = { const member = {
@@ -116,11 +116,11 @@ async function createMember(data: MemberCreatePayload, guildID: string) {
``` ```
Now we need to use this function and telling Discordeno to override the internal Now we need to use this function and telling Discordeno to override the internal
createMember function. To do this, we will modify the internal functions. This createMemberStruct function. To do this, we will modify the internal functions.
is where we reassign the value of the function. This is where we reassign the value of the function.
```ts ```ts
structures.createMember = createMember; structures.createMemberStruct = createMemberStruct;
``` ```
Awesome. Now, we have one more step to complete which is to declare these new Awesome. Now, we have one more step to complete which is to declare these new
@@ -144,7 +144,7 @@ declare module "../../deps.ts" {
The code should look like this right now: The code should look like this right now:
```ts ```ts
async function createMember(data: MemberCreatePayload, guildID: string) { async function createMemberStruct(data: MemberCreatePayload, guildID: string) {
const { const {
joined_at: joinedAt, joined_at: joinedAt,
premium_since: premiumSince, premium_since: premiumSince,
@@ -184,7 +184,7 @@ async function createMember(data: MemberCreatePayload, guildID: string) {
return member; return member;
} }
structures.createMember = createMember; structures.createMemberStruct = createMemberStruct;
declare module "../../deps.ts" { declare module "../../deps.ts" {
interface Member { interface Member {
@@ -268,7 +268,7 @@ import {
rawAvatarURL, rawAvatarURL,
} from "../../deps.ts"; } from "../../deps.ts";
async function createMember(data: MemberCreatePayload, guildID: string) { async function createMemberStruct(data: MemberCreatePayload, guildID: string) {
const { const {
id, id,
bot, bot,
@@ -291,7 +291,7 @@ async function createMember(data: MemberCreatePayload, guildID: string) {
}; };
} }
structures.createMember = createMember; structures.createMemberStruct = createMemberStruct;
declare module "../../deps.ts" { declare module "../../deps.ts" {
interface Member { interface Member {
@@ -304,15 +304,15 @@ declare module "../../deps.ts" {
} }
``` ```
You might be seeing an error on `structures.createMember`. This is happening You might be seeing an error on `structures.createMemberStruct`. This is
because our new member structures is modifying/removing existing properties that happening because our new member structures is modifying/removing existing
the lib internally said it would have. To solve this, simply just add a properties that the lib internally said it would have. To solve this, simply
ts-ignore above it as you know better than TS that the typings are being just add a ts-ignore above it as you know better than TS that the typings are
overwritten. being overwritten.
```ts ```ts
// @ts-ignore // @ts-ignore
structures.createMember = createMember; structures.createMemberStruct = createMemberStruct;
``` ```
## Custom Cache ## Custom Cache
+2 -2
View File
@@ -11,8 +11,8 @@ export async function handleInternalChannelCreate(data: DiscordPayload) {
if (data.t !== "CHANNEL_CREATE") return; if (data.t !== "CHANNEL_CREATE") return;
const payload = data.d as ChannelCreatePayload; const payload = data.d as ChannelCreatePayload;
const channelStruct = await structures.createChannel(payload);
const channelStruct = await structures.createChannelStruct(payload);
await cacheHandlers.set("channels", channelStruct.id, channelStruct); await cacheHandlers.set("channels", channelStruct.id, channelStruct);
eventHandlers.channelCreate?.(channelStruct); eventHandlers.channelCreate?.(channelStruct);
@@ -58,8 +58,8 @@ export async function handleInternalChannelUpdate(data: DiscordPayload) {
const payload = data.d as ChannelCreatePayload; const payload = data.d as ChannelCreatePayload;
const cachedChannel = await cacheHandlers.get("channels", payload.id); const cachedChannel = await cacheHandlers.get("channels", payload.id);
const channelStruct = await structures.createChannel(payload);
const channelStruct = await structures.createChannelStruct(payload);
await cacheHandlers.set("channels", channelStruct.id, channelStruct); await cacheHandlers.set("channels", channelStruct.id, channelStruct);
if (!cachedChannel) return; if (!cachedChannel) return;
+1 -2
View File
@@ -22,11 +22,10 @@ export async function handleInternalGuildCreate(
// When shards resume they emit GUILD_CREATE again. // When shards resume they emit GUILD_CREATE again.
if (await cacheHandlers.has("guilds", payload.id)) return; if (await cacheHandlers.has("guilds", payload.id)) return;
const guildStruct = await structures.createGuild( const guildStruct = await structures.createGuildStruct(
data.d as CreateGuildPayload, data.d as CreateGuildPayload,
shardID, shardID,
); );
await cacheHandlers.set("guilds", guildStruct.id, guildStruct); await cacheHandlers.set("guilds", guildStruct.id, guildStruct);
if (await cacheHandlers.has("unavailableGuilds", payload.id)) { if (await cacheHandlers.has("unavailableGuilds", payload.id)) {
+1 -1
View File
@@ -11,7 +11,7 @@ export async function handleInternalInteractionCreate(data: DiscordPayload) {
if (data.t !== "INTERACTION_CREATE") return; if (data.t !== "INTERACTION_CREATE") return;
const payload = data.d as InteractionCommandPayload; const payload = data.d as InteractionCommandPayload;
const memberStruct = await structures.createMember( const memberStruct = await structures.createMemberStruct(
payload.member, payload.member,
payload.guild_id, payload.guild_id,
); );
+3 -4
View File
@@ -19,7 +19,7 @@ export async function handleInternalGuildMemberAdd(data: DiscordPayload) {
if (!guild) return; if (!guild) return;
guild.memberCount++; guild.memberCount++;
const memberStruct = await structures.createMember( const memberStruct = await structures.createMemberStruct(
payload, payload,
payload.guild_id, payload.guild_id,
); );
@@ -66,7 +66,7 @@ export async function handleInternalGuildMemberUpdate(data: DiscordPayload) {
mute: guildMember?.mute || false, mute: guildMember?.mute || false,
roles: payload.roles, roles: payload.roles,
}; };
const memberStruct = await structures.createMember( const memberStruct = await structures.createMemberStruct(
newMemberData, newMemberData,
payload.guild_id, payload.guild_id,
); );
@@ -109,11 +109,10 @@ export async function handleInternalGuildMembersChunk(data: DiscordPayload) {
const members = await Promise.all( const members = await Promise.all(
payload.members.map(async (member) => { payload.members.map(async (member) => {
const memberStruct = await structures.createMember( const memberStruct = await structures.createMemberStruct(
member, member,
payload.guild_id, payload.guild_id,
); );
await cacheHandlers.set("members", memberStruct.id, memberStruct); await cacheHandlers.set("members", memberStruct.id, memberStruct);
return memberStruct; return memberStruct;
+4 -5
View File
@@ -21,18 +21,17 @@ export async function handleInternalMessageCreate(data: DiscordPayload) {
if (payload.member && guild) { if (payload.member && guild) {
// If in a guild cache the author as a member // If in a guild cache the author as a member
const memberStruct = await structures.createMember( const memberStruct = await structures.createMemberStruct(
{ ...payload.member, user: payload.author }, { ...payload.member, user: payload.author },
guild.id, guild.id,
); );
await cacheHandlers.set("members", memberStruct.id, memberStruct); await cacheHandlers.set("members", memberStruct.id, memberStruct);
} }
await Promise.all(payload.mentions.map(async (mention) => { await Promise.all(payload.mentions.map(async (mention) => {
// Cache the member if its a valid member // Cache the member if its a valid member
if (mention.member && guild) { if (mention.member && guild) {
const memberStruct = await structures.createMember( const memberStruct = await structures.createMemberStruct(
{ ...mention.member, user: mention }, { ...mention.member, user: mention },
guild.id, guild.id,
); );
@@ -41,7 +40,7 @@ export async function handleInternalMessageCreate(data: DiscordPayload) {
} }
})); }));
const message = await structures.createMessage(payload); const message = await structures.createMessageStruct(payload);
// Cache the message // Cache the message
await cacheHandlers.set("messages", payload.id, message); await cacheHandlers.set("messages", payload.id, message);
@@ -106,7 +105,7 @@ export async function handleInternalMessageUpdate(data: DiscordPayload) {
return; return;
} }
const message = await structures.createMessage(payload); const message = await structures.createMessageStruct(payload);
await cacheHandlers.set("messages", payload.id, message); await cacheHandlers.set("messages", payload.id, message);
+2 -2
View File
@@ -54,7 +54,7 @@ export async function handleInternalReady(
for (const [guildID, members] of initialMemberLoadQueue.entries()) { for (const [guildID, members] of initialMemberLoadQueue.entries()) {
await Promise.all( await Promise.all(
members.map(async (member) => { members.map(async (member) => {
const memberStruct = await structures.createMember( const memberStruct = await structures.createMemberStruct(
member, member,
guildID, guildID,
); );
@@ -125,7 +125,7 @@ export async function handleInternalVoiceStateUpdate(data: DiscordPayload) {
if (!guild) return; if (!guild) return;
const member = payload.member const member = payload.member
? await structures.createMember(payload.member, guild.id) ? await structures.createMemberStruct(payload.member, guild.id)
: await cacheHandlers.get("members", payload.user_id); : await cacheHandlers.get("members", payload.user_id);
if (!member) return; if (!member) return;
+2 -2
View File
@@ -39,7 +39,7 @@ export async function handleInternalMessageReactionAdd(data: DiscordPayload) {
if (payload.member && payload.guild_id) { if (payload.member && payload.guild_id) {
const guild = await cacheHandlers.get("guilds", payload.guild_id); const guild = await cacheHandlers.get("guilds", payload.guild_id);
if (guild) { if (guild) {
const memberStruct = await structures.createMember( const memberStruct = await structures.createMemberStruct(
payload.member, payload.member,
guild.id, guild.id,
); );
@@ -95,7 +95,7 @@ export async function handleInternalMessageReactionRemove(
if (payload.member && payload.guild_id) { if (payload.member && payload.guild_id) {
const guild = await cacheHandlers.get("guilds", payload.guild_id); const guild = await cacheHandlers.get("guilds", payload.guild_id);
if (guild) { if (guild) {
const memberStruct = await structures.createMember( const memberStruct = await structures.createMemberStruct(
payload.member, payload.member,
guild.id, guild.id,
); );
+2 -2
View File
@@ -14,7 +14,7 @@ export async function handleInternalGuildRoleCreate(data: DiscordPayload) {
const guild = await cacheHandlers.get("guilds", payload.guild_id); const guild = await cacheHandlers.get("guilds", payload.guild_id);
if (!guild) return; if (!guild) return;
const role = await structures.createRole(payload.role); const role = await structures.createRoleStruct(payload.role);
guild.roles = guild.roles.set(payload.role.id, role); guild.roles = guild.roles.set(payload.role.id, role);
await cacheHandlers.set("guilds", payload.guild_id, guild); await cacheHandlers.set("guilds", payload.guild_id, guild);
@@ -58,7 +58,7 @@ export async function handleInternalGuildRoleUpdate(data: DiscordPayload) {
const cachedRole = guild.roles.get(payload.role.id); const cachedRole = guild.roles.get(payload.role.id);
if (!cachedRole) return; if (!cachedRole) return;
const role = await structures.createRole(payload.role); const role = await structures.createRoleStruct(payload.role);
guild.roles.set(payload.role.id, role); guild.roles.set(payload.role.id, role);
await cacheHandlers.set("guilds", guild.id, guild); await cacheHandlers.set("guilds", guild.id, guild);
+8 -4
View File
@@ -76,7 +76,7 @@ export async function getMessage(
endpoints.CHANNEL_MESSAGE(channelID, id), endpoints.CHANNEL_MESSAGE(channelID, id),
) as MessageCreateOptions; ) as MessageCreateOptions;
return structures.createMessage(result); return structures.createMessageStruct(result);
} }
/** Fetches between 2-100 messages. Requires VIEW_CHANNEL and READ_MESSAGE_HISTORY */ /** Fetches between 2-100 messages. Requires VIEW_CHANNEL and READ_MESSAGE_HISTORY */
@@ -115,7 +115,9 @@ export async function getMessages(
options, options,
)) as MessageCreateOptions[]; )) as MessageCreateOptions[];
return Promise.all(result.map((res) => structures.createMessage(res))); return Promise.all(
result.map((res) => structures.createMessageStruct(res)),
);
} }
/** Get pinned messages in this channel. */ /** Get pinned messages in this channel. */
@@ -124,7 +126,9 @@ export async function getPins(channelID: string) {
endpoints.CHANNEL_PINS(channelID), endpoints.CHANNEL_PINS(channelID),
)) as MessageCreateOptions[]; )) as MessageCreateOptions[];
return Promise.all(result.map((res) => structures.createMessage(res))); return Promise.all(
result.map((res) => structures.createMessageStruct(res)),
);
} }
/** /**
@@ -275,7 +279,7 @@ export async function sendMessage(
}, },
) as MessageCreateOptions; ) as MessageCreateOptions;
return structures.createMessage(result); return structures.createMessageStruct(result as MessageCreateOptions);
} }
/** Delete messages from the channel. 2-100. Requires the MANAGE_MESSAGES permission */ /** Delete messages from the channel. 2-100. Requires the MANAGE_MESSAGES permission */
+21 -17
View File
@@ -44,13 +44,13 @@ import { cacheHandlers } from "../controllers/cache.ts";
import { Guild, Member, structures } from "../structures/mod.ts"; import { Guild, Member, structures } from "../structures/mod.ts";
/** Create a new guild. Returns a guild object on success. Fires a Guild Create Gateway event. This endpoint can be used only by bots in less than 10 guilds. */ /** Create a new guild. Returns a guild object on success. Fires a Guild Create Gateway event. This endpoint can be used only by bots in less than 10 guilds. */
export async function createServer(options: CreateServerOptions) { export async function createGuild(options: CreateServerOptions) {
const guild = await RequestManager.post( const guild = await RequestManager.post(
endpoints.GUILDS, endpoints.GUILDS,
options, options,
) as CreateGuildPayload; ) as CreateGuildPayload;
return structures.createGuild(guild, 0); return structures.createGuildStruct(guild, 0);
} }
/** Delete a guild permanently. User must be owner. Returns 204 No Content on success. Fires a Guild Delete Gateway event. /** Delete a guild permanently. User must be owner. Returns 204 No Content on success. Fires a Guild Delete Gateway event.
@@ -136,8 +136,7 @@ export async function createGuildChannel(
type: options?.type || ChannelTypes.GUILD_TEXT, type: options?.type || ChannelTypes.GUILD_TEXT,
})) as ChannelCreatePayload; })) as ChannelCreatePayload;
const channelStruct = await structures.createChannel(result); const channelStruct = await structures.createChannelStruct(result);
await cacheHandlers.set("channels", channelStruct.id, channelStruct); await cacheHandlers.set("channels", channelStruct.id, channelStruct);
return channelStruct; return channelStruct;
@@ -186,7 +185,7 @@ export async function getChannels(guildID: string, addToCache = true) {
) as ChannelCreatePayload[]; ) as ChannelCreatePayload[];
return Promise.all(result.map(async (res) => { return Promise.all(result.map(async (res) => {
const channelStruct = await structures.createChannel(res, guildID); const channelStruct = await structures.createChannelStruct(res, guildID);
if (addToCache) { if (addToCache) {
await cacheHandlers.set("channels", channelStruct.id, channelStruct); await cacheHandlers.set("channels", channelStruct.id, channelStruct);
} }
@@ -204,7 +203,10 @@ export async function getChannel(channelID: string, addToCache = true) {
endpoints.CHANNEL_BASE(channelID), endpoints.CHANNEL_BASE(channelID),
) as ChannelCreatePayload; ) as ChannelCreatePayload;
const channelStruct = await structures.createChannel(result, result.guild_id); const channelStruct = await structures.createChannelStruct(
result,
result.guild_id,
);
if (addToCache) { if (addToCache) {
await cacheHandlers.set("channels", channelStruct.id, channelStruct); await cacheHandlers.set("channels", channelStruct.id, channelStruct);
} }
@@ -293,8 +295,7 @@ export async function getMember(
endpoints.GUILD_MEMBER(guildID, id), endpoints.GUILD_MEMBER(guildID, id),
) as MemberCreatePayload; ) as MemberCreatePayload;
const memberStruct = await structures.createMember(data, guildID); const memberStruct = await structures.createMemberStruct(data, guildID);
await cacheHandlers.set("members", memberStruct.id, memberStruct); await cacheHandlers.set("members", memberStruct.id, memberStruct);
return memberStruct; return memberStruct;
@@ -439,7 +440,7 @@ export async function getEmoji(
} }
/** Create a new role for the guild. Requires the MANAGE_ROLES permission. */ /** Create a new role for the guild. Requires the MANAGE_ROLES permission. */
export async function createGuildRole( export async function createRole(
guildID: string, guildID: string,
options: CreateRoleOptions, options: CreateRoleOptions,
reason?: string, reason?: string,
@@ -459,7 +460,7 @@ export async function createGuildRole(
); );
const roleData = result as RoleData; const roleData = result as RoleData;
const role = await structures.createRole(roleData); const role = await structures.createRoleStruct(roleData);
const guild = await cacheHandlers.get("guilds", guildID); const guild = await cacheHandlers.get("guilds", guildID);
guild?.roles.set(role.id, role); guild?.roles.set(role.id, role);
@@ -646,7 +647,10 @@ export async function getMembers(
const memberStructures = await Promise.all( const memberStructures = await Promise.all(
result.map(async (member) => { result.map(async (member) => {
const memberStruct = await structures.createMember(member, guildID); const memberStruct = await structures.createMemberStruct(
member,
guildID,
);
await cacheHandlers.set("members", memberStruct.id, memberStruct); await cacheHandlers.set("members", memberStruct.id, memberStruct);
@@ -962,7 +966,7 @@ export async function getTemplate(templateCode: string) {
const result = await RequestManager.get( const result = await RequestManager.get(
endpoints.GUILD_TEMPLATE(templateCode), endpoints.GUILD_TEMPLATE(templateCode),
) as GuildTemplate; ) as GuildTemplate;
const template = await structures.createTemplate(result); const template = await structures.createTemplateStruct(result);
return template; return template;
} }
@@ -1016,7 +1020,7 @@ export async function getGuildTemplates(guildID: string) {
endpoints.GUILD_TEMPLATES(guildID), endpoints.GUILD_TEMPLATES(guildID),
) as GuildTemplate[]; ) as GuildTemplate[];
return templates.map((template) => structures.createTemplate(template)); return templates.map((template) => structures.createTemplateStruct(template));
} }
/** /**
@@ -1034,7 +1038,7 @@ export async function deleteGuildTemplate(
`${endpoints.GUILD_TEMPLATES(guildID)}/${templateCode}`, `${endpoints.GUILD_TEMPLATES(guildID)}/${templateCode}`,
) as GuildTemplate; ) as GuildTemplate;
return structures.createTemplate(deletedTemplate); return structures.createTemplateStruct(deletedTemplate);
} }
/** /**
@@ -1066,7 +1070,7 @@ export async function createGuildTemplate(
data, data,
) as GuildTemplate; ) as GuildTemplate;
return structures.createTemplate(template); return structures.createTemplateStruct(template);
} }
/** /**
@@ -1081,7 +1085,7 @@ export async function syncGuildTemplate(guildID: string, templateCode: string) {
`${endpoints.GUILD_TEMPLATES(guildID)}/${templateCode}`, `${endpoints.GUILD_TEMPLATES(guildID)}/${templateCode}`,
) as GuildTemplate; ) as GuildTemplate;
return structures.createTemplate(template); return structures.createTemplateStruct(template);
} }
/** /**
@@ -1112,5 +1116,5 @@ export async function editGuildTemplate(
data, data,
) as GuildTemplate; ) as GuildTemplate;
return structures.createTemplate(template); return structures.createTemplateStruct(template);
} }
+2 -2
View File
@@ -132,7 +132,7 @@ export async function sendDirectMessage(
endpoints.USER_DM, endpoints.USER_DM,
{ recipient_id: memberID }, { recipient_id: memberID },
) as DMChannelCreatePayload; ) as DMChannelCreatePayload;
const channelStruct = await structures.createChannel( const channelStruct = await structures.createChannelStruct(
dmChannelData as unknown as ChannelCreatePayload, dmChannelData as unknown as ChannelCreatePayload,
); );
// Recreate the channel and add it undert he users id // Recreate the channel and add it undert he users id
@@ -229,7 +229,7 @@ export async function editMember(
endpoints.GUILD_MEMBER(guildID, memberID), endpoints.GUILD_MEMBER(guildID, memberID),
options, options,
) as MemberCreatePayload; ) as MemberCreatePayload;
const member = await structures.createMember(result, guildID); const member = await structures.createMemberStruct(result, guildID);
return member; return member;
} }
+2 -2
View File
@@ -324,7 +324,7 @@ export async function editMessage(
content, content,
); );
return structures.createMessage(result as MessageCreateOptions); return structures.createMessageStruct(result as MessageCreateOptions);
} }
/** Crosspost a message in a News Channel to following channels. */ /** Crosspost a message in a News Channel to following channels. */
@@ -333,5 +333,5 @@ export async function publishMessage(channelID: string, messageID: string) {
endpoints.CHANNEL_MESSAGE_CROSSPOST(channelID, messageID), endpoints.CHANNEL_MESSAGE_CROSSPOST(channelID, messageID),
) as MessageCreateOptions; ) as MessageCreateOptions;
return structures.createMessage(data); return structures.createMessageStruct(data);
} }
+4 -7
View File
@@ -20,11 +20,11 @@ import {
ban, ban,
categoryChildrenIDs, categoryChildrenIDs,
createEmoji, createEmoji,
createGuild,
createGuildChannel, createGuildChannel,
createGuildFromTemplate, createGuildFromTemplate,
createGuildRole,
createGuildTemplate, createGuildTemplate,
createServer, createRole,
deleteChannel, deleteChannel,
deleteChannelOverwrite, deleteChannelOverwrite,
deleteEmoji, deleteEmoji,
@@ -33,7 +33,6 @@ import {
deleteRole, deleteRole,
deleteServer, deleteServer,
editChannelOverwrite, editChannelOverwrite,
editEmbed,
editEmoji, editEmoji,
editGuild, editGuild,
editGuildTemplate, editGuildTemplate,
@@ -48,7 +47,6 @@ import {
getBans, getBans,
getChannel, getChannel,
getChannels, getChannels,
getEmbed,
getEmoji, getEmoji,
getEmojis, getEmojis,
getGuild, getGuild,
@@ -153,9 +151,9 @@ export let handlers = {
createEmoji, createEmoji,
createGuildChannel, createGuildChannel,
createGuildFromTemplate, createGuildFromTemplate,
createGuildRole, createRole,
createGuildTemplate, createGuildTemplate,
createServer, createGuild,
deleteChannel, deleteChannel,
deleteEmoji, deleteEmoji,
deleteGuildTemplate, deleteGuildTemplate,
@@ -176,7 +174,6 @@ export let handlers = {
getChannel, getChannel,
getChannels, getChannels,
getWidgetSettings, getWidgetSettings,
getEmbed,
getEmoji, getEmoji,
getEmojis, getEmojis,
getGuild, getGuild,
+3 -3
View File
@@ -203,7 +203,7 @@ export async function executeWebhook(
); );
if (!options.wait) return; if (!options.wait) return;
return structures.createMessage(result as MessageCreateOptions); return structures.createMessageStruct(result as MessageCreateOptions);
} }
export async function editWebhookMessage( export async function editWebhookMessage(
@@ -257,7 +257,7 @@ export async function editWebhookMessage(
{ ...options, allowed_mentions: options.allowed_mentions }, { ...options, allowed_mentions: options.allowed_mentions },
) as MessageCreateOptions; ) as MessageCreateOptions;
const message = await structures.createMessage(result); const message = await structures.createMessageStruct(result);
return message; return message;
} }
@@ -603,7 +603,7 @@ export async function editSlashResponse(
// If the original message was edited, this will not return a message // If the original message was edited, this will not return a message
if (!options.messageID) return result; if (!options.messageID) return result;
const message = await structures.createMessage( const message = await structures.createMessageStruct(
result as MessageCreateOptions, result as MessageCreateOptions,
); );
return message; return message;
+1 -1
View File
@@ -77,7 +77,7 @@ const baseChannel: Partial<Channel> = {
}; };
// deno-lint-ignore require-await // deno-lint-ignore require-await
export async function createChannel( export async function createChannelStruct(
data: ChannelCreatePayload, data: ChannelCreatePayload,
guildID?: string, guildID?: string,
) { ) {
+9 -3
View File
@@ -107,7 +107,10 @@ const baseGuild: Partial<Guild> = {
}, },
}; };
export async function createGuild(data: CreateGuildPayload, shardID: number) { export async function createGuildStruct(
data: CreateGuildPayload,
shardID: number,
) {
const { const {
disovery_splash: discoverySplash, disovery_splash: discoverySplash,
default_message_notifications: defaultMessageNotifications, default_message_notifications: defaultMessageNotifications,
@@ -143,11 +146,14 @@ export async function createGuild(data: CreateGuildPayload, shardID: number) {
} = data; } = data;
const roles = await Promise.all( const roles = await Promise.all(
data.roles.map((role) => structures.createRole(role)), data.roles.map((role) => structures.createRoleStruct(role)),
); );
await Promise.all(channels.map(async (channel) => { await Promise.all(channels.map(async (channel) => {
const channelStruct = await structures.createChannel(channel, rest.id); const channelStruct = await structures.createChannelStruct(
channel,
rest.id,
);
return cacheHandlers.set("channels", channelStruct.id, channelStruct); return cacheHandlers.set("channels", channelStruct.id, channelStruct);
})); }));
+4 -1
View File
@@ -72,7 +72,10 @@ const baseMember: Partial<Member> = {
}, },
}; };
export async function createMember(data: MemberCreatePayload, guildID: string) { export async function createMemberStruct(
data: MemberCreatePayload,
guildID: string,
) {
const { const {
joined_at: joinedAt, joined_at: joinedAt,
premium_since: premiumSince, premium_since: premiumSince,
+1 -1
View File
@@ -133,7 +133,7 @@ const baseMessage: Partial<Message> = {
}, },
}; };
export async function createMessage(data: MessageCreateOptions) { export async function createMessageStruct(data: MessageCreateOptions) {
const { const {
guild_id: guildID = "", guild_id: guildID = "",
channel_id: channelID, channel_id: channelID,
+14 -19
View File
@@ -1,20 +1,22 @@
import { createChannel } from "./channel.ts"; import { Channel, createChannelStruct } from "./channel.ts";
import { createGuild } from "./guild.ts"; import { createGuildStruct, Guild } from "./guild.ts";
import { createMember } from "./member.ts"; import { createMemberStruct, Member } from "./member.ts";
import { createMessage } from "./message.ts"; import { createMessageStruct, Message } from "./message.ts";
import { createRole } from "./role.ts"; import { createRoleStruct, Role } from "./role.ts";
import { createTemplate } from "./template.ts"; import { createTemplateStruct, Template } from "./template.ts";
/** This is the placeholder where the structure creation functions are kept. */ /** This is the placeholder where the structure creation functions are kept. */
export let structures = { export let structures = {
createChannel, createChannelStruct,
createGuild, createGuildStruct,
createMember, createMemberStruct,
createMessage, createMessageStruct,
createRole, createRoleStruct,
createTemplate, createTemplateStruct,
}; };
export type { Channel, Guild, Member, Message, Role, Template };
export type Structures = typeof structures; export type Structures = typeof structures;
/** This function is used to update/reload/customize the internal structures of Discordeno. /** This function is used to update/reload/customize the internal structures of Discordeno.
@@ -28,10 +30,3 @@ export function updateStructures(newStructures: Structures) {
...newStructures, ...newStructures,
}; };
} }
export type { Channel } from "./channel.ts";
export type { Guild } from "./guild.ts";
export type { Member } from "./member.ts";
export type { Message } from "./message.ts";
export type { Role } from "./role.ts";
export type { Template } from "./template.ts";
+1 -1
View File
@@ -67,7 +67,7 @@ const baseRole: Partial<Role> = {
}; };
// deno-lint-ignore require-await // deno-lint-ignore require-await
export async function createRole({ tags = {}, ...rest }: RoleData) { export async function createRoleStruct({ tags = {}, ...rest }: RoleData) {
const restProps: Record<string, ReturnType<typeof createNewProp>> = {}; const restProps: Record<string, ReturnType<typeof createNewProp>> = {};
for (const key of Object.keys(rest)) { for (const key of Object.keys(rest)) {
// @ts-ignore index signature // @ts-ignore index signature
+1 -1
View File
@@ -11,7 +11,7 @@ const baseTemplate: Partial<Template> = {
}, },
}; };
export function createTemplate( export function createTemplateStruct(
data: GuildTemplate, data: GuildTemplate,
) { ) {
const { const {
+4 -5
View File
@@ -6,10 +6,9 @@ import {
cache, cache,
Channel, Channel,
channelOverwriteHasPermission, channelOverwriteHasPermission,
closeWS, createGuild,
createGuildChannel, createGuildChannel,
createGuildRole, createRole,
createServer,
delay, delay,
deleteChannel, deleteChannel,
deleteMessageByID, deleteMessageByID,
@@ -71,7 +70,7 @@ Deno.test({
Deno.test({ Deno.test({
name: "[guild] create a new guild", name: "[guild] create a new guild",
async fn() { async fn() {
const guild = await createServer({ const guild = await createGuild({
name: "Discordeno Test", name: "Discordeno Test",
}) as Guild; }) as Guild;
@@ -96,7 +95,7 @@ Deno.test({
} }
const name = "Discordeno Test"; const name = "Discordeno Test";
const role = await createGuildRole(tempData.guildID, { const role = await createRole(tempData.guildID, {
name, name,
}); });