From 71aa75c66030edf794742ccd610df0e29eb7efec Mon Sep 17 00:00:00 2001 From: Yuzu Date: Fri, 1 Jul 2022 10:17:05 -0500 Subject: [PATCH] patch: add interaction event --- handlers/Actions.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/handlers/Actions.ts b/handlers/Actions.ts index 1e1fa36..6174828 100644 --- a/handlers/Actions.ts +++ b/handlers/Actions.ts @@ -2,6 +2,7 @@ import type { DiscordGuildMemberAdd, DiscordGuildMemberRemove, DiscordGuildMemberUpdate, + DiscordInteraction, DiscordMessage, DiscordMessageDelete, DiscordReady, @@ -11,6 +12,7 @@ import type { Session } from "../session/Session.ts"; import Member from "../structures/Member.ts"; import Message from "../structures/Message.ts"; import User from "../structures/User.ts"; +import Interaction from "../structures/Interaction.ts"; export type RawHandler = (...args: [Session, number, T]) => void; export type Handler = (...args: T) => unknown; @@ -43,6 +45,11 @@ export const GUILD_MEMBER_REMOVE: RawHandler = (sessio session.emit("guildMemberRemove", new User(session, member.user), member.guild_id); }; +export const INTERACTION_CREATE: RawHandler = (session, _shardId, interaction) => { + session.unrepliedInteractions.add(BigInt(interaction.id)); + session.emit("interactionCreate", new Interaction(session, interaction)); +}; + export const raw: RawHandler = (session, shardId, data) => { session.emit("raw", data, shardId); }; @@ -60,5 +67,6 @@ export interface Events { "guildMemberAdd": Handler<[Member]>; "guildMemberUpdate": Handler<[Member]>; "guildMemberRemove": Handler<[User, Snowflake]>; + "interactionCreate": Handler<[Interaction]>; "raw": Handler<[unknown, number]>; }