mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-17 03:38:17 +00:00
bans as controllers
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
import { eventHandlers } from "../module/client.ts";
|
||||
import { DiscordPayload } from "../types/discord.ts";
|
||||
import { GuildBanPayload } from "../types/guild.ts";
|
||||
import { cache } from "../utils/cache.ts";
|
||||
|
||||
export function handleInternalGuildBanAdd(data: DiscordPayload) {
|
||||
if (data.t !== "GUILD_BAN_ADD") return;
|
||||
|
||||
const payload = data.d as GuildBanPayload;
|
||||
const guild = cache.guilds.get(payload.guild_id);
|
||||
if (!guild) return;
|
||||
|
||||
const member = guild.members.get(payload.user.id);
|
||||
eventHandlers.guildBanAdd?.(guild, member || payload.user);
|
||||
}
|
||||
|
||||
export function handleInternalGuildBanRemove(data: DiscordPayload) {
|
||||
if (data.t !== "GUILD_BAN_ADD") return;
|
||||
|
||||
const payload = data.d as GuildBanPayload;
|
||||
const guild = cache.guilds.get(payload.guild_id);
|
||||
if (!guild) return;
|
||||
|
||||
const member = guild.members.get(payload.user.id);
|
||||
eventHandlers.guildBanRemove?.(guild, member || payload.user);
|
||||
}
|
||||
@@ -1,3 +1,7 @@
|
||||
import {
|
||||
handleInternalGuildBanAdd,
|
||||
handleInternalGuildBanRemove,
|
||||
} from "./bans.ts";
|
||||
import {
|
||||
handleInternalChannelCreate,
|
||||
handleInternalChannelDelete,
|
||||
@@ -18,4 +22,6 @@ export let controllers = {
|
||||
GUILD_CREATE: handleInternalGuildCreate,
|
||||
GUILD_DELETE: handleInternalGuildDelete,
|
||||
GUILD_UPDATE: handleInternalGuildUpdate,
|
||||
GUILD_BAN_ADD: handleInternalGuildBanAdd,
|
||||
GUILD_BAN_REMOVE: handleInternalGuildBanRemove,
|
||||
};
|
||||
|
||||
@@ -134,18 +134,6 @@ export async function handleDiscordPayload(
|
||||
// Run the appropriate controller for this event.
|
||||
controllers[data.t]?.(data, shardID);
|
||||
|
||||
if (data.t && ["GUILD_BAN_ADD", "GUILD_BAN_REMOVE"].includes(data.t)) {
|
||||
const options = data.d as GuildBanPayload;
|
||||
const guild = cache.guilds.get(options.guild_id);
|
||||
if (!guild) return;
|
||||
|
||||
const member = guild.members.get(options.user.id);
|
||||
|
||||
return data.t === "GUILD_BAN_ADD"
|
||||
? eventHandlers.guildBanAdd?.(guild, member || options.user)
|
||||
: eventHandlers.guildBanRemove?.(guild, member || options.user);
|
||||
}
|
||||
|
||||
if (data.t === "GUILD_EMOJIS_UPDATE") {
|
||||
const options = data.d as GuildEmojisUpdatePayload;
|
||||
const guild = cache.guilds.get(options.guild_id);
|
||||
|
||||
@@ -18,7 +18,9 @@ export interface DiscordPayload {
|
||||
| "CHANNEL_DELETE"
|
||||
| "GUILD_CREATE"
|
||||
| "GUILD_DELETE"
|
||||
| "GUILD_UPDATE";
|
||||
| "GUILD_UPDATE"
|
||||
| "GUILD_BAN_ADD"
|
||||
| "GUILD_BAN_REMOVE";
|
||||
}
|
||||
|
||||
export interface DiscordBotGatewayData {
|
||||
|
||||
Reference in New Issue
Block a user