mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-16 03:18:17 +00:00
types: add gateway events types
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { DiscordGatewayPayload } from "../../types/gateway.ts";
|
||||
|
||||
export async function handleChannelCreate(data: DiscordPayload) {
|
||||
const payload = data.d as ChannelCreatePayload;
|
||||
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);
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import { DiscordGatewayPayload } from "../../types/gateway.ts";
|
||||
|
||||
export async function handleChannelDelete(data: DiscordPayload) {
|
||||
const payload = data.d as ChannelCreatePayload;
|
||||
export async function handleChannelDelete(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as DiscordChannel;
|
||||
|
||||
const cachedChannel = await cacheHandlers.get("channels", payload.id);
|
||||
if (!cachedChannel) return;
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import {
|
||||
DiscordChannelPinsUpdate,
|
||||
DiscordGatewayPayload,
|
||||
} from "../../types/gateway.ts";
|
||||
|
||||
export async function handleChannelPinsUpdate(data: DiscordPayload) {
|
||||
const payload = data.d as DiscordChannelPinsUpdateEvent;
|
||||
export async function handleChannelPinsUpdate(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as DiscordChannelPinsUpdate;
|
||||
|
||||
const channel = await cacheHandlers.get("channels", payload.channel_id);
|
||||
if (!channel) return;
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { DiscordGatewayPayload } from "../../types/gateway.ts";
|
||||
|
||||
export async function handleChannelUpdate(data: DiscordPayload) {
|
||||
const payload = data.d as ChannelCreatePayload;
|
||||
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);
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { Collection } from "../../util/collection.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import {
|
||||
DiscordGatewayPayload,
|
||||
DiscordGuildEmojisUpdate,
|
||||
} from "../../types/gateway.ts";
|
||||
import { Collection } from "../../util/collection.ts";
|
||||
|
||||
export async function handleGuildEmojisUpdate(data: DiscordPayload) {
|
||||
const payload = data.d as GuildEmojisUpdatePayload;
|
||||
export async function handleGuildEmojisUpdate(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as DiscordGuildEmojisUpdate;
|
||||
const guild = await cacheHandlers.get("guilds", payload.guild_id);
|
||||
if (!guild) return;
|
||||
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import {
|
||||
DiscordGatewayPayload,
|
||||
DiscordGuildBanAddRemove,
|
||||
} from "../../types/gateway.ts";
|
||||
|
||||
export async function handleGuildBanAdd(data: DiscordPayload) {
|
||||
const payload = data.d as GuildBanPayload;
|
||||
export async function handleGuildBanAdd(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as DiscordGuildBanAddRemove;
|
||||
const guild = await cacheHandlers.get("guilds", payload.guild_id);
|
||||
if (!guild) return;
|
||||
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import {
|
||||
DiscordGatewayPayload,
|
||||
DiscordGuildBanAddRemove,
|
||||
} from "../../types/gateway.ts";
|
||||
|
||||
export async function handleGuildBanRemove(data: DiscordPayload) {
|
||||
const payload = data.d as GuildBanPayload;
|
||||
export async function handleGuildBanRemove(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as DiscordGuildBanAddRemove;
|
||||
const guild = await cacheHandlers.get("guilds", payload.guild_id);
|
||||
if (!guild) return;
|
||||
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { cache, cacheHandlers } from "../../cache.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { DiscordGatewayPayload } from "../../types/gateway.ts";
|
||||
import { basicShards } from "../../ws/shard.ts";
|
||||
|
||||
export async function handleGuildCreate(
|
||||
data: DiscordPayload,
|
||||
data: DiscordGatewayPayload,
|
||||
shardID: number,
|
||||
) {
|
||||
const payload = data.d as CreateGuildPayload;
|
||||
const payload = data.d as DiscordGuild;
|
||||
// When shards resume they emit GUILD_CREATE again.
|
||||
if (await cacheHandlers.has("guilds", payload.id)) return;
|
||||
|
||||
const guildStruct = await structures.createGuildStruct(
|
||||
data.d as CreateGuildPayload,
|
||||
data.d,
|
||||
shardID,
|
||||
);
|
||||
await cacheHandlers.set("guilds", guildStruct.id, guildStruct);
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import { DiscordGatewayPayload } from "../../types/gateway.ts";
|
||||
import { basicShards } from "../../ws/shard.ts";
|
||||
|
||||
export async function handleGuildDelete(
|
||||
data: DiscordPayload,
|
||||
data: DiscordGatewayPayload,
|
||||
shardID: number,
|
||||
) {
|
||||
const payload = data.d as GuildDeletePayload;
|
||||
const payload = data.d as DiscordUnavailableGuild;
|
||||
|
||||
const guild = await cacheHandlers.get("guilds", payload.id);
|
||||
if (!guild) return;
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import {
|
||||
DiscordGatewayPayload,
|
||||
DiscordGuildIntegrationsUpdate,
|
||||
} from "../../types/gateway.ts";
|
||||
|
||||
export async function handleGuildIntegrationsUpdate(
|
||||
data: DiscordPayload,
|
||||
data: DiscordGatewayPayload,
|
||||
) {
|
||||
const payload = data.d as DiscordGuildIntegrationsUpdateEvent;
|
||||
const payload = data.d as DiscordGuildIntegrationsUpdate;
|
||||
|
||||
const guild = await cacheHandlers.get("guilds", payload.guild_id);
|
||||
if (!guild) return;
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import { DiscordGatewayPayload } from "../../types/gateway.ts";
|
||||
|
||||
export async function handleGuildUpdate(data: DiscordPayload) {
|
||||
const payload = data.d as UpdateGuildPayload;
|
||||
export async function handleGuildUpdate(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as DiscordGuild;
|
||||
const cachedGuild = await cacheHandlers.get("guilds", payload.id);
|
||||
if (!cachedGuild) return;
|
||||
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
import { cache, cacheHandlers } from "../../cache.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import {
|
||||
DiscordGatewayPayload,
|
||||
DiscordGuildMembersChunk,
|
||||
} from "../../types/gateway.ts";
|
||||
import { Collection } from "../../util/collection.ts";
|
||||
|
||||
export async function handleGuildMembersChunk(data: DiscordPayload) {
|
||||
const payload = data.d as GuildMemberChunkPayload;
|
||||
export async function handleGuildMembersChunk(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as DiscordGuildMembersChunk;
|
||||
|
||||
const members = await Promise.all(
|
||||
payload.members.map(async (member) => {
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import {
|
||||
DiscordGatewayPayload,
|
||||
DiscordGuildMemberAdd,
|
||||
} from "../../types/gateway.ts";
|
||||
|
||||
export async function handleGuildMemberAdd(data: DiscordPayload) {
|
||||
const payload = data.d as GuildMemberAddPayload;
|
||||
export async function handleGuildMemberAdd(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as DiscordGuildMemberAdd;
|
||||
const guild = await cacheHandlers.get("guilds", payload.guild_id);
|
||||
if (!guild) return;
|
||||
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import {
|
||||
DiscordGatewayPayload,
|
||||
DiscordGuildMemberRemove,
|
||||
} from "../../types/gateway.ts";
|
||||
|
||||
export async function handleGuildMemberRemove(data: DiscordPayload) {
|
||||
const payload = data.d as GuildBanPayload;
|
||||
export async function handleGuildMemberRemove(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as DiscordGuildMemberRemove;
|
||||
const guild = await cacheHandlers.get("guilds", payload.guild_id);
|
||||
if (!guild) return;
|
||||
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import {
|
||||
DiscordGatewayPayload,
|
||||
DiscordGuildMemberUpdate,
|
||||
} from "../../types/gateway.ts";
|
||||
|
||||
export async function handleGuildMemberUpdate(data: DiscordPayload) {
|
||||
const payload = data.d as GuildMemberUpdatePayload;
|
||||
export async function handleGuildMemberUpdate(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as DiscordGuildMemberUpdate;
|
||||
const guild = await cacheHandlers.get("guilds", payload.guild_id);
|
||||
if (!guild) return;
|
||||
|
||||
@@ -31,7 +35,7 @@ export async function handleGuildMemberUpdate(data: DiscordPayload) {
|
||||
eventHandlers.nicknameUpdate?.(
|
||||
guild,
|
||||
memberStruct,
|
||||
payload.nick,
|
||||
payload.nick!,
|
||||
guildMember?.nick,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { DiscordGatewayPayload } from "../../types/gateway.ts";
|
||||
|
||||
export async function handleMessageCreate(data: DiscordPayload) {
|
||||
const payload = data.d as MessageCreateOptions;
|
||||
export async function handleMessageCreate(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as DiscordMessage;
|
||||
const channel = await cacheHandlers.get("channels", payload.channel_id);
|
||||
if (channel) channel.lastMessageID = payload.id;
|
||||
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import {
|
||||
DiscordGatewayPayload,
|
||||
DiscordMessageDelete,
|
||||
} from "../../types/gateway.ts";
|
||||
|
||||
export async function handleMessageDelete(data: DiscordPayload) {
|
||||
const payload = data.d as MessageDeletePayload;
|
||||
export async function handleMessageDelete(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as DiscordMessageDelete;
|
||||
const channel = await cacheHandlers.get("channels", payload.channel_id);
|
||||
if (!channel) return;
|
||||
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import {
|
||||
DiscordGatewayPayload,
|
||||
DiscordMessageDeleteBulk,
|
||||
} from "../../types/gateway.ts";
|
||||
|
||||
export async function handleMessageDeleteBulk(data: DiscordPayload) {
|
||||
const payload = data.d as MessageDeleteBulkPayload;
|
||||
export async function handleMessageDeleteBulk(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as DiscordMessageDeleteBulk;
|
||||
const channel = await cacheHandlers.get("channels", payload.channel_id);
|
||||
if (!channel) return;
|
||||
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
import { botID, eventHandlers } from "../../bot.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import {
|
||||
DiscordGatewayPayload,
|
||||
DiscordMessageReactionAdd,
|
||||
} from "../../types/gateway.ts";
|
||||
|
||||
export async function handleMessageReactionAdd(data: DiscordPayload) {
|
||||
const payload = data.d as MessageReactionPayload;
|
||||
export async function handleMessageReactionAdd(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as DiscordMessageReactionAdd;
|
||||
const message = await cacheHandlers.get("messages", payload.message_id);
|
||||
|
||||
if (message) {
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
import { botID, eventHandlers } from "../../bot.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import {
|
||||
DiscordGatewayPayload,
|
||||
DiscordMessageReactionRemove,
|
||||
} from "../../types/gateway.ts";
|
||||
|
||||
export async function handleMessageReactionRemove(
|
||||
data: DiscordPayload,
|
||||
data: DiscordGatewayPayload,
|
||||
) {
|
||||
const payload = data.d as MessageReactionPayload;
|
||||
const payload = data.d as DiscordMessageReactionRemove;
|
||||
const message = await cacheHandlers.get("messages", payload.message_id);
|
||||
|
||||
if (message) {
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import {
|
||||
DiscordGatewayPayload,
|
||||
DiscordMessageReactionRemoveAll,
|
||||
} from "../../types/gateway.ts";
|
||||
|
||||
export async function handleMessageReactionRemoveAll(
|
||||
data: DiscordPayload,
|
||||
data: DiscordGatewayPayload,
|
||||
) {
|
||||
const payload = data.d as BaseMessageReactionPayload;
|
||||
const payload = data.d as DiscordMessageReactionRemoveAll;
|
||||
const message = await cacheHandlers.get("messages", payload.message_id);
|
||||
|
||||
if (message?.reactions) {
|
||||
@@ -13,5 +17,5 @@ export async function handleMessageReactionRemoveAll(
|
||||
await cacheHandlers.set("messages", payload.message_id, message);
|
||||
}
|
||||
|
||||
eventHandlers.reactionRemoveAll?.(data.d as BaseMessageReactionPayload);
|
||||
eventHandlers.reactionRemoveAll?.(data.d);
|
||||
}
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
import { botID, eventHandlers } from "../../bot.ts";
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import {
|
||||
DiscordGatewayPayload,
|
||||
DiscordMessageReactionRemoveEmoji,
|
||||
} from "../../types/gateway.ts";
|
||||
|
||||
export async function handleMessageReactionRemoveEmoji(
|
||||
data: DiscordPayload,
|
||||
data: DiscordGatewayPayload,
|
||||
) {
|
||||
const payload = data.d as MessageReactionRemoveEmojiPayload;
|
||||
const payload = data.d as DiscordMessageReactionRemoveEmoji;
|
||||
const message = await cacheHandlers.get("messages", payload.message_id);
|
||||
|
||||
if (message?.reactions) {
|
||||
@@ -20,6 +24,6 @@ export async function handleMessageReactionRemoveEmoji(
|
||||
}
|
||||
|
||||
eventHandlers.reactionRemoveEmoji?.(
|
||||
data.d as MessageReactionRemoveEmojiPayload,
|
||||
data.d,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { DiscordGatewayPayload } from "../../types/gateway.ts";
|
||||
|
||||
export async function handleMessageUpdate(data: DiscordPayload) {
|
||||
const payload = data.d as MessageCreateOptions;
|
||||
export async function handleMessageUpdate(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as DiscordMessage;
|
||||
const channel = await cacheHandlers.get("channels", payload.channel_id);
|
||||
if (!channel) return;
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import { DiscordGatewayPayload } from "../../types/gateway.ts";
|
||||
|
||||
export async function handlePresenceUpdate(data: DiscordPayload) {
|
||||
export async function handlePresenceUpdate(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as PresenceUpdatePayload;
|
||||
const oldPresence = await cacheHandlers.get("presences", payload.user.id);
|
||||
await cacheHandlers.set("presences", payload.user.id, payload);
|
||||
|
||||
@@ -7,17 +7,18 @@ import {
|
||||
import { cache, cacheHandlers } from "../../cache.ts";
|
||||
import { initialMemberLoadQueue } from "../../structures/guild.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { DiscordGatewayPayload, DiscordReady } from "../../types/gateway.ts";
|
||||
import { delay } from "../../util/utils.ts";
|
||||
import { allowNextShard, basicShards } from "../../ws/mod.ts";
|
||||
|
||||
export async function handleReady(
|
||||
data: DiscordPayload,
|
||||
data: DiscordGatewayPayload,
|
||||
shardID: number,
|
||||
) {
|
||||
// The bot has already started, the last shard is resumed, however.
|
||||
if (cache.isReady) return;
|
||||
|
||||
const payload = data.d as ReadyPayload;
|
||||
const payload = data.d as DiscordReady;
|
||||
setBotID(payload.user.id);
|
||||
setApplicationID(payload.application.id);
|
||||
|
||||
@@ -44,7 +45,7 @@ export async function handleReady(
|
||||
|
||||
// Don't pass the shard itself because unavailableGuilds won't be updated by the GUILD_CREATE event
|
||||
/** This function checks if the shard is fully loaded */
|
||||
function checkReady(payload: ReadyPayload, shardID: number, now: number) {
|
||||
function checkReady(payload: DiscordReady, shardID: number, now: number) {
|
||||
const shard = basicShards.get(shardID);
|
||||
if (!shard) return;
|
||||
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import {
|
||||
DiscordGatewayPayload,
|
||||
DiscordGuildRoleCreateUpdate,
|
||||
} from "../../types/gateway.ts";
|
||||
|
||||
export async function handleGuildRoleCreate(data: DiscordPayload) {
|
||||
const payload = data.d as GuildRolePayload;
|
||||
export async function handleGuildRoleCreate(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as DiscordGuildRoleCreateUpdate;
|
||||
const guild = await cacheHandlers.get("guilds", payload.guild_id);
|
||||
if (!guild) return;
|
||||
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import {
|
||||
DiscordGatewayPayload,
|
||||
DiscordGuildRoleDelete,
|
||||
} from "../../types/gateway.ts";
|
||||
|
||||
export async function handleGuildRoleDelete(data: DiscordPayload) {
|
||||
const payload = data.d as GuildRoleDeletePayload;
|
||||
export async function handleGuildRoleDelete(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as DiscordGuildRoleDelete;
|
||||
const guild = await cacheHandlers.get("guilds", payload.guild_id);
|
||||
if (!guild) return;
|
||||
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
import { eventHandlers } from "../../bot.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { cacheHandlers } from "../../cache.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import {
|
||||
DiscordGatewayPayload,
|
||||
DiscordGuildRoleCreateUpdate,
|
||||
} from "../../types/gateway.ts";
|
||||
|
||||
export async function handleGuildRoleUpdate(data: DiscordPayload) {
|
||||
const payload = data.d as GuildRolePayload;
|
||||
export async function handleGuildRoleUpdate(data: DiscordGatewayPayload) {
|
||||
const payload = data.d as DiscordGuildRoleCreateUpdate;
|
||||
const guild = await cacheHandlers.get("guilds", payload.guild_id);
|
||||
if (!guild) return;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user