mirror of
https://github.com/tiramisulabs/seyfert.git
synced 2025-07-03 05:26:07 +00:00
patch: add interaction event
This commit is contained in:
parent
42e5c9f62b
commit
71aa75c660
@ -2,6 +2,7 @@ import type {
|
|||||||
DiscordGuildMemberAdd,
|
DiscordGuildMemberAdd,
|
||||||
DiscordGuildMemberRemove,
|
DiscordGuildMemberRemove,
|
||||||
DiscordGuildMemberUpdate,
|
DiscordGuildMemberUpdate,
|
||||||
|
DiscordInteraction,
|
||||||
DiscordMessage,
|
DiscordMessage,
|
||||||
DiscordMessageDelete,
|
DiscordMessageDelete,
|
||||||
DiscordReady,
|
DiscordReady,
|
||||||
@ -11,6 +12,7 @@ import type { Session } from "../session/Session.ts";
|
|||||||
import Member from "../structures/Member.ts";
|
import Member from "../structures/Member.ts";
|
||||||
import Message from "../structures/Message.ts";
|
import Message from "../structures/Message.ts";
|
||||||
import User from "../structures/User.ts";
|
import User from "../structures/User.ts";
|
||||||
|
import Interaction from "../structures/Interaction.ts";
|
||||||
|
|
||||||
export type RawHandler<T> = (...args: [Session, number, T]) => void;
|
export type RawHandler<T> = (...args: [Session, number, T]) => void;
|
||||||
export type Handler<T extends unknown[]> = (...args: T) => unknown;
|
export type Handler<T extends unknown[]> = (...args: T) => unknown;
|
||||||
@ -43,6 +45,11 @@ export const GUILD_MEMBER_REMOVE: RawHandler<DiscordGuildMemberRemove> = (sessio
|
|||||||
session.emit("guildMemberRemove", new User(session, member.user), member.guild_id);
|
session.emit("guildMemberRemove", new User(session, member.user), member.guild_id);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const INTERACTION_CREATE: RawHandler<DiscordInteraction> = (session, _shardId, interaction) => {
|
||||||
|
session.unrepliedInteractions.add(BigInt(interaction.id));
|
||||||
|
session.emit("interactionCreate", new Interaction(session, interaction));
|
||||||
|
};
|
||||||
|
|
||||||
export const raw: RawHandler<unknown> = (session, shardId, data) => {
|
export const raw: RawHandler<unknown> = (session, shardId, data) => {
|
||||||
session.emit("raw", data, shardId);
|
session.emit("raw", data, shardId);
|
||||||
};
|
};
|
||||||
@ -60,5 +67,6 @@ export interface Events {
|
|||||||
"guildMemberAdd": Handler<[Member]>;
|
"guildMemberAdd": Handler<[Member]>;
|
||||||
"guildMemberUpdate": Handler<[Member]>;
|
"guildMemberUpdate": Handler<[Member]>;
|
||||||
"guildMemberRemove": Handler<[User, Snowflake]>;
|
"guildMemberRemove": Handler<[User, Snowflake]>;
|
||||||
|
"interactionCreate": Handler<[Interaction]>;
|
||||||
"raw": Handler<[unknown, number]>;
|
"raw": Handler<[unknown, number]>;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user