mirror of
https://github.com/teloxide/teloxide.git
synced 2024-12-22 14:35:36 +01:00
Add setMessageReaction
TBA method
This commit is contained in:
parent
50768a1af0
commit
409c3d5403
12 changed files with 110 additions and 1 deletions
|
@ -1851,6 +1851,37 @@ Schema(
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
Method(
|
||||||
|
names: ("setMessageReaction", "SetMessageReaction", "set_message_reaction"),
|
||||||
|
return_ty: True,
|
||||||
|
doc: Doc(
|
||||||
|
md: "Use this method to change the chosen reactions on a message. Service messages can't be reacted to. Automatically forwarded messages from a channel to its discussion group have the same available reactions as messages in the channel. Returns True on success."
|
||||||
|
),
|
||||||
|
tg_doc: "https://core.telegram.org/bots/api#setmessagereaction",
|
||||||
|
tg_category: "Available methods",
|
||||||
|
params: [
|
||||||
|
Param(
|
||||||
|
name: "chat_id",
|
||||||
|
ty: RawTy("Recipient"),
|
||||||
|
descr: Doc(md: "Unique identifier for the target chat or username of the target channel (in the format @channelusername)")
|
||||||
|
),
|
||||||
|
Param(
|
||||||
|
name: "message_id",
|
||||||
|
ty: RawTy("MessageId"),
|
||||||
|
descr: Doc(md: "Identifier of the target message. If the message belongs to a media group, the reaction is set to the first non-deleted message in the group instead.")
|
||||||
|
),
|
||||||
|
Param(
|
||||||
|
name: "reaction",
|
||||||
|
ty: Option(ArrayOf(RawTy("ReactionType"))),
|
||||||
|
descr: Doc(md: "New list of reaction types to set on the message. Currently, as non-premium users, bots can set up to one reaction per message. A custom emoji reaction can be used if it is either already present on the message or explicitly allowed by chat administrators.")
|
||||||
|
),
|
||||||
|
Param(
|
||||||
|
name: "is_big",
|
||||||
|
ty: Option(bool),
|
||||||
|
descr: Doc(md: "Pass True to set the reaction with a big animation")
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
Method(
|
Method(
|
||||||
names: ("getUserProfilePhotos", "GetUserProfilePhotos", "get_user_profile_photos"),
|
names: ("getUserProfilePhotos", "GetUserProfilePhotos", "get_user_profile_photos"),
|
||||||
return_ty: RawTy("UserProfilePhotos"),
|
return_ty: RawTy("UserProfilePhotos"),
|
||||||
|
|
|
@ -116,6 +116,7 @@ where
|
||||||
send_poll,
|
send_poll,
|
||||||
send_dice,
|
send_dice,
|
||||||
send_chat_action,
|
send_chat_action,
|
||||||
|
set_message_reaction,
|
||||||
get_user_profile_photos,
|
get_user_profile_photos,
|
||||||
get_file,
|
get_file,
|
||||||
kick_chat_member,
|
kick_chat_member,
|
||||||
|
|
|
@ -215,6 +215,7 @@ where
|
||||||
send_poll,
|
send_poll,
|
||||||
send_dice,
|
send_dice,
|
||||||
send_chat_action,
|
send_chat_action,
|
||||||
|
set_message_reaction,
|
||||||
get_user_profile_photos,
|
get_user_profile_photos,
|
||||||
get_file,
|
get_file,
|
||||||
kick_chat_member,
|
kick_chat_member,
|
||||||
|
@ -480,6 +481,12 @@ trait ErasableRequester<'a> {
|
||||||
action: ChatAction,
|
action: ChatAction,
|
||||||
) -> ErasedRequest<'a, SendChatAction, Self::Err>;
|
) -> ErasedRequest<'a, SendChatAction, Self::Err>;
|
||||||
|
|
||||||
|
fn set_message_reaction(
|
||||||
|
&self,
|
||||||
|
chat_id: Recipient,
|
||||||
|
message_id: MessageId,
|
||||||
|
) -> ErasedRequest<'a, SetMessageReaction, Self::Err>;
|
||||||
|
|
||||||
fn get_user_profile_photos(
|
fn get_user_profile_photos(
|
||||||
&self,
|
&self,
|
||||||
user_id: UserId,
|
user_id: UserId,
|
||||||
|
@ -1222,6 +1229,14 @@ where
|
||||||
Requester::send_chat_action(self, chat_id, action).erase()
|
Requester::send_chat_action(self, chat_id, action).erase()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn set_message_reaction(
|
||||||
|
&self,
|
||||||
|
chat_id: Recipient,
|
||||||
|
message_id: MessageId,
|
||||||
|
) -> ErasedRequest<'a, SetMessageReaction, Self::Err> {
|
||||||
|
Requester::set_message_reaction(self, chat_id, message_id).erase()
|
||||||
|
}
|
||||||
|
|
||||||
fn get_user_profile_photos(
|
fn get_user_profile_photos(
|
||||||
&self,
|
&self,
|
||||||
user_id: UserId,
|
user_id: UserId,
|
||||||
|
|
|
@ -197,6 +197,7 @@ where
|
||||||
send_contact,
|
send_contact,
|
||||||
send_dice,
|
send_dice,
|
||||||
send_chat_action,
|
send_chat_action,
|
||||||
|
set_message_reaction,
|
||||||
get_user_profile_photos,
|
get_user_profile_photos,
|
||||||
get_file,
|
get_file,
|
||||||
kick_chat_member,
|
kick_chat_member,
|
||||||
|
|
|
@ -99,6 +99,7 @@ where
|
||||||
stop_message_live_location,
|
stop_message_live_location,
|
||||||
stop_message_live_location_inline,
|
stop_message_live_location_inline,
|
||||||
send_chat_action,
|
send_chat_action,
|
||||||
|
set_message_reaction,
|
||||||
get_user_profile_photos,
|
get_user_profile_photos,
|
||||||
get_file,
|
get_file,
|
||||||
kick_chat_member,
|
kick_chat_member,
|
||||||
|
|
|
@ -145,6 +145,7 @@ where
|
||||||
send_poll,
|
send_poll,
|
||||||
send_dice,
|
send_dice,
|
||||||
send_chat_action,
|
send_chat_action,
|
||||||
|
set_message_reaction,
|
||||||
get_user_profile_photos,
|
get_user_profile_photos,
|
||||||
get_file,
|
get_file,
|
||||||
kick_chat_member,
|
kick_chat_member,
|
||||||
|
|
|
@ -309,6 +309,18 @@ impl Requester for Bot {
|
||||||
Self::SendChatAction::new(self.clone(), payloads::SendChatAction::new(chat_id, action))
|
Self::SendChatAction::new(self.clone(), payloads::SendChatAction::new(chat_id, action))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type SetMessageReaction = JsonRequest<payloads::SetMessageReaction>;
|
||||||
|
|
||||||
|
fn set_message_reaction<C>(&self, chat_id: C, message_id: MessageId) -> Self::SetMessageReaction
|
||||||
|
where
|
||||||
|
C: Into<Recipient>,
|
||||||
|
{
|
||||||
|
Self::SetMessageReaction::new(
|
||||||
|
self.clone(),
|
||||||
|
payloads::SetMessageReaction::new(chat_id, message_id),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
type GetUserProfilePhotos = JsonRequest<payloads::GetUserProfilePhotos>;
|
type GetUserProfilePhotos = JsonRequest<payloads::GetUserProfilePhotos>;
|
||||||
|
|
||||||
fn get_user_profile_photos(&self, user_id: UserId) -> Self::GetUserProfilePhotos {
|
fn get_user_profile_photos(&self, user_id: UserId) -> Self::GetUserProfilePhotos {
|
||||||
|
|
|
@ -667,6 +667,14 @@ macro_rules! requester_forward {
|
||||||
$body!(send_chat_action this (chat_id: C, action: ChatAction))
|
$body!(send_chat_action this (chat_id: C, action: ChatAction))
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
(@method set_message_reaction $body:ident $ty:ident) => {
|
||||||
|
type SetMessageReaction = $ty![SetMessageReaction];
|
||||||
|
|
||||||
|
fn set_message_reaction<C>(&self, chat_id: C, message_id: MessageId) -> Self::SetMessageReaction where C: Into<Recipient> {
|
||||||
|
let this = self;
|
||||||
|
$body!(set_message_reaction this (chat_id: C, message_id: MessageId))
|
||||||
|
}
|
||||||
|
};
|
||||||
(@method get_user_profile_photos $body:ident $ty:ident) => {
|
(@method get_user_profile_photos $body:ident $ty:ident) => {
|
||||||
type GetUserProfilePhotos = $ty![GetUserProfilePhotos];
|
type GetUserProfilePhotos = $ty![GetUserProfilePhotos];
|
||||||
|
|
||||||
|
|
|
@ -117,6 +117,7 @@ mod set_chat_title;
|
||||||
mod set_custom_emoji_sticker_set_thumbnail;
|
mod set_custom_emoji_sticker_set_thumbnail;
|
||||||
mod set_game_score;
|
mod set_game_score;
|
||||||
mod set_game_score_inline;
|
mod set_game_score_inline;
|
||||||
|
mod set_message_reaction;
|
||||||
mod set_my_commands;
|
mod set_my_commands;
|
||||||
mod set_my_default_administrator_rights;
|
mod set_my_default_administrator_rights;
|
||||||
mod set_my_description;
|
mod set_my_description;
|
||||||
|
@ -256,6 +257,7 @@ pub use set_custom_emoji_sticker_set_thumbnail::{
|
||||||
};
|
};
|
||||||
pub use set_game_score::{SetGameScore, SetGameScoreSetters};
|
pub use set_game_score::{SetGameScore, SetGameScoreSetters};
|
||||||
pub use set_game_score_inline::{SetGameScoreInline, SetGameScoreInlineSetters};
|
pub use set_game_score_inline::{SetGameScoreInline, SetGameScoreInlineSetters};
|
||||||
|
pub use set_message_reaction::{SetMessageReaction, SetMessageReactionSetters};
|
||||||
pub use set_my_commands::{SetMyCommands, SetMyCommandsSetters};
|
pub use set_my_commands::{SetMyCommands, SetMyCommandsSetters};
|
||||||
pub use set_my_default_administrator_rights::{
|
pub use set_my_default_administrator_rights::{
|
||||||
SetMyDefaultAdministratorRights, SetMyDefaultAdministratorRightsSetters,
|
SetMyDefaultAdministratorRights, SetMyDefaultAdministratorRightsSetters,
|
||||||
|
|
25
crates/teloxide-core/src/payloads/set_message_reaction.rs
Normal file
25
crates/teloxide-core/src/payloads/set_message_reaction.rs
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
//! Generated by `codegen_payloads`, do not edit by hand.
|
||||||
|
|
||||||
|
use serde::Serialize;
|
||||||
|
|
||||||
|
use crate::types::{MessageId, ReactionType, Recipient, True};
|
||||||
|
|
||||||
|
impl_payload! {
|
||||||
|
/// Use this method to change the chosen reactions on a message. Service messages can't be reacted to. Automatically forwarded messages from a channel to its discussion group have the same available reactions as messages in the channel. Returns True on success.
|
||||||
|
#[derive(Debug, PartialEq, Eq, Hash, Clone, Serialize)]
|
||||||
|
pub SetMessageReaction (SetMessageReactionSetters) => True {
|
||||||
|
required {
|
||||||
|
/// Unique identifier for the target chat or username of the target channel (in the format @channelusername)
|
||||||
|
pub chat_id: Recipient [into],
|
||||||
|
/// Identifier of the target message. If the message belongs to a media group, the reaction is set to the first non-deleted message in the group instead.
|
||||||
|
#[serde(flatten)]
|
||||||
|
pub message_id: MessageId,
|
||||||
|
}
|
||||||
|
optional {
|
||||||
|
/// New list of reaction types to set on the message. Currently, as non-premium users, bots can set up to one reaction per message. A custom emoji reaction can be used if it is either already present on the message or explicitly allowed by chat administrators.
|
||||||
|
pub reaction: Vec<ReactionType> [collect],
|
||||||
|
/// Pass True to set the reaction with a big animation
|
||||||
|
pub is_big: bool,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -39,7 +39,7 @@ pub use crate::payloads::{
|
||||||
SetChatMenuButtonSetters as _, SetChatPermissionsSetters as _, SetChatPhotoSetters as _,
|
SetChatMenuButtonSetters as _, SetChatPermissionsSetters as _, SetChatPhotoSetters as _,
|
||||||
SetChatStickerSetSetters as _, SetChatTitleSetters as _,
|
SetChatStickerSetSetters as _, SetChatTitleSetters as _,
|
||||||
SetCustomEmojiStickerSetThumbnailSetters as _, SetGameScoreInlineSetters as _,
|
SetCustomEmojiStickerSetThumbnailSetters as _, SetGameScoreInlineSetters as _,
|
||||||
SetGameScoreSetters as _, SetMyCommandsSetters as _,
|
SetGameScoreSetters as _, SetMessageReactionSetters as _, SetMyCommandsSetters as _,
|
||||||
SetMyDefaultAdministratorRightsSetters as _, SetMyDescriptionSetters as _,
|
SetMyDefaultAdministratorRightsSetters as _, SetMyDescriptionSetters as _,
|
||||||
SetMyNameSetters as _, SetMyShortDescriptionSetters as _, SetPassportDataErrorsSetters as _,
|
SetMyNameSetters as _, SetMyShortDescriptionSetters as _, SetPassportDataErrorsSetters as _,
|
||||||
SetStickerEmojiListSetters as _, SetStickerKeywordsSetters as _,
|
SetStickerEmojiListSetters as _, SetStickerKeywordsSetters as _,
|
||||||
|
|
|
@ -413,6 +413,17 @@ pub trait Requester {
|
||||||
where
|
where
|
||||||
C: Into<Recipient>;
|
C: Into<Recipient>;
|
||||||
|
|
||||||
|
type SetMessageReaction: Request<Payload = SetMessageReaction, Err = Self::Err>;
|
||||||
|
|
||||||
|
/// For Telegram documentation see [`SetMessageReaction`].
|
||||||
|
fn set_message_reaction<C>(
|
||||||
|
&self,
|
||||||
|
chat_id: C,
|
||||||
|
message_id: MessageId,
|
||||||
|
) -> Self::SetMessageReaction
|
||||||
|
where
|
||||||
|
C: Into<Recipient>;
|
||||||
|
|
||||||
type GetUserProfilePhotos: Request<Payload = GetUserProfilePhotos, Err = Self::Err>;
|
type GetUserProfilePhotos: Request<Payload = GetUserProfilePhotos, Err = Self::Err>;
|
||||||
|
|
||||||
/// For Telegram documentation see [`GetUserProfilePhotos`].
|
/// For Telegram documentation see [`GetUserProfilePhotos`].
|
||||||
|
@ -1307,6 +1318,7 @@ macro_rules! forward_all {
|
||||||
send_poll,
|
send_poll,
|
||||||
send_dice,
|
send_dice,
|
||||||
send_chat_action,
|
send_chat_action,
|
||||||
|
set_message_reaction,
|
||||||
get_user_profile_photos,
|
get_user_profile_photos,
|
||||||
get_file,
|
get_file,
|
||||||
kick_chat_member,
|
kick_chat_member,
|
||||||
|
|
Loading…
Reference in a new issue