Update Message Reaction Add

This commit is contained in:
Nicolás Serna 2022-07-11 14:11:23 -03:00
parent ffed682c25
commit 5a3076cbe3
2 changed files with 25 additions and 3 deletions

View File

@ -58,6 +58,7 @@ import Integration from "./structures/Integration.ts";
import Guild from "./structures/guilds/Guild.ts";
import InteractionFactory from "./structures/interactions/InteractionFactory.ts";
import { InviteCreate, NewInviteCreate } from "./structures/Invite.ts";
import { MessageReactionAdd, NewMessageReactionAdd } from "./structures/MessageReaction.ts";
export type RawHandler<T> = (...args: [Session, number, T]) => void;
export type Handler<T extends unknown[]> = (...args: T) => unknown;
@ -265,7 +266,7 @@ export const AUTO_MODERATION_ACTION_EXECUTE: RawHandler<DiscordAutoModerationAct
};
export const MESSAGE_REACTION_ADD: RawHandler<DiscordMessageReactionAdd> = (session, _shardId, reaction) => {
session.emit("messageReactionAdd", null);
session.emit("messageReactionAdd", NewMessageReactionAdd(session, reaction));
};
export const MESSAGE_REACTION_REMOVE: RawHandler<DiscordMessageReactionRemove> = (session, _shardId, reaction) => {
@ -361,7 +362,7 @@ export interface Events {
"messageCreate": Handler<[Message]>;
"messageUpdate": Handler<[Partial<Message>]>;
"messageDelete": Handler<[{ id: Snowflake, channelId: Snowflake, guildId?: Snowflake }]>;
"messageReactionAdd": Handler<[MessageReaction]>;
"messageReactionAdd": Handler<[MessageReactionAdd]>;
"messageReactionRemove": Handler<[MessageReaction]>;
"messageReactionRemoveAll": Handler<[MessageReaction]>;
"messageReactionRemoveEmoji": Handler<[MessageReaction]>;

View File

@ -1,6 +1,27 @@
import type { Session } from "../Session.ts";
import type { DiscordReaction } from "../../discordeno/mod.ts";
import type { DiscordMemberWithUser, DiscordMessageReactionAdd, DiscordReaction } from "../../discordeno/mod.ts";
import Emoji from "./Emoji.ts";
import Member from "./Member.ts";
export interface MessageReactionAdd {
userId: string;
channelId: string;
messageId: string;
guildId?: string;
member?: Member;
emoji: Partial<Emoji>
}
export function NewMessageReactionAdd(session: Session, data: DiscordMessageReactionAdd): MessageReactionAdd {
return {
userId: data.user_id,
channelId: data.channel_id,
messageId: data.message_id,
guildId: data.guild_id,
member: data.member ? new Member(session, (data.member as DiscordMemberWithUser), (data.guild_id || "")) : undefined,
emoji: new Emoji(session, data.emoji),
}
}
/**
* Represents a reaction