shrike 0.1.1

AT Protocol library for Rust
Documentation
// Code generated by lexgen. DO NOT EDIT.

#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ConvoRemoveReactionInput {
    pub convo_id: String,
    pub message_id: String,
    pub value: String,
    /// Extra fields not defined in the schema.
    #[serde(flatten)]
    pub extra: std::collections::HashMap<String, serde_json::Value>,
}

#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ConvoRemoveReactionOutput {
    pub message: crate::api::chat::bsky::ConvoDefsMessageView,
    /// Extra fields not defined in the schema.
    #[serde(flatten)]
    pub extra: std::collections::HashMap<String, serde_json::Value>,
}

/// ConvoRemoveReaction — Removes an emoji reaction from a message. Requires authentication. It is idempotent, so multiple calls from the same user with the same emoji result in that reaction not being present, even if it already wasn't.
pub async fn convo_remove_reaction(
    client: &crate::xrpc::Client,
    input: &ConvoRemoveReactionInput,
) -> Result<ConvoRemoveReactionOutput, crate::xrpc::Error> {
    client
        .procedure("chat.bsky.convo.removeReaction", input)
        .await
}