//! Generated by `codegen_payloads`, do not edit by hand.
use chrono::{DateTime, Utc};
use serde::Serialize;
use crate::types::{CustomEmojiId, True, UserId};
impl_payload! {
/// Changes the emoji status for a given user that previously allowed the bot to manage their emoji status via the Mini App method [requestEmojiStatusAccess]. Returns True on success.
///
/// [requestEmojiStatusAccess]: https://core.telegram.org/bots/webapps#initializing-mini-apps
#[derive(Debug, PartialEq, Eq, Hash, Clone, Serialize)]
pub SetUserEmojiStatus (SetUserEmojiStatusSetters) => True {
required {
/// Unique identifier of the target user
pub user_id: UserId,
}
optional {
/// Custom emoji identifier of the emoji status to set. Pass an empty string to remove the status
pub emoji_status_custom_emoji_id: CustomEmojiId,
/// Expiration date of the emoji status, if any
#[serde(with = "crate::types::serde_opt_date_from_unix_timestamp")]
pub emoji_status_expiration_date: DateTime<Utc> [into],
}
}
}