use serde::{Deserialize, Serialize};
use super::{Emoji, ReactionTarget};
use crate::models::Snowflake;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct MessageReaction {
pub user_id: Snowflake,
pub channel_id: Snowflake,
pub guild_id: Snowflake,
pub target: ReactionTarget,
pub emoji: Emoji,
}
impl MessageReaction {
pub fn new(
user_id: impl Into<Snowflake>,
channel_id: impl Into<Snowflake>,
guild_id: impl Into<Snowflake>,
target: ReactionTarget,
emoji: Emoji,
) -> Self {
Self {
user_id: user_id.into(),
channel_id: channel_id.into(),
guild_id: guild_id.into(),
target,
emoji,
}
}
}