mirror of
https://github.com/teloxide/teloxide.git
synced 2024-12-22 14:35:36 +01:00
Add method getBusinessConnection
This commit is contained in:
parent
7fe9278ce8
commit
68b7aba836
13 changed files with 127 additions and 19 deletions
|
@ -3052,6 +3052,20 @@ Schema(
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
Method(
|
||||||
|
names: ("getBusinessConnection", "GetBusinessConnection", "get_business_connection"),
|
||||||
|
return_ty: RawTy("BusinessConnection"),
|
||||||
|
doc: Doc(md: "Use this method to get information about the connection of the bot with a business account. Returns a BusinessConnection object on success."),
|
||||||
|
tg_doc: "https://core.telegram.org/bots/api#getbusinessconnection",
|
||||||
|
tg_category: "Available methods",
|
||||||
|
params: [
|
||||||
|
Param(
|
||||||
|
name: "business_connection_id",
|
||||||
|
ty: String,
|
||||||
|
descr: Doc(md: "Unique identifier of the business connection"),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
Method(
|
Method(
|
||||||
names: ("getMyCommands", "GetMyCommands", "get_my_commands"),
|
names: ("getMyCommands", "GetMyCommands", "get_my_commands"),
|
||||||
return_ty: ArrayOf(RawTy("BotCommand")),
|
return_ty: ArrayOf(RawTy("BotCommand")),
|
||||||
|
|
|
@ -163,6 +163,7 @@ where
|
||||||
answer_callback_query,
|
answer_callback_query,
|
||||||
get_user_chat_boosts,
|
get_user_chat_boosts,
|
||||||
set_my_commands,
|
set_my_commands,
|
||||||
|
get_business_connection,
|
||||||
get_my_commands,
|
get_my_commands,
|
||||||
set_my_name,
|
set_my_name,
|
||||||
get_my_name,
|
get_my_name,
|
||||||
|
|
|
@ -262,6 +262,7 @@ where
|
||||||
answer_callback_query,
|
answer_callback_query,
|
||||||
get_user_chat_boosts,
|
get_user_chat_boosts,
|
||||||
set_my_commands,
|
set_my_commands,
|
||||||
|
get_business_connection,
|
||||||
get_my_commands,
|
get_my_commands,
|
||||||
set_my_name,
|
set_my_name,
|
||||||
get_my_name,
|
get_my_name,
|
||||||
|
@ -751,6 +752,11 @@ trait ErasableRequester<'a> {
|
||||||
commands: Vec<BotCommand>,
|
commands: Vec<BotCommand>,
|
||||||
) -> ErasedRequest<'a, SetMyCommands, Self::Err>;
|
) -> ErasedRequest<'a, SetMyCommands, Self::Err>;
|
||||||
|
|
||||||
|
fn get_business_connection(
|
||||||
|
&self,
|
||||||
|
business_connection_id: String,
|
||||||
|
) -> ErasedRequest<'a, GetBusinessConnection, Self::Err>;
|
||||||
|
|
||||||
fn get_my_commands(&self) -> ErasedRequest<'a, GetMyCommands, Self::Err>;
|
fn get_my_commands(&self) -> ErasedRequest<'a, GetMyCommands, Self::Err>;
|
||||||
|
|
||||||
fn set_my_name(&self) -> ErasedRequest<'a, SetMyName, Self::Err>;
|
fn set_my_name(&self) -> ErasedRequest<'a, SetMyName, Self::Err>;
|
||||||
|
@ -1603,6 +1609,13 @@ where
|
||||||
Requester::set_my_commands(self, commands).erase()
|
Requester::set_my_commands(self, commands).erase()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn get_business_connection(
|
||||||
|
&self,
|
||||||
|
business_connection_id: String,
|
||||||
|
) -> ErasedRequest<'a, GetBusinessConnection, Self::Err> {
|
||||||
|
Requester::get_business_connection(self, business_connection_id).erase()
|
||||||
|
}
|
||||||
|
|
||||||
fn get_my_commands(&self) -> ErasedRequest<'a, GetMyCommands, Self::Err> {
|
fn get_my_commands(&self) -> ErasedRequest<'a, GetMyCommands, Self::Err> {
|
||||||
Requester::get_my_commands(self).erase()
|
Requester::get_my_commands(self).erase()
|
||||||
}
|
}
|
||||||
|
|
|
@ -244,6 +244,7 @@ where
|
||||||
answer_callback_query,
|
answer_callback_query,
|
||||||
get_user_chat_boosts,
|
get_user_chat_boosts,
|
||||||
set_my_commands,
|
set_my_commands,
|
||||||
|
get_business_connection,
|
||||||
get_my_commands,
|
get_my_commands,
|
||||||
set_my_name,
|
set_my_name,
|
||||||
get_my_name,
|
get_my_name,
|
||||||
|
|
|
@ -146,6 +146,7 @@ where
|
||||||
answer_callback_query,
|
answer_callback_query,
|
||||||
get_user_chat_boosts,
|
get_user_chat_boosts,
|
||||||
set_my_commands,
|
set_my_commands,
|
||||||
|
get_business_connection,
|
||||||
get_my_commands,
|
get_my_commands,
|
||||||
set_my_name,
|
set_my_name,
|
||||||
get_my_name,
|
get_my_name,
|
||||||
|
|
|
@ -192,6 +192,7 @@ where
|
||||||
answer_callback_query,
|
answer_callback_query,
|
||||||
get_user_chat_boosts,
|
get_user_chat_boosts,
|
||||||
set_my_commands,
|
set_my_commands,
|
||||||
|
get_business_connection,
|
||||||
get_my_commands,
|
get_my_commands,
|
||||||
set_my_name,
|
set_my_name,
|
||||||
get_my_name,
|
get_my_name,
|
||||||
|
|
|
@ -881,6 +881,18 @@ impl Requester for Bot {
|
||||||
Self::SetMyCommands::new(self.clone(), payloads::SetMyCommands::new(commands))
|
Self::SetMyCommands::new(self.clone(), payloads::SetMyCommands::new(commands))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type GetBusinessConnection = JsonRequest<payloads::GetBusinessConnection>;
|
||||||
|
|
||||||
|
fn get_business_connection<B>(&self, business_connection_id: B) -> Self::GetBusinessConnection
|
||||||
|
where
|
||||||
|
B: Into<String>,
|
||||||
|
{
|
||||||
|
Self::GetBusinessConnection::new(
|
||||||
|
self.clone(),
|
||||||
|
payloads::GetBusinessConnection::new(business_connection_id),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
type GetMyCommands = JsonRequest<payloads::GetMyCommands>;
|
type GetMyCommands = JsonRequest<payloads::GetMyCommands>;
|
||||||
|
|
||||||
fn get_my_commands(&self) -> Self::GetMyCommands {
|
fn get_my_commands(&self) -> Self::GetMyCommands {
|
||||||
|
|
|
@ -1069,6 +1069,14 @@ macro_rules! requester_forward {
|
||||||
$body!(set_my_commands this (commands: C))
|
$body!(set_my_commands this (commands: C))
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
(@method get_business_connection $body:ident $ty:ident) => {
|
||||||
|
type GetBusinessConnection = $ty![GetBusinessConnection];
|
||||||
|
|
||||||
|
fn get_business_connection<BCI>(&self, business_connection_id: BCI) -> Self::GetBusinessConnection where BCI: Into<String> {
|
||||||
|
let this = self;
|
||||||
|
$body!(get_business_connection this (business_connection_id: BCI))
|
||||||
|
}
|
||||||
|
};
|
||||||
(@method get_my_commands $body:ident $ty:ident) => {
|
(@method get_my_commands $body:ident $ty:ident) => {
|
||||||
type GetMyCommands = $ty![GetMyCommands];
|
type GetMyCommands = $ty![GetMyCommands];
|
||||||
|
|
||||||
|
@ -1524,7 +1532,7 @@ fn codegen_requester_forward() {
|
||||||
|
|
||||||
convert_params.sort_unstable();
|
convert_params.sort_unstable();
|
||||||
|
|
||||||
let prefixes: IndexMap<_, _> = convert_params
|
let mut prefixes: IndexMap<_, _> = convert_params
|
||||||
.iter()
|
.iter()
|
||||||
.copied()
|
.copied()
|
||||||
// Workaround to output the last type as the first letter
|
// Workaround to output the last type as the first letter
|
||||||
|
@ -1533,6 +1541,18 @@ fn codegen_requester_forward() {
|
||||||
.map(|(l, r)| (l, min_prefix(l, r)))
|
.map(|(l, r)| (l, min_prefix(l, r)))
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
|
// FIXME: This hard-coded value has been set to avoid conflicting generic
|
||||||
|
// parameter 'B' with impl<B> Requester... in all the adaptors and other places
|
||||||
|
//
|
||||||
|
// One fix could be to take full abbrevation for all the parameters instead of
|
||||||
|
// just the first character. Other fix is to change the generic parameter name
|
||||||
|
// in all the impl blocks to something like 'Z' because that is very less likely
|
||||||
|
// to conflict in future.
|
||||||
|
if prefixes.contains_key("business_connection_id") {
|
||||||
|
prefixes["business_connection_id"] = "BCI";
|
||||||
|
}
|
||||||
|
let prefixes = prefixes;
|
||||||
|
|
||||||
let args = m
|
let args = m
|
||||||
.params
|
.params
|
||||||
.iter()
|
.iter()
|
||||||
|
|
|
@ -59,6 +59,7 @@ mod edit_message_text_inline;
|
||||||
mod export_chat_invite_link;
|
mod export_chat_invite_link;
|
||||||
mod forward_message;
|
mod forward_message;
|
||||||
mod forward_messages;
|
mod forward_messages;
|
||||||
|
mod get_business_connection;
|
||||||
mod get_chat;
|
mod get_chat;
|
||||||
mod get_chat_administrators;
|
mod get_chat_administrators;
|
||||||
mod get_chat_member;
|
mod get_chat_member;
|
||||||
|
@ -193,6 +194,7 @@ pub use edit_message_text_inline::{EditMessageTextInline, EditMessageTextInlineS
|
||||||
pub use export_chat_invite_link::{ExportChatInviteLink, ExportChatInviteLinkSetters};
|
pub use export_chat_invite_link::{ExportChatInviteLink, ExportChatInviteLinkSetters};
|
||||||
pub use forward_message::{ForwardMessage, ForwardMessageSetters};
|
pub use forward_message::{ForwardMessage, ForwardMessageSetters};
|
||||||
pub use forward_messages::{ForwardMessages, ForwardMessagesSetters};
|
pub use forward_messages::{ForwardMessages, ForwardMessagesSetters};
|
||||||
|
pub use get_business_connection::{GetBusinessConnection, GetBusinessConnectionSetters};
|
||||||
pub use get_chat::{GetChat, GetChatSetters};
|
pub use get_chat::{GetChat, GetChatSetters};
|
||||||
pub use get_chat_administrators::{GetChatAdministrators, GetChatAdministratorsSetters};
|
pub use get_chat_administrators::{GetChatAdministrators, GetChatAdministratorsSetters};
|
||||||
pub use get_chat_member::{GetChatMember, GetChatMemberSetters};
|
pub use get_chat_member::{GetChatMember, GetChatMemberSetters};
|
||||||
|
|
16
crates/teloxide-core/src/payloads/get_business_connection.rs
Normal file
16
crates/teloxide-core/src/payloads/get_business_connection.rs
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
//! Generated by `codegen_payloads`, do not edit by hand.
|
||||||
|
|
||||||
|
use serde::Serialize;
|
||||||
|
|
||||||
|
use crate::types::BusinessConnection;
|
||||||
|
|
||||||
|
impl_payload! {
|
||||||
|
/// Use this method to get information about the connection of the bot with a business account. Returns a BusinessConnection object on success.
|
||||||
|
#[derive(Debug, PartialEq, Eq, Hash, Clone, Serialize)]
|
||||||
|
pub GetBusinessConnection (GetBusinessConnectionSetters) => BusinessConnection {
|
||||||
|
required {
|
||||||
|
/// Unique identifier of the business connection
|
||||||
|
pub business_connection_id: String [into],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -19,20 +19,21 @@ pub use crate::payloads::{
|
||||||
EditMessageReplyMarkupInlineSetters as _, EditMessageReplyMarkupSetters as _,
|
EditMessageReplyMarkupInlineSetters as _, EditMessageReplyMarkupSetters as _,
|
||||||
EditMessageTextInlineSetters as _, EditMessageTextSetters as _,
|
EditMessageTextInlineSetters as _, EditMessageTextSetters as _,
|
||||||
ExportChatInviteLinkSetters as _, ForwardMessageSetters as _, ForwardMessagesSetters as _,
|
ExportChatInviteLinkSetters as _, ForwardMessageSetters as _, ForwardMessagesSetters as _,
|
||||||
GetChatAdministratorsSetters as _, GetChatMemberCountSetters as _, GetChatMemberSetters as _,
|
GetBusinessConnectionSetters as _, GetChatAdministratorsSetters as _,
|
||||||
GetChatMembersCountSetters as _, GetChatMenuButtonSetters as _, GetChatSetters as _,
|
GetChatMemberCountSetters as _, GetChatMemberSetters as _, GetChatMembersCountSetters as _,
|
||||||
GetCustomEmojiStickersSetters as _, GetFileSetters as _, GetForumTopicIconStickersSetters as _,
|
GetChatMenuButtonSetters as _, GetChatSetters as _, GetCustomEmojiStickersSetters as _,
|
||||||
GetGameHighScoresSetters as _, GetMeSetters as _, GetMyCommandsSetters as _,
|
GetFileSetters as _, GetForumTopicIconStickersSetters as _, GetGameHighScoresSetters as _,
|
||||||
GetMyDefaultAdministratorRightsSetters as _, GetMyDescriptionSetters as _,
|
GetMeSetters as _, GetMyCommandsSetters as _, GetMyDefaultAdministratorRightsSetters as _,
|
||||||
GetMyNameSetters as _, GetMyShortDescriptionSetters as _, GetStickerSetSetters as _,
|
GetMyDescriptionSetters as _, GetMyNameSetters as _, GetMyShortDescriptionSetters as _,
|
||||||
GetUpdatesSetters as _, GetUserChatBoostsSetters as _, GetUserProfilePhotosSetters as _,
|
GetStickerSetSetters as _, GetUpdatesSetters as _, GetUserChatBoostsSetters as _,
|
||||||
GetWebhookInfoSetters as _, HideGeneralForumTopicSetters as _, KickChatMemberSetters as _,
|
GetUserProfilePhotosSetters as _, GetWebhookInfoSetters as _,
|
||||||
LeaveChatSetters as _, LogOutSetters as _, PinChatMessageSetters as _,
|
HideGeneralForumTopicSetters as _, KickChatMemberSetters as _, LeaveChatSetters as _,
|
||||||
PromoteChatMemberSetters as _, ReopenForumTopicSetters as _,
|
LogOutSetters as _, PinChatMessageSetters as _, PromoteChatMemberSetters as _,
|
||||||
ReopenGeneralForumTopicSetters as _, ReplaceStickerInSetSetters as _,
|
ReopenForumTopicSetters as _, ReopenGeneralForumTopicSetters as _,
|
||||||
RestrictChatMemberSetters as _, RevokeChatInviteLinkSetters as _, SendAnimationSetters as _,
|
ReplaceStickerInSetSetters as _, RestrictChatMemberSetters as _,
|
||||||
SendAudioSetters as _, SendChatActionSetters as _, SendContactSetters as _,
|
RevokeChatInviteLinkSetters as _, SendAnimationSetters as _, SendAudioSetters as _,
|
||||||
SendDiceSetters as _, SendDocumentSetters as _, SendGameSetters as _, SendInvoiceSetters as _,
|
SendChatActionSetters as _, SendContactSetters as _, SendDiceSetters as _,
|
||||||
|
SendDocumentSetters as _, SendGameSetters as _, SendInvoiceSetters as _,
|
||||||
SendLocationSetters as _, SendMediaGroupSetters as _, SendMessageSetters as _,
|
SendLocationSetters as _, SendMediaGroupSetters as _, SendMessageSetters as _,
|
||||||
SendPhotoSetters as _, SendPollSetters as _, SendStickerSetters as _, SendVenueSetters as _,
|
SendPhotoSetters as _, SendPollSetters as _, SendStickerSetters as _, SendVenueSetters as _,
|
||||||
SendVideoNoteSetters as _, SendVideoSetters as _, SendVoiceSetters as _,
|
SendVideoNoteSetters as _, SendVideoSetters as _, SendVoiceSetters as _,
|
||||||
|
|
|
@ -831,6 +831,13 @@ pub trait Requester {
|
||||||
where
|
where
|
||||||
C: IntoIterator<Item = BotCommand>;
|
C: IntoIterator<Item = BotCommand>;
|
||||||
|
|
||||||
|
type GetBusinessConnection: Request<Payload = GetBusinessConnection, Err = Self::Err>;
|
||||||
|
|
||||||
|
/// For Telegram documentation see [`GetBusinessConnection`].
|
||||||
|
fn get_business_connection<B>(&self, business_connection_id: B) -> Self::GetBusinessConnection
|
||||||
|
where
|
||||||
|
B: Into<String>;
|
||||||
|
|
||||||
type GetMyCommands: Request<Payload = GetMyCommands, Err = Self::Err>;
|
type GetMyCommands: Request<Payload = GetMyCommands, Err = Self::Err>;
|
||||||
|
|
||||||
/// For Telegram documentation see [`GetMyCommands`].
|
/// For Telegram documentation see [`GetMyCommands`].
|
||||||
|
@ -1386,6 +1393,7 @@ macro_rules! forward_all {
|
||||||
answer_callback_query,
|
answer_callback_query,
|
||||||
get_user_chat_boosts,
|
get_user_chat_boosts,
|
||||||
set_my_commands,
|
set_my_commands,
|
||||||
|
get_business_connection,
|
||||||
get_my_commands,
|
get_my_commands,
|
||||||
set_my_name,
|
set_my_name,
|
||||||
get_my_name,
|
get_my_name,
|
||||||
|
|
|
@ -168,10 +168,28 @@ mod tests {
|
||||||
for update in allowed_updates_reference {
|
for update in allowed_updates_reference {
|
||||||
match update {
|
match update {
|
||||||
// CAUTION: Don't forget to add new `UpdateKind` to `allowed_updates_reference`!
|
// CAUTION: Don't forget to add new `UpdateKind` to `allowed_updates_reference`!
|
||||||
Message | EditedMessage | ChannelPost | EditedChannelPost | MessageReaction
|
Message
|
||||||
| MessageReactionCount | InlineQuery | ChosenInlineResult | CallbackQuery
|
| EditedMessage
|
||||||
| ShippingQuery | PreCheckoutQuery | Poll | PollAnswer | MyChatMember
|
| ChannelPost
|
||||||
| ChatMember | ChatJoinRequest | ChatBoost | RemovedChatBoost => {
|
| EditedChannelPost
|
||||||
|
| MessageReaction
|
||||||
|
| MessageReactionCount
|
||||||
|
| InlineQuery
|
||||||
|
| ChosenInlineResult
|
||||||
|
| CallbackQuery
|
||||||
|
| ShippingQuery
|
||||||
|
| PreCheckoutQuery
|
||||||
|
| Poll
|
||||||
|
| PollAnswer
|
||||||
|
| MyChatMember
|
||||||
|
| ChatMember
|
||||||
|
| ChatJoinRequest
|
||||||
|
| ChatBoost
|
||||||
|
| RemovedChatBoost
|
||||||
|
| BusinessMessage
|
||||||
|
| BusinessConnection
|
||||||
|
| EditedBusinessMessage
|
||||||
|
| DeletedBusinessMessages => {
|
||||||
assert!(full_set.contains(&Kind(update)))
|
assert!(full_set.contains(&Kind(update)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue