1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
use crate::client::Bot;
use serde::Serialize;
/// Use this method to generate a new primary invite link for a chat; any previously generated primary link is revoked. The bot must be an administrator in the chat for this to work and must have the appropriate administrator rights. Returns the new invite link as String on success.
/// # Documentation
/// <https://core.telegram.org/bots/api#exportchatinvitelink>
/// # Returns
/// - `Box<str>`
#[derive(Clone, Debug, Serialize)]
pub struct ExportChatInviteLink {
/// Unique identifier for the target chat or username of the target channel (in the format @channelusername)
pub chat_id: crate::types::ChatIdKind,
}
impl ExportChatInviteLink {
/// Creates a new `ExportChatInviteLink`.
///
/// # Arguments
/// * `chat_id` - Unique identifier for the target chat or username of the target channel (in the format @channelusername)
#[must_use]
pub fn new<T0: Into<crate::types::ChatIdKind>>(chat_id: T0) -> Self {
Self {
chat_id: chat_id.into(),
}
}
/// Unique identifier for the target chat or username of the target channel (in the format @channelusername)
#[must_use]
pub fn chat_id<T: Into<crate::types::ChatIdKind>>(self, val: T) -> Self {
let mut this = self;
this.chat_id = val.into();
this
}
}
impl super::TelegramMethod for ExportChatInviteLink {
type Method = Self;
type Return = Box<str>;
fn build_request<Client>(self, _bot: &Bot<Client>) -> super::Request<Self::Method> {
super::Request::new("exportChatInviteLink", self, None)
}
}