mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-16 19:28:17 +00:00
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:
@@ -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.
|
||||
|
||||
```ts
|
||||
async function createMember() {
|
||||
async function createMemberStruct() {
|
||||
}
|
||||
```
|
||||
|
||||
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
|
||||
that the internal function takes. In this case the createMember function takes 2
|
||||
arguments. `data: MemberCreatePayload, guildID: string`
|
||||
that the internal function takes. In this case the createMemberStruct function
|
||||
takes 2 arguments. `data: MemberCreatePayload, guildID: string`
|
||||
|
||||
```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.
|
||||
|
||||
```ts
|
||||
async function createMember(data: MemberCreatePayload, guildID: string) {
|
||||
async function createMemberStruct(data: MemberCreatePayload, guildID: string) {
|
||||
const {
|
||||
joined_at: joinedAt,
|
||||
premium_since: premiumSince,
|
||||
@@ -92,7 +92,7 @@ and `guild` properties to the member.
|
||||
```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
|
||||
|
||||
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
|
||||
createMember function. To do this, we will modify the internal functions. This
|
||||
is where we reassign the value of the function.
|
||||
createMemberStruct function. To do this, we will modify the internal functions.
|
||||
This is where we reassign the value of the function.
|
||||
|
||||
```ts
|
||||
structures.createMember = createMember;
|
||||
structures.createMemberStruct = createMemberStruct;
|
||||
```
|
||||
|
||||
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:
|
||||
|
||||
```ts
|
||||
async function createMember(data: MemberCreatePayload, guildID: string) {
|
||||
async function createMemberStruct(data: MemberCreatePayload, guildID: string) {
|
||||
const {
|
||||
joined_at: joinedAt,
|
||||
premium_since: premiumSince,
|
||||
@@ -184,7 +184,7 @@ async function createMember(data: MemberCreatePayload, guildID: string) {
|
||||
return member;
|
||||
}
|
||||
|
||||
structures.createMember = createMember;
|
||||
structures.createMemberStruct = createMemberStruct;
|
||||
|
||||
declare module "../../deps.ts" {
|
||||
interface Member {
|
||||
@@ -268,7 +268,7 @@ import {
|
||||
rawAvatarURL,
|
||||
} from "../../deps.ts";
|
||||
|
||||
async function createMember(data: MemberCreatePayload, guildID: string) {
|
||||
async function createMemberStruct(data: MemberCreatePayload, guildID: string) {
|
||||
const {
|
||||
id,
|
||||
bot,
|
||||
@@ -291,7 +291,7 @@ async function createMember(data: MemberCreatePayload, guildID: string) {
|
||||
};
|
||||
}
|
||||
|
||||
structures.createMember = createMember;
|
||||
structures.createMemberStruct = createMemberStruct;
|
||||
|
||||
declare module "../../deps.ts" {
|
||||
interface Member {
|
||||
@@ -304,15 +304,15 @@ declare module "../../deps.ts" {
|
||||
}
|
||||
```
|
||||
|
||||
You might be seeing an error on `structures.createMember`. This is happening
|
||||
because our new member structures is modifying/removing existing properties that
|
||||
the lib internally said it would have. To solve this, simply just add a
|
||||
ts-ignore above it as you know better than TS that the typings are being
|
||||
overwritten.
|
||||
You might be seeing an error on `structures.createMemberStruct`. This is
|
||||
happening because our new member structures is modifying/removing existing
|
||||
properties that the lib internally said it would have. To solve this, simply
|
||||
just add a ts-ignore above it as you know better than TS that the typings are
|
||||
being overwritten.
|
||||
|
||||
```ts
|
||||
// @ts-ignore
|
||||
structures.createMember = createMember;
|
||||
structures.createMemberStruct = createMemberStruct;
|
||||
```
|
||||
|
||||
## Custom Cache
|
||||
|
||||
@@ -11,8 +11,8 @@ export async function handleInternalChannelCreate(data: DiscordPayload) {
|
||||
if (data.t !== "CHANNEL_CREATE") return;
|
||||
|
||||
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);
|
||||
|
||||
eventHandlers.channelCreate?.(channelStruct);
|
||||
@@ -58,8 +58,8 @@ export async function handleInternalChannelUpdate(data: DiscordPayload) {
|
||||
|
||||
const payload = data.d as ChannelCreatePayload;
|
||||
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);
|
||||
|
||||
if (!cachedChannel) return;
|
||||
|
||||
@@ -22,11 +22,10 @@ export async function handleInternalGuildCreate(
|
||||
// When shards resume they emit GUILD_CREATE again.
|
||||
if (await cacheHandlers.has("guilds", payload.id)) return;
|
||||
|
||||
const guildStruct = await structures.createGuild(
|
||||
const guildStruct = await structures.createGuildStruct(
|
||||
data.d as CreateGuildPayload,
|
||||
shardID,
|
||||
);
|
||||
|
||||
await cacheHandlers.set("guilds", guildStruct.id, guildStruct);
|
||||
|
||||
if (await cacheHandlers.has("unavailableGuilds", payload.id)) {
|
||||
|
||||
@@ -11,7 +11,7 @@ export async function handleInternalInteractionCreate(data: DiscordPayload) {
|
||||
if (data.t !== "INTERACTION_CREATE") return;
|
||||
|
||||
const payload = data.d as InteractionCommandPayload;
|
||||
const memberStruct = await structures.createMember(
|
||||
const memberStruct = await structures.createMemberStruct(
|
||||
payload.member,
|
||||
payload.guild_id,
|
||||
);
|
||||
|
||||
@@ -19,7 +19,7 @@ export async function handleInternalGuildMemberAdd(data: DiscordPayload) {
|
||||
if (!guild) return;
|
||||
|
||||
guild.memberCount++;
|
||||
const memberStruct = await structures.createMember(
|
||||
const memberStruct = await structures.createMemberStruct(
|
||||
payload,
|
||||
payload.guild_id,
|
||||
);
|
||||
@@ -66,7 +66,7 @@ export async function handleInternalGuildMemberUpdate(data: DiscordPayload) {
|
||||
mute: guildMember?.mute || false,
|
||||
roles: payload.roles,
|
||||
};
|
||||
const memberStruct = await structures.createMember(
|
||||
const memberStruct = await structures.createMemberStruct(
|
||||
newMemberData,
|
||||
payload.guild_id,
|
||||
);
|
||||
@@ -109,11 +109,10 @@ export async function handleInternalGuildMembersChunk(data: DiscordPayload) {
|
||||
|
||||
const members = await Promise.all(
|
||||
payload.members.map(async (member) => {
|
||||
const memberStruct = await structures.createMember(
|
||||
const memberStruct = await structures.createMemberStruct(
|
||||
member,
|
||||
payload.guild_id,
|
||||
);
|
||||
|
||||
await cacheHandlers.set("members", memberStruct.id, memberStruct);
|
||||
|
||||
return memberStruct;
|
||||
|
||||
@@ -21,18 +21,17 @@ export async function handleInternalMessageCreate(data: DiscordPayload) {
|
||||
|
||||
if (payload.member && guild) {
|
||||
// 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 },
|
||||
guild.id,
|
||||
);
|
||||
|
||||
await cacheHandlers.set("members", memberStruct.id, memberStruct);
|
||||
}
|
||||
|
||||
await Promise.all(payload.mentions.map(async (mention) => {
|
||||
// Cache the member if its a valid member
|
||||
if (mention.member && guild) {
|
||||
const memberStruct = await structures.createMember(
|
||||
const memberStruct = await structures.createMemberStruct(
|
||||
{ ...mention.member, user: mention },
|
||||
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
|
||||
await cacheHandlers.set("messages", payload.id, message);
|
||||
|
||||
@@ -106,7 +105,7 @@ export async function handleInternalMessageUpdate(data: DiscordPayload) {
|
||||
return;
|
||||
}
|
||||
|
||||
const message = await structures.createMessage(payload);
|
||||
const message = await structures.createMessageStruct(payload);
|
||||
|
||||
await cacheHandlers.set("messages", payload.id, message);
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ export async function handleInternalReady(
|
||||
for (const [guildID, members] of initialMemberLoadQueue.entries()) {
|
||||
await Promise.all(
|
||||
members.map(async (member) => {
|
||||
const memberStruct = await structures.createMember(
|
||||
const memberStruct = await structures.createMemberStruct(
|
||||
member,
|
||||
guildID,
|
||||
);
|
||||
@@ -125,7 +125,7 @@ export async function handleInternalVoiceStateUpdate(data: DiscordPayload) {
|
||||
if (!guild) return;
|
||||
|
||||
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);
|
||||
if (!member) return;
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ export async function handleInternalMessageReactionAdd(data: DiscordPayload) {
|
||||
if (payload.member && payload.guild_id) {
|
||||
const guild = await cacheHandlers.get("guilds", payload.guild_id);
|
||||
if (guild) {
|
||||
const memberStruct = await structures.createMember(
|
||||
const memberStruct = await structures.createMemberStruct(
|
||||
payload.member,
|
||||
guild.id,
|
||||
);
|
||||
@@ -95,7 +95,7 @@ export async function handleInternalMessageReactionRemove(
|
||||
if (payload.member && payload.guild_id) {
|
||||
const guild = await cacheHandlers.get("guilds", payload.guild_id);
|
||||
if (guild) {
|
||||
const memberStruct = await structures.createMember(
|
||||
const memberStruct = await structures.createMemberStruct(
|
||||
payload.member,
|
||||
guild.id,
|
||||
);
|
||||
|
||||
@@ -14,7 +14,7 @@ export async function handleInternalGuildRoleCreate(data: DiscordPayload) {
|
||||
const guild = await cacheHandlers.get("guilds", payload.guild_id);
|
||||
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);
|
||||
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);
|
||||
if (!cachedRole) return;
|
||||
|
||||
const role = await structures.createRole(payload.role);
|
||||
const role = await structures.createRoleStruct(payload.role);
|
||||
guild.roles.set(payload.role.id, role);
|
||||
await cacheHandlers.set("guilds", guild.id, guild);
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ export async function getMessage(
|
||||
endpoints.CHANNEL_MESSAGE(channelID, id),
|
||||
) as MessageCreateOptions;
|
||||
|
||||
return structures.createMessage(result);
|
||||
return structures.createMessageStruct(result);
|
||||
}
|
||||
|
||||
/** Fetches between 2-100 messages. Requires VIEW_CHANNEL and READ_MESSAGE_HISTORY */
|
||||
@@ -115,7 +115,9 @@ export async function getMessages(
|
||||
options,
|
||||
)) 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. */
|
||||
@@ -124,7 +126,9 @@ export async function getPins(channelID: string) {
|
||||
endpoints.CHANNEL_PINS(channelID),
|
||||
)) 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;
|
||||
|
||||
return structures.createMessage(result);
|
||||
return structures.createMessageStruct(result as MessageCreateOptions);
|
||||
}
|
||||
|
||||
/** Delete messages from the channel. 2-100. Requires the MANAGE_MESSAGES permission */
|
||||
|
||||
+21
-17
@@ -44,13 +44,13 @@ import { cacheHandlers } from "../controllers/cache.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. */
|
||||
export async function createServer(options: CreateServerOptions) {
|
||||
export async function createGuild(options: CreateServerOptions) {
|
||||
const guild = await RequestManager.post(
|
||||
endpoints.GUILDS,
|
||||
options,
|
||||
) 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.
|
||||
@@ -136,8 +136,7 @@ export async function createGuildChannel(
|
||||
type: options?.type || ChannelTypes.GUILD_TEXT,
|
||||
})) as ChannelCreatePayload;
|
||||
|
||||
const channelStruct = await structures.createChannel(result);
|
||||
|
||||
const channelStruct = await structures.createChannelStruct(result);
|
||||
await cacheHandlers.set("channels", channelStruct.id, channelStruct);
|
||||
|
||||
return channelStruct;
|
||||
@@ -186,7 +185,7 @@ export async function getChannels(guildID: string, addToCache = true) {
|
||||
) as ChannelCreatePayload[];
|
||||
|
||||
return Promise.all(result.map(async (res) => {
|
||||
const channelStruct = await structures.createChannel(res, guildID);
|
||||
const channelStruct = await structures.createChannelStruct(res, guildID);
|
||||
if (addToCache) {
|
||||
await cacheHandlers.set("channels", channelStruct.id, channelStruct);
|
||||
}
|
||||
@@ -204,7 +203,10 @@ export async function getChannel(channelID: string, addToCache = true) {
|
||||
endpoints.CHANNEL_BASE(channelID),
|
||||
) as ChannelCreatePayload;
|
||||
|
||||
const channelStruct = await structures.createChannel(result, result.guild_id);
|
||||
const channelStruct = await structures.createChannelStruct(
|
||||
result,
|
||||
result.guild_id,
|
||||
);
|
||||
if (addToCache) {
|
||||
await cacheHandlers.set("channels", channelStruct.id, channelStruct);
|
||||
}
|
||||
@@ -293,8 +295,7 @@ export async function getMember(
|
||||
endpoints.GUILD_MEMBER(guildID, id),
|
||||
) as MemberCreatePayload;
|
||||
|
||||
const memberStruct = await structures.createMember(data, guildID);
|
||||
|
||||
const memberStruct = await structures.createMemberStruct(data, guildID);
|
||||
await cacheHandlers.set("members", memberStruct.id, memberStruct);
|
||||
|
||||
return memberStruct;
|
||||
@@ -439,7 +440,7 @@ export async function getEmoji(
|
||||
}
|
||||
|
||||
/** Create a new role for the guild. Requires the MANAGE_ROLES permission. */
|
||||
export async function createGuildRole(
|
||||
export async function createRole(
|
||||
guildID: string,
|
||||
options: CreateRoleOptions,
|
||||
reason?: string,
|
||||
@@ -459,7 +460,7 @@ export async function createGuildRole(
|
||||
);
|
||||
|
||||
const roleData = result as RoleData;
|
||||
const role = await structures.createRole(roleData);
|
||||
const role = await structures.createRoleStruct(roleData);
|
||||
const guild = await cacheHandlers.get("guilds", guildID);
|
||||
guild?.roles.set(role.id, role);
|
||||
|
||||
@@ -646,7 +647,10 @@ export async function getMembers(
|
||||
|
||||
const memberStructures = await Promise.all(
|
||||
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);
|
||||
|
||||
@@ -962,7 +966,7 @@ export async function getTemplate(templateCode: string) {
|
||||
const result = await RequestManager.get(
|
||||
endpoints.GUILD_TEMPLATE(templateCode),
|
||||
) as GuildTemplate;
|
||||
const template = await structures.createTemplate(result);
|
||||
const template = await structures.createTemplateStruct(result);
|
||||
|
||||
return template;
|
||||
}
|
||||
@@ -1016,7 +1020,7 @@ export async function getGuildTemplates(guildID: string) {
|
||||
endpoints.GUILD_TEMPLATES(guildID),
|
||||
) 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}`,
|
||||
) as GuildTemplate;
|
||||
|
||||
return structures.createTemplate(deletedTemplate);
|
||||
return structures.createTemplateStruct(deletedTemplate);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1066,7 +1070,7 @@ export async function createGuildTemplate(
|
||||
data,
|
||||
) 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}`,
|
||||
) as GuildTemplate;
|
||||
|
||||
return structures.createTemplate(template);
|
||||
return structures.createTemplateStruct(template);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1112,5 +1116,5 @@ export async function editGuildTemplate(
|
||||
data,
|
||||
) as GuildTemplate;
|
||||
|
||||
return structures.createTemplate(template);
|
||||
return structures.createTemplateStruct(template);
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ export async function sendDirectMessage(
|
||||
endpoints.USER_DM,
|
||||
{ recipient_id: memberID },
|
||||
) as DMChannelCreatePayload;
|
||||
const channelStruct = await structures.createChannel(
|
||||
const channelStruct = await structures.createChannelStruct(
|
||||
dmChannelData as unknown as ChannelCreatePayload,
|
||||
);
|
||||
// Recreate the channel and add it undert he users id
|
||||
@@ -229,7 +229,7 @@ export async function editMember(
|
||||
endpoints.GUILD_MEMBER(guildID, memberID),
|
||||
options,
|
||||
) as MemberCreatePayload;
|
||||
const member = await structures.createMember(result, guildID);
|
||||
const member = await structures.createMemberStruct(result, guildID);
|
||||
|
||||
return member;
|
||||
}
|
||||
|
||||
@@ -324,7 +324,7 @@ export async function editMessage(
|
||||
content,
|
||||
);
|
||||
|
||||
return structures.createMessage(result as MessageCreateOptions);
|
||||
return structures.createMessageStruct(result as MessageCreateOptions);
|
||||
}
|
||||
|
||||
/** 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),
|
||||
) as MessageCreateOptions;
|
||||
|
||||
return structures.createMessage(data);
|
||||
return structures.createMessageStruct(data);
|
||||
}
|
||||
|
||||
@@ -20,11 +20,11 @@ import {
|
||||
ban,
|
||||
categoryChildrenIDs,
|
||||
createEmoji,
|
||||
createGuild,
|
||||
createGuildChannel,
|
||||
createGuildFromTemplate,
|
||||
createGuildRole,
|
||||
createGuildTemplate,
|
||||
createServer,
|
||||
createRole,
|
||||
deleteChannel,
|
||||
deleteChannelOverwrite,
|
||||
deleteEmoji,
|
||||
@@ -33,7 +33,6 @@ import {
|
||||
deleteRole,
|
||||
deleteServer,
|
||||
editChannelOverwrite,
|
||||
editEmbed,
|
||||
editEmoji,
|
||||
editGuild,
|
||||
editGuildTemplate,
|
||||
@@ -48,7 +47,6 @@ import {
|
||||
getBans,
|
||||
getChannel,
|
||||
getChannels,
|
||||
getEmbed,
|
||||
getEmoji,
|
||||
getEmojis,
|
||||
getGuild,
|
||||
@@ -153,9 +151,9 @@ export let handlers = {
|
||||
createEmoji,
|
||||
createGuildChannel,
|
||||
createGuildFromTemplate,
|
||||
createGuildRole,
|
||||
createRole,
|
||||
createGuildTemplate,
|
||||
createServer,
|
||||
createGuild,
|
||||
deleteChannel,
|
||||
deleteEmoji,
|
||||
deleteGuildTemplate,
|
||||
@@ -176,7 +174,6 @@ export let handlers = {
|
||||
getChannel,
|
||||
getChannels,
|
||||
getWidgetSettings,
|
||||
getEmbed,
|
||||
getEmoji,
|
||||
getEmojis,
|
||||
getGuild,
|
||||
|
||||
@@ -203,7 +203,7 @@ export async function executeWebhook(
|
||||
);
|
||||
if (!options.wait) return;
|
||||
|
||||
return structures.createMessage(result as MessageCreateOptions);
|
||||
return structures.createMessageStruct(result as MessageCreateOptions);
|
||||
}
|
||||
|
||||
export async function editWebhookMessage(
|
||||
@@ -257,7 +257,7 @@ export async function editWebhookMessage(
|
||||
{ ...options, allowed_mentions: options.allowed_mentions },
|
||||
) as MessageCreateOptions;
|
||||
|
||||
const message = await structures.createMessage(result);
|
||||
const message = await structures.createMessageStruct(result);
|
||||
return message;
|
||||
}
|
||||
|
||||
@@ -603,7 +603,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.createMessage(
|
||||
const message = await structures.createMessageStruct(
|
||||
result as MessageCreateOptions,
|
||||
);
|
||||
return message;
|
||||
|
||||
@@ -77,7 +77,7 @@ const baseChannel: Partial<Channel> = {
|
||||
};
|
||||
|
||||
// deno-lint-ignore require-await
|
||||
export async function createChannel(
|
||||
export async function createChannelStruct(
|
||||
data: ChannelCreatePayload,
|
||||
guildID?: string,
|
||||
) {
|
||||
|
||||
@@ -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 {
|
||||
disovery_splash: discoverySplash,
|
||||
default_message_notifications: defaultMessageNotifications,
|
||||
@@ -143,11 +146,14 @@ export async function createGuild(data: CreateGuildPayload, shardID: number) {
|
||||
} = data;
|
||||
|
||||
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) => {
|
||||
const channelStruct = await structures.createChannel(channel, rest.id);
|
||||
const channelStruct = await structures.createChannelStruct(
|
||||
channel,
|
||||
rest.id,
|
||||
);
|
||||
return cacheHandlers.set("channels", channelStruct.id, channelStruct);
|
||||
}));
|
||||
|
||||
|
||||
@@ -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 {
|
||||
joined_at: joinedAt,
|
||||
premium_since: premiumSince,
|
||||
|
||||
@@ -133,7 +133,7 @@ const baseMessage: Partial<Message> = {
|
||||
},
|
||||
};
|
||||
|
||||
export async function createMessage(data: MessageCreateOptions) {
|
||||
export async function createMessageStruct(data: MessageCreateOptions) {
|
||||
const {
|
||||
guild_id: guildID = "",
|
||||
channel_id: channelID,
|
||||
|
||||
+14
-19
@@ -1,20 +1,22 @@
|
||||
import { createChannel } from "./channel.ts";
|
||||
import { createGuild } from "./guild.ts";
|
||||
import { createMember } from "./member.ts";
|
||||
import { createMessage } from "./message.ts";
|
||||
import { createRole } from "./role.ts";
|
||||
import { createTemplate } from "./template.ts";
|
||||
import { Channel, createChannelStruct } from "./channel.ts";
|
||||
import { createGuildStruct, Guild } from "./guild.ts";
|
||||
import { createMemberStruct, Member } from "./member.ts";
|
||||
import { createMessageStruct, Message } from "./message.ts";
|
||||
import { createRoleStruct, Role } from "./role.ts";
|
||||
import { createTemplateStruct, Template } from "./template.ts";
|
||||
|
||||
/** This is the placeholder where the structure creation functions are kept. */
|
||||
export let structures = {
|
||||
createChannel,
|
||||
createGuild,
|
||||
createMember,
|
||||
createMessage,
|
||||
createRole,
|
||||
createTemplate,
|
||||
createChannelStruct,
|
||||
createGuildStruct,
|
||||
createMemberStruct,
|
||||
createMessageStruct,
|
||||
createRoleStruct,
|
||||
createTemplateStruct,
|
||||
};
|
||||
|
||||
export type { Channel, Guild, Member, Message, Role, Template };
|
||||
|
||||
export type Structures = typeof structures;
|
||||
|
||||
/** This function is used to update/reload/customize the internal structures of Discordeno.
|
||||
@@ -28,10 +30,3 @@ export function updateStructures(newStructures: Structures) {
|
||||
...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";
|
||||
|
||||
@@ -67,7 +67,7 @@ const baseRole: Partial<Role> = {
|
||||
};
|
||||
|
||||
// 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>> = {};
|
||||
for (const key of Object.keys(rest)) {
|
||||
// @ts-ignore index signature
|
||||
|
||||
@@ -11,7 +11,7 @@ const baseTemplate: Partial<Template> = {
|
||||
},
|
||||
};
|
||||
|
||||
export function createTemplate(
|
||||
export function createTemplateStruct(
|
||||
data: GuildTemplate,
|
||||
) {
|
||||
const {
|
||||
|
||||
+4
-5
@@ -6,10 +6,9 @@ import {
|
||||
cache,
|
||||
Channel,
|
||||
channelOverwriteHasPermission,
|
||||
closeWS,
|
||||
createGuild,
|
||||
createGuildChannel,
|
||||
createGuildRole,
|
||||
createServer,
|
||||
createRole,
|
||||
delay,
|
||||
deleteChannel,
|
||||
deleteMessageByID,
|
||||
@@ -71,7 +70,7 @@ Deno.test({
|
||||
Deno.test({
|
||||
name: "[guild] create a new guild",
|
||||
async fn() {
|
||||
const guild = await createServer({
|
||||
const guild = await createGuild({
|
||||
name: "Discordeno Test",
|
||||
}) as Guild;
|
||||
|
||||
@@ -96,7 +95,7 @@ Deno.test({
|
||||
}
|
||||
|
||||
const name = "Discordeno Test";
|
||||
const role = await createGuildRole(tempData.guildID, {
|
||||
const role = await createRole(tempData.guildID, {
|
||||
name,
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user