pub struct Throttle<B> { /* private fields */ }
throttle
only.Expand description
Automatic request limits respecting mechanism.
Telegram has strict limits, which, if exceeded will sooner or later cause
RequestError::RetryAfter(_)
errors. These errors can cause users of your
bot to never receive responses from the bot or receive them in a wrong
order.
This bot wrapper automatically checks for limits, suspending requests until they could be sent without exceeding limits (request order in chats is not changed).
It’s recommended to use this wrapper before other wrappers (i.e.:
SomeWrapper<Throttle<Bot>>
not Throttle<SomeWrapper<Bot>>
) because if
done otherwise inner wrappers may cause Throttle
to miscalculate limits
usage.
Examples
use teloxide_core::{adaptors::throttle::Limits, requests::RequesterExt, Bot};
let bot = Bot::new("TOKEN")
.throttle(Limits::default());
/* send many requests here */
Note about send-by-@channelusername
Telegram have limits on sending messages to the same chat. To check them
we store chat_id
s of several last requests. However there is no good way
to tell if given ChatId::Id(x)
corresponds to the same chat as
ChatId::ChannelUsername(u)
.
Our current approach is to just give up and check chat_id_a == chat_id_b
.
This may give incorrect results.
As such, we encourage not to use ChatId::ChannelUsername(u)
with this bot
wrapper.
Implementations§
source§impl<B> Throttle<B>
impl<B> Throttle<B>
sourcepub fn new(bot: B, limits: Limits) -> (Throttle<B>, impl Future<Output = ()>)where
B: Requester + Clone,
<B as Requester>::Err: AsResponseParameters,
pub fn new(bot: B, limits: Limits) -> (Throttle<B>, impl Future<Output = ()>)where
B: Requester + Clone,
<B as Requester>::Err: AsResponseParameters,
sourcepub fn with_settings(
bot: B,
settings: Settings
) -> (Throttle<B>, impl Future<Output = ()>)where
B: Requester + Clone,
<B as Requester>::Err: AsResponseParameters,
pub fn with_settings(
bot: B,
settings: Settings
) -> (Throttle<B>, impl Future<Output = ()>)where
B: Requester + Clone,
<B as Requester>::Err: AsResponseParameters,
sourcepub fn new_spawn(bot: B, limits: Limits) -> Throttle<B> ⓘwhere
B: Requester + Clone + Send + Sync + 'static,
<B as Requester>::Err: AsResponseParameters,
<B as Requester>::GetChat: Send,
pub fn new_spawn(bot: B, limits: Limits) -> Throttle<B> ⓘwhere
B: Requester + Clone + Send + Sync + 'static,
<B as Requester>::Err: AsResponseParameters,
<B as Requester>::GetChat: Send,
Creates new Throttle
spawning the worker with tokio::spawn
Note: it’s recommended to use RequesterExt::throttle
instead.
sourcepub fn spawn_with_settings(bot: B, settings: Settings) -> Throttle<B> ⓘwhere
B: Requester + Clone + Send + Sync + 'static,
<B as Requester>::Err: AsResponseParameters,
<B as Requester>::GetChat: Send,
pub fn spawn_with_settings(bot: B, settings: Settings) -> Throttle<B> ⓘwhere
B: Requester + Clone + Send + Sync + 'static,
<B as Requester>::Err: AsResponseParameters,
<B as Requester>::GetChat: Send,
Creates new Throttle
spawning the worker with tokio::spawn
sourcepub fn into_inner(self) -> B
pub fn into_inner(self) -> B
Unwraps inner bot
sourcepub async fn set_limits(&self, new: Limits) -> impl Future<Output = ()>
pub async fn set_limits(&self, new: Limits) -> impl Future<Output = ()>
Sets new limits.
Note: changes may not be applied immediately.
Trait Implementations§
source§impl<'w, B> Download<'w> for Throttle<B>where
B: Download<'w>,
impl<'w, B> Download<'w> for Throttle<B>where
B: Download<'w>,
§type Err = <B as Download<'w>>::Err
type Err = <B as Download<'w>>::Err
download_file
.§type Fut = <B as Download<'w>>::Fut
type Fut = <B as Download<'w>>::Fut
download_file
.source§fn download_file(
&self,
path: &str,
destination: &'w mut (dyn AsyncWrite + Send + Unpin + 'w)
) -> <Throttle<B> as Download<'w>>::Fut ⓘ
fn download_file(
&self,
path: &str,
destination: &'w mut (dyn AsyncWrite + Send + Unpin + 'w)
) -> <Throttle<B> as Download<'w>>::Fut ⓘ
destination
. Read more§type StreamErr = <B as Download<'w>>::StreamErr
type StreamErr = <B as Download<'w>>::StreamErr
download_file_stream
.§type Stream = <B as Download<'w>>::Stream
type Stream = <B as Download<'w>>::Stream
download_file_stream
.source§impl<B> Requester for Throttle<B>where
B: Requester,
<B as Requester>::Err: AsResponseParameters,
<B as Requester>::SendMessage: Clone + Send + Sync + 'static,
<B as Requester>::ForwardMessage: Clone + Send + Sync + 'static,
<B as Requester>::CopyMessage: Clone + Send + Sync + 'static,
<B as Requester>::SendPhoto: Clone + Send + Sync + 'static,
<B as Requester>::SendAudio: Clone + Send + Sync + 'static,
<B as Requester>::SendDocument: Clone + Send + Sync + 'static,
<B as Requester>::SendVideo: Clone + Send + Sync + 'static,
<B as Requester>::SendAnimation: Clone + Send + Sync + 'static,
<B as Requester>::SendVoice: Clone + Send + Sync + 'static,
<B as Requester>::SendVideoNote: Clone + Send + Sync + 'static,
<B as Requester>::SendMediaGroup: Clone + Send + Sync + 'static,
<B as Requester>::SendLocation: Clone + Send + Sync + 'static,
<B as Requester>::SendVenue: Clone + Send + Sync + 'static,
<B as Requester>::SendContact: Clone + Send + Sync + 'static,
<B as Requester>::SendPoll: Clone + Send + Sync + 'static,
<B as Requester>::SendDice: Clone + Send + Sync + 'static,
<B as Requester>::SendSticker: Clone + Send + Sync + 'static,
<B as Requester>::SendInvoice: Clone + Send + Sync + 'static,
impl<B> Requester for Throttle<B>where
B: Requester,
<B as Requester>::Err: AsResponseParameters,
<B as Requester>::SendMessage: Clone + Send + Sync + 'static,
<B as Requester>::ForwardMessage: Clone + Send + Sync + 'static,
<B as Requester>::CopyMessage: Clone + Send + Sync + 'static,
<B as Requester>::SendPhoto: Clone + Send + Sync + 'static,
<B as Requester>::SendAudio: Clone + Send + Sync + 'static,
<B as Requester>::SendDocument: Clone + Send + Sync + 'static,
<B as Requester>::SendVideo: Clone + Send + Sync + 'static,
<B as Requester>::SendAnimation: Clone + Send + Sync + 'static,
<B as Requester>::SendVoice: Clone + Send + Sync + 'static,
<B as Requester>::SendVideoNote: Clone + Send + Sync + 'static,
<B as Requester>::SendMediaGroup: Clone + Send + Sync + 'static,
<B as Requester>::SendLocation: Clone + Send + Sync + 'static,
<B as Requester>::SendVenue: Clone + Send + Sync + 'static,
<B as Requester>::SendContact: Clone + Send + Sync + 'static,
<B as Requester>::SendPoll: Clone + Send + Sync + 'static,
<B as Requester>::SendDice: Clone + Send + Sync + 'static,
<B as Requester>::SendSticker: Clone + Send + Sync + 'static,
<B as Requester>::SendInvoice: Clone + Send + Sync + 'static,
type SendMessage = ThrottlingRequest<<B as Requester>::SendMessage>
source§fn send_message<C, T>(
&self,
chat_id: C,
text: T
) -> <Throttle<B> as Requester>::SendMessage ⓘwhere
C: Into<Recipient>,
T: Into<String>,
fn send_message<C, T>(
&self,
chat_id: C,
text: T
) -> <Throttle<B> as Requester>::SendMessage ⓘwhere
C: Into<Recipient>,
T: Into<String>,
SendMessage
.type ForwardMessage = ThrottlingRequest<<B as Requester>::ForwardMessage>
source§fn forward_message<C, F>(
&self,
chat_id: C,
from_chat_id: F,
message_id: MessageId
) -> <Throttle<B> as Requester>::ForwardMessage ⓘwhere
C: Into<Recipient>,
F: Into<Recipient>,
fn forward_message<C, F>(
&self,
chat_id: C,
from_chat_id: F,
message_id: MessageId
) -> <Throttle<B> as Requester>::ForwardMessage ⓘwhere
C: Into<Recipient>,
F: Into<Recipient>,
ForwardMessage
.type CopyMessage = ThrottlingRequest<<B as Requester>::CopyMessage>
source§fn copy_message<C, F>(
&self,
chat_id: C,
from_chat_id: F,
message_id: MessageId
) -> <Throttle<B> as Requester>::CopyMessage ⓘwhere
C: Into<Recipient>,
F: Into<Recipient>,
fn copy_message<C, F>(
&self,
chat_id: C,
from_chat_id: F,
message_id: MessageId
) -> <Throttle<B> as Requester>::CopyMessage ⓘwhere
C: Into<Recipient>,
F: Into<Recipient>,
CopyMessage
.type SendPhoto = ThrottlingRequest<<B as Requester>::SendPhoto>
source§fn send_photo<C>(
&self,
chat_id: C,
photo: InputFile
) -> <Throttle<B> as Requester>::SendPhoto ⓘwhere
C: Into<Recipient>,
fn send_photo<C>(
&self,
chat_id: C,
photo: InputFile
) -> <Throttle<B> as Requester>::SendPhoto ⓘwhere
C: Into<Recipient>,
SendPhoto
.type SendAudio = ThrottlingRequest<<B as Requester>::SendAudio>
source§fn send_audio<C>(
&self,
chat_id: C,
audio: InputFile
) -> <Throttle<B> as Requester>::SendAudio ⓘwhere
C: Into<Recipient>,
fn send_audio<C>(
&self,
chat_id: C,
audio: InputFile
) -> <Throttle<B> as Requester>::SendAudio ⓘwhere
C: Into<Recipient>,
SendAudio
.type SendDocument = ThrottlingRequest<<B as Requester>::SendDocument>
source§fn send_document<C>(
&self,
chat_id: C,
document: InputFile
) -> <Throttle<B> as Requester>::SendDocument ⓘwhere
C: Into<Recipient>,
fn send_document<C>(
&self,
chat_id: C,
document: InputFile
) -> <Throttle<B> as Requester>::SendDocument ⓘwhere
C: Into<Recipient>,
SendDocument
.type SendVideo = ThrottlingRequest<<B as Requester>::SendVideo>
source§fn send_video<C>(
&self,
chat_id: C,
video: InputFile
) -> <Throttle<B> as Requester>::SendVideo ⓘwhere
C: Into<Recipient>,
fn send_video<C>(
&self,
chat_id: C,
video: InputFile
) -> <Throttle<B> as Requester>::SendVideo ⓘwhere
C: Into<Recipient>,
SendVideo
.type SendAnimation = ThrottlingRequest<<B as Requester>::SendAnimation>
source§fn send_animation<C>(
&self,
chat_id: C,
animation: InputFile
) -> <Throttle<B> as Requester>::SendAnimation ⓘwhere
C: Into<Recipient>,
fn send_animation<C>(
&self,
chat_id: C,
animation: InputFile
) -> <Throttle<B> as Requester>::SendAnimation ⓘwhere
C: Into<Recipient>,
SendAnimation
.type SendVoice = ThrottlingRequest<<B as Requester>::SendVoice>
source§fn send_voice<C>(
&self,
chat_id: C,
voice: InputFile
) -> <Throttle<B> as Requester>::SendVoice ⓘwhere
C: Into<Recipient>,
fn send_voice<C>(
&self,
chat_id: C,
voice: InputFile
) -> <Throttle<B> as Requester>::SendVoice ⓘwhere
C: Into<Recipient>,
SendVoice
.type SendVideoNote = ThrottlingRequest<<B as Requester>::SendVideoNote>
source§fn send_video_note<C>(
&self,
chat_id: C,
video_note: InputFile
) -> <Throttle<B> as Requester>::SendVideoNote ⓘwhere
C: Into<Recipient>,
fn send_video_note<C>(
&self,
chat_id: C,
video_note: InputFile
) -> <Throttle<B> as Requester>::SendVideoNote ⓘwhere
C: Into<Recipient>,
SendVideoNote
.type SendMediaGroup = ThrottlingRequest<<B as Requester>::SendMediaGroup>
source§fn send_media_group<C, M>(
&self,
chat_id: C,
media: M
) -> <Throttle<B> as Requester>::SendMediaGroup ⓘwhere
C: Into<Recipient>,
M: IntoIterator<Item = InputMedia>,
fn send_media_group<C, M>(
&self,
chat_id: C,
media: M
) -> <Throttle<B> as Requester>::SendMediaGroup ⓘwhere
C: Into<Recipient>,
M: IntoIterator<Item = InputMedia>,
SendMediaGroup
.type SendLocation = ThrottlingRequest<<B as Requester>::SendLocation>
source§fn send_location<C>(
&self,
chat_id: C,
latitude: f64,
longitude: f64
) -> <Throttle<B> as Requester>::SendLocation ⓘwhere
C: Into<Recipient>,
fn send_location<C>(
&self,
chat_id: C,
latitude: f64,
longitude: f64
) -> <Throttle<B> as Requester>::SendLocation ⓘwhere
C: Into<Recipient>,
SendLocation
.type SendVenue = ThrottlingRequest<<B as Requester>::SendVenue>
source§fn send_venue<C, T, A>(
&self,
chat_id: C,
latitude: f64,
longitude: f64,
title: T,
address: A
) -> <Throttle<B> as Requester>::SendVenue ⓘwhere
C: Into<Recipient>,
T: Into<String>,
A: Into<String>,
fn send_venue<C, T, A>(
&self,
chat_id: C,
latitude: f64,
longitude: f64,
title: T,
address: A
) -> <Throttle<B> as Requester>::SendVenue ⓘwhere
C: Into<Recipient>,
T: Into<String>,
A: Into<String>,
SendVenue
.type SendContact = ThrottlingRequest<<B as Requester>::SendContact>
source§fn send_contact<C, P, F>(
&self,
chat_id: C,
phone_number: P,
first_name: F
) -> <Throttle<B> as Requester>::SendContact ⓘwhere
C: Into<Recipient>,
P: Into<String>,
F: Into<String>,
fn send_contact<C, P, F>(
&self,
chat_id: C,
phone_number: P,
first_name: F
) -> <Throttle<B> as Requester>::SendContact ⓘwhere
C: Into<Recipient>,
P: Into<String>,
F: Into<String>,
SendContact
.type SendPoll = ThrottlingRequest<<B as Requester>::SendPoll>
source§fn send_poll<C, Q, O>(
&self,
chat_id: C,
question: Q,
options: O
) -> <Throttle<B> as Requester>::SendPoll ⓘwhere
C: Into<Recipient>,
Q: Into<String>,
O: IntoIterator<Item = String>,
fn send_poll<C, Q, O>(
&self,
chat_id: C,
question: Q,
options: O
) -> <Throttle<B> as Requester>::SendPoll ⓘwhere
C: Into<Recipient>,
Q: Into<String>,
O: IntoIterator<Item = String>,
SendPoll
.type SendDice = ThrottlingRequest<<B as Requester>::SendDice>
source§fn send_dice<C>(&self, chat_id: C) -> <Throttle<B> as Requester>::SendDice ⓘwhere
C: Into<Recipient>,
fn send_dice<C>(&self, chat_id: C) -> <Throttle<B> as Requester>::SendDice ⓘwhere
C: Into<Recipient>,
SendDice
.type SendSticker = ThrottlingRequest<<B as Requester>::SendSticker>
source§fn send_sticker<C>(
&self,
chat_id: C,
sticker: InputFile
) -> <Throttle<B> as Requester>::SendSticker ⓘwhere
C: Into<Recipient>,
fn send_sticker<C>(
&self,
chat_id: C,
sticker: InputFile
) -> <Throttle<B> as Requester>::SendSticker ⓘwhere
C: Into<Recipient>,
SendSticker
.type SendInvoice = ThrottlingRequest<<B as Requester>::SendInvoice>
source§fn send_invoice<Ch, T, D, Pa, P, C, Pri>(
&self,
chat_id: Ch,
title: T,
description: D,
payload: Pa,
provider_token: P,
currency: C,
prices: Pri
) -> <Throttle<B> as Requester>::SendInvoice ⓘwhere
Ch: Into<Recipient>,
T: Into<String>,
D: Into<String>,
Pa: Into<String>,
P: Into<String>,
C: Into<String>,
Pri: IntoIterator<Item = LabeledPrice>,
fn send_invoice<Ch, T, D, Pa, P, C, Pri>(
&self,
chat_id: Ch,
title: T,
description: D,
payload: Pa,
provider_token: P,
currency: C,
prices: Pri
) -> <Throttle<B> as Requester>::SendInvoice ⓘwhere
Ch: Into<Recipient>,
T: Into<String>,
D: Into<String>,
Pa: Into<String>,
P: Into<String>,
C: Into<String>,
Pri: IntoIterator<Item = LabeledPrice>,
SendInvoice
.type GetMe = <B as Requester>::GetMe
type LogOut = <B as Requester>::LogOut
source§fn log_out(&self) -> <Throttle<B> as Requester>::LogOut ⓘ
fn log_out(&self) -> <Throttle<B> as Requester>::LogOut ⓘ
LogOut
.type Close = <B as Requester>::Close
type GetUpdates = <B as Requester>::GetUpdates
source§fn get_updates(&self) -> <Throttle<B> as Requester>::GetUpdates ⓘ
fn get_updates(&self) -> <Throttle<B> as Requester>::GetUpdates ⓘ
GetUpdates
.type SetWebhook = <B as Requester>::SetWebhook
source§fn set_webhook(&self, url: Url) -> <Throttle<B> as Requester>::SetWebhook ⓘ
fn set_webhook(&self, url: Url) -> <Throttle<B> as Requester>::SetWebhook ⓘ
SetWebhook
.type DeleteWebhook = <B as Requester>::DeleteWebhook
source§fn delete_webhook(&self) -> <Throttle<B> as Requester>::DeleteWebhook ⓘ
fn delete_webhook(&self) -> <Throttle<B> as Requester>::DeleteWebhook ⓘ
DeleteWebhook
.type GetWebhookInfo = <B as Requester>::GetWebhookInfo
source§fn get_webhook_info(&self) -> <Throttle<B> as Requester>::GetWebhookInfo ⓘ
fn get_webhook_info(&self) -> <Throttle<B> as Requester>::GetWebhookInfo ⓘ
GetWebhookInfo
.type EditMessageLiveLocation = <B as Requester>::EditMessageLiveLocation
source§fn edit_message_live_location<C>(
&self,
chat_id: C,
message_id: MessageId,
latitude: f64,
longitude: f64
) -> <Throttle<B> as Requester>::EditMessageLiveLocation ⓘwhere
C: Into<Recipient>,
fn edit_message_live_location<C>(
&self,
chat_id: C,
message_id: MessageId,
latitude: f64,
longitude: f64
) -> <Throttle<B> as Requester>::EditMessageLiveLocation ⓘwhere
C: Into<Recipient>,
EditMessageLiveLocation
.type EditMessageLiveLocationInline = <B as Requester>::EditMessageLiveLocationInline
source§fn edit_message_live_location_inline<I>(
&self,
inline_message_id: I,
latitude: f64,
longitude: f64
) -> <Throttle<B> as Requester>::EditMessageLiveLocationInline ⓘwhere
I: Into<String>,
fn edit_message_live_location_inline<I>(
&self,
inline_message_id: I,
latitude: f64,
longitude: f64
) -> <Throttle<B> as Requester>::EditMessageLiveLocationInline ⓘwhere
I: Into<String>,
EditMessageLiveLocationInline
.type StopMessageLiveLocation = <B as Requester>::StopMessageLiveLocation
source§fn stop_message_live_location<C>(
&self,
chat_id: C,
message_id: MessageId,
latitude: f64,
longitude: f64
) -> <Throttle<B> as Requester>::StopMessageLiveLocation ⓘwhere
C: Into<Recipient>,
fn stop_message_live_location<C>(
&self,
chat_id: C,
message_id: MessageId,
latitude: f64,
longitude: f64
) -> <Throttle<B> as Requester>::StopMessageLiveLocation ⓘwhere
C: Into<Recipient>,
StopMessageLiveLocation
.type StopMessageLiveLocationInline = <B as Requester>::StopMessageLiveLocationInline
source§fn stop_message_live_location_inline<I>(
&self,
inline_message_id: I,
latitude: f64,
longitude: f64
) -> <Throttle<B> as Requester>::StopMessageLiveLocationInline ⓘwhere
I: Into<String>,
fn stop_message_live_location_inline<I>(
&self,
inline_message_id: I,
latitude: f64,
longitude: f64
) -> <Throttle<B> as Requester>::StopMessageLiveLocationInline ⓘwhere
I: Into<String>,
StopMessageLiveLocationInline
.type SendChatAction = <B as Requester>::SendChatAction
source§fn send_chat_action<C>(
&self,
chat_id: C,
action: ChatAction
) -> <Throttle<B> as Requester>::SendChatAction ⓘwhere
C: Into<Recipient>,
fn send_chat_action<C>(
&self,
chat_id: C,
action: ChatAction
) -> <Throttle<B> as Requester>::SendChatAction ⓘwhere
C: Into<Recipient>,
SendChatAction
.type GetUserProfilePhotos = <B as Requester>::GetUserProfilePhotos
source§fn get_user_profile_photos(
&self,
user_id: UserId
) -> <Throttle<B> as Requester>::GetUserProfilePhotos ⓘ
fn get_user_profile_photos(
&self,
user_id: UserId
) -> <Throttle<B> as Requester>::GetUserProfilePhotos ⓘ
GetUserProfilePhotos
.type GetFile = <B as Requester>::GetFile
source§fn get_file<F>(&self, file_id: F) -> <Throttle<B> as Requester>::GetFile ⓘwhere
F: Into<String>,
fn get_file<F>(&self, file_id: F) -> <Throttle<B> as Requester>::GetFile ⓘwhere
F: Into<String>,
GetFile
.type KickChatMember = <B as Requester>::KickChatMember
source§fn kick_chat_member<C>(
&self,
chat_id: C,
user_id: UserId
) -> <Throttle<B> as Requester>::KickChatMember ⓘwhere
C: Into<Recipient>,
fn kick_chat_member<C>(
&self,
chat_id: C,
user_id: UserId
) -> <Throttle<B> as Requester>::KickChatMember ⓘwhere
C: Into<Recipient>,
KickChatMember
.type BanChatMember = <B as Requester>::BanChatMember
source§fn ban_chat_member<C>(
&self,
chat_id: C,
user_id: UserId
) -> <Throttle<B> as Requester>::BanChatMember ⓘwhere
C: Into<Recipient>,
fn ban_chat_member<C>(
&self,
chat_id: C,
user_id: UserId
) -> <Throttle<B> as Requester>::BanChatMember ⓘwhere
C: Into<Recipient>,
BanChatMember
.type UnbanChatMember = <B as Requester>::UnbanChatMember
source§fn unban_chat_member<C>(
&self,
chat_id: C,
user_id: UserId
) -> <Throttle<B> as Requester>::UnbanChatMember ⓘwhere
C: Into<Recipient>,
fn unban_chat_member<C>(
&self,
chat_id: C,
user_id: UserId
) -> <Throttle<B> as Requester>::UnbanChatMember ⓘwhere
C: Into<Recipient>,
UnbanChatMember
.type RestrictChatMember = <B as Requester>::RestrictChatMember
source§fn restrict_chat_member<C>(
&self,
chat_id: C,
user_id: UserId,
permissions: ChatPermissions
) -> <Throttle<B> as Requester>::RestrictChatMember ⓘwhere
C: Into<Recipient>,
fn restrict_chat_member<C>(
&self,
chat_id: C,
user_id: UserId,
permissions: ChatPermissions
) -> <Throttle<B> as Requester>::RestrictChatMember ⓘwhere
C: Into<Recipient>,
RestrictChatMember
.type PromoteChatMember = <B as Requester>::PromoteChatMember
source§fn promote_chat_member<C>(
&self,
chat_id: C,
user_id: UserId
) -> <Throttle<B> as Requester>::PromoteChatMember ⓘwhere
C: Into<Recipient>,
fn promote_chat_member<C>(
&self,
chat_id: C,
user_id: UserId
) -> <Throttle<B> as Requester>::PromoteChatMember ⓘwhere
C: Into<Recipient>,
PromoteChatMember
.type SetChatAdministratorCustomTitle = <B as Requester>::SetChatAdministratorCustomTitle
source§fn set_chat_administrator_custom_title<Ch, C>(
&self,
chat_id: Ch,
user_id: UserId,
custom_title: C
) -> <Throttle<B> as Requester>::SetChatAdministratorCustomTitle ⓘwhere
Ch: Into<Recipient>,
C: Into<String>,
fn set_chat_administrator_custom_title<Ch, C>(
&self,
chat_id: Ch,
user_id: UserId,
custom_title: C
) -> <Throttle<B> as Requester>::SetChatAdministratorCustomTitle ⓘwhere
Ch: Into<Recipient>,
C: Into<String>,
SetChatAdministratorCustomTitle
.type BanChatSenderChat = <B as Requester>::BanChatSenderChat
source§fn ban_chat_sender_chat<C, S>(
&self,
chat_id: C,
sender_chat_id: S
) -> <Throttle<B> as Requester>::BanChatSenderChat ⓘwhere
C: Into<Recipient>,
S: Into<ChatId>,
fn ban_chat_sender_chat<C, S>(
&self,
chat_id: C,
sender_chat_id: S
) -> <Throttle<B> as Requester>::BanChatSenderChat ⓘwhere
C: Into<Recipient>,
S: Into<ChatId>,
BanChatSenderChat
.type UnbanChatSenderChat = <B as Requester>::UnbanChatSenderChat
source§fn unban_chat_sender_chat<C, S>(
&self,
chat_id: C,
sender_chat_id: S
) -> <Throttle<B> as Requester>::UnbanChatSenderChat ⓘwhere
C: Into<Recipient>,
S: Into<ChatId>,
fn unban_chat_sender_chat<C, S>(
&self,
chat_id: C,
sender_chat_id: S
) -> <Throttle<B> as Requester>::UnbanChatSenderChat ⓘwhere
C: Into<Recipient>,
S: Into<ChatId>,
UnbanChatSenderChat
.type SetChatPermissions = <B as Requester>::SetChatPermissions
source§fn set_chat_permissions<C>(
&self,
chat_id: C,
permissions: ChatPermissions
) -> <Throttle<B> as Requester>::SetChatPermissions ⓘwhere
C: Into<Recipient>,
fn set_chat_permissions<C>(
&self,
chat_id: C,
permissions: ChatPermissions
) -> <Throttle<B> as Requester>::SetChatPermissions ⓘwhere
C: Into<Recipient>,
SetChatPermissions
.type ExportChatInviteLink = <B as Requester>::ExportChatInviteLink
source§fn export_chat_invite_link<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::ExportChatInviteLink ⓘwhere
C: Into<Recipient>,
fn export_chat_invite_link<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::ExportChatInviteLink ⓘwhere
C: Into<Recipient>,
ExportChatInviteLink
.type CreateChatInviteLink = <B as Requester>::CreateChatInviteLink
source§fn create_chat_invite_link<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::CreateChatInviteLink ⓘwhere
C: Into<Recipient>,
fn create_chat_invite_link<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::CreateChatInviteLink ⓘwhere
C: Into<Recipient>,
CreateChatInviteLink
.type EditChatInviteLink = <B as Requester>::EditChatInviteLink
source§fn edit_chat_invite_link<C, I>(
&self,
chat_id: C,
invite_link: I
) -> <Throttle<B> as Requester>::EditChatInviteLink ⓘwhere
C: Into<Recipient>,
I: Into<String>,
fn edit_chat_invite_link<C, I>(
&self,
chat_id: C,
invite_link: I
) -> <Throttle<B> as Requester>::EditChatInviteLink ⓘwhere
C: Into<Recipient>,
I: Into<String>,
EditChatInviteLink
.type RevokeChatInviteLink = <B as Requester>::RevokeChatInviteLink
source§fn revoke_chat_invite_link<C, I>(
&self,
chat_id: C,
invite_link: I
) -> <Throttle<B> as Requester>::RevokeChatInviteLink ⓘwhere
C: Into<Recipient>,
I: Into<String>,
fn revoke_chat_invite_link<C, I>(
&self,
chat_id: C,
invite_link: I
) -> <Throttle<B> as Requester>::RevokeChatInviteLink ⓘwhere
C: Into<Recipient>,
I: Into<String>,
RevokeChatInviteLink
.type SetChatPhoto = <B as Requester>::SetChatPhoto
source§fn set_chat_photo<C>(
&self,
chat_id: C,
photo: InputFile
) -> <Throttle<B> as Requester>::SetChatPhoto ⓘwhere
C: Into<Recipient>,
fn set_chat_photo<C>(
&self,
chat_id: C,
photo: InputFile
) -> <Throttle<B> as Requester>::SetChatPhoto ⓘwhere
C: Into<Recipient>,
SetChatPhoto
.type DeleteChatPhoto = <B as Requester>::DeleteChatPhoto
source§fn delete_chat_photo<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::DeleteChatPhoto ⓘwhere
C: Into<Recipient>,
fn delete_chat_photo<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::DeleteChatPhoto ⓘwhere
C: Into<Recipient>,
DeleteChatPhoto
.type SetChatTitle = <B as Requester>::SetChatTitle
source§fn set_chat_title<C, T>(
&self,
chat_id: C,
title: T
) -> <Throttle<B> as Requester>::SetChatTitle ⓘwhere
C: Into<Recipient>,
T: Into<String>,
fn set_chat_title<C, T>(
&self,
chat_id: C,
title: T
) -> <Throttle<B> as Requester>::SetChatTitle ⓘwhere
C: Into<Recipient>,
T: Into<String>,
SetChatTitle
.type SetChatDescription = <B as Requester>::SetChatDescription
source§fn set_chat_description<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::SetChatDescription ⓘwhere
C: Into<Recipient>,
fn set_chat_description<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::SetChatDescription ⓘwhere
C: Into<Recipient>,
SetChatDescription
.type PinChatMessage = <B as Requester>::PinChatMessage
source§fn pin_chat_message<C>(
&self,
chat_id: C,
message_id: MessageId
) -> <Throttle<B> as Requester>::PinChatMessage ⓘwhere
C: Into<Recipient>,
fn pin_chat_message<C>(
&self,
chat_id: C,
message_id: MessageId
) -> <Throttle<B> as Requester>::PinChatMessage ⓘwhere
C: Into<Recipient>,
PinChatMessage
.type UnpinChatMessage = <B as Requester>::UnpinChatMessage
source§fn unpin_chat_message<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::UnpinChatMessage ⓘwhere
C: Into<Recipient>,
fn unpin_chat_message<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::UnpinChatMessage ⓘwhere
C: Into<Recipient>,
UnpinChatMessage
.type UnpinAllChatMessages = <B as Requester>::UnpinAllChatMessages
source§fn unpin_all_chat_messages<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::UnpinAllChatMessages ⓘwhere
C: Into<Recipient>,
fn unpin_all_chat_messages<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::UnpinAllChatMessages ⓘwhere
C: Into<Recipient>,
UnpinAllChatMessages
.type LeaveChat = <B as Requester>::LeaveChat
source§fn leave_chat<C>(&self, chat_id: C) -> <Throttle<B> as Requester>::LeaveChat ⓘwhere
C: Into<Recipient>,
fn leave_chat<C>(&self, chat_id: C) -> <Throttle<B> as Requester>::LeaveChat ⓘwhere
C: Into<Recipient>,
LeaveChat
.type GetChat = <B as Requester>::GetChat
source§fn get_chat<C>(&self, chat_id: C) -> <Throttle<B> as Requester>::GetChat ⓘwhere
C: Into<Recipient>,
fn get_chat<C>(&self, chat_id: C) -> <Throttle<B> as Requester>::GetChat ⓘwhere
C: Into<Recipient>,
GetChat
.type GetChatAdministrators = <B as Requester>::GetChatAdministrators
source§fn get_chat_administrators<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::GetChatAdministrators ⓘwhere
C: Into<Recipient>,
fn get_chat_administrators<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::GetChatAdministrators ⓘwhere
C: Into<Recipient>,
GetChatAdministrators
.type GetChatMembersCount = <B as Requester>::GetChatMembersCount
source§fn get_chat_members_count<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::GetChatMembersCount ⓘwhere
C: Into<Recipient>,
fn get_chat_members_count<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::GetChatMembersCount ⓘwhere
C: Into<Recipient>,
GetChatMembersCount
.type GetChatMemberCount = <B as Requester>::GetChatMemberCount
source§fn get_chat_member_count<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::GetChatMemberCount ⓘwhere
C: Into<Recipient>,
fn get_chat_member_count<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::GetChatMemberCount ⓘwhere
C: Into<Recipient>,
GetChatMemberCount
.type GetChatMember = <B as Requester>::GetChatMember
source§fn get_chat_member<C>(
&self,
chat_id: C,
user_id: UserId
) -> <Throttle<B> as Requester>::GetChatMember ⓘwhere
C: Into<Recipient>,
fn get_chat_member<C>(
&self,
chat_id: C,
user_id: UserId
) -> <Throttle<B> as Requester>::GetChatMember ⓘwhere
C: Into<Recipient>,
GetChatMember
.type SetChatStickerSet = <B as Requester>::SetChatStickerSet
source§fn set_chat_sticker_set<C, S>(
&self,
chat_id: C,
sticker_set_name: S
) -> <Throttle<B> as Requester>::SetChatStickerSet ⓘwhere
C: Into<Recipient>,
S: Into<String>,
fn set_chat_sticker_set<C, S>(
&self,
chat_id: C,
sticker_set_name: S
) -> <Throttle<B> as Requester>::SetChatStickerSet ⓘwhere
C: Into<Recipient>,
S: Into<String>,
SetChatStickerSet
.type DeleteChatStickerSet = <B as Requester>::DeleteChatStickerSet
source§fn delete_chat_sticker_set<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::DeleteChatStickerSet ⓘwhere
C: Into<Recipient>,
fn delete_chat_sticker_set<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::DeleteChatStickerSet ⓘwhere
C: Into<Recipient>,
DeleteChatStickerSet
.type GetForumTopicIconStickers = <B as Requester>::GetForumTopicIconStickers
source§fn get_forum_topic_icon_stickers(
&self
) -> <Throttle<B> as Requester>::GetForumTopicIconStickers ⓘ
fn get_forum_topic_icon_stickers(
&self
) -> <Throttle<B> as Requester>::GetForumTopicIconStickers ⓘ
GetForumTopicIconStickers
.type CreateForumTopic = <B as Requester>::CreateForumTopic
source§fn create_forum_topic<C, N, I>(
&self,
chat_id: C,
name: N,
icon_color: u32,
icon_custom_emoji_id: I
) -> <Throttle<B> as Requester>::CreateForumTopic ⓘwhere
C: Into<Recipient>,
N: Into<String>,
I: Into<String>,
fn create_forum_topic<C, N, I>(
&self,
chat_id: C,
name: N,
icon_color: u32,
icon_custom_emoji_id: I
) -> <Throttle<B> as Requester>::CreateForumTopic ⓘwhere
C: Into<Recipient>,
N: Into<String>,
I: Into<String>,
CreateForumTopic
.type EditForumTopic = <B as Requester>::EditForumTopic
source§fn edit_forum_topic<C>(
&self,
chat_id: C,
message_thread_id: i32
) -> <Throttle<B> as Requester>::EditForumTopic ⓘwhere
C: Into<Recipient>,
fn edit_forum_topic<C>(
&self,
chat_id: C,
message_thread_id: i32
) -> <Throttle<B> as Requester>::EditForumTopic ⓘwhere
C: Into<Recipient>,
EditForumTopic
.type CloseForumTopic = <B as Requester>::CloseForumTopic
source§fn close_forum_topic<C>(
&self,
chat_id: C,
message_thread_id: i32
) -> <Throttle<B> as Requester>::CloseForumTopic ⓘwhere
C: Into<Recipient>,
fn close_forum_topic<C>(
&self,
chat_id: C,
message_thread_id: i32
) -> <Throttle<B> as Requester>::CloseForumTopic ⓘwhere
C: Into<Recipient>,
CloseForumTopic
.type ReopenForumTopic = <B as Requester>::ReopenForumTopic
source§fn reopen_forum_topic<C>(
&self,
chat_id: C,
message_thread_id: i32
) -> <Throttle<B> as Requester>::ReopenForumTopic ⓘwhere
C: Into<Recipient>,
fn reopen_forum_topic<C>(
&self,
chat_id: C,
message_thread_id: i32
) -> <Throttle<B> as Requester>::ReopenForumTopic ⓘwhere
C: Into<Recipient>,
ReopenForumTopic
.type DeleteForumTopic = <B as Requester>::DeleteForumTopic
source§fn delete_forum_topic<C>(
&self,
chat_id: C,
message_thread_id: i32
) -> <Throttle<B> as Requester>::DeleteForumTopic ⓘwhere
C: Into<Recipient>,
fn delete_forum_topic<C>(
&self,
chat_id: C,
message_thread_id: i32
) -> <Throttle<B> as Requester>::DeleteForumTopic ⓘwhere
C: Into<Recipient>,
DeleteForumTopic
.type UnpinAllForumTopicMessages = <B as Requester>::UnpinAllForumTopicMessages
source§fn unpin_all_forum_topic_messages<C>(
&self,
chat_id: C,
message_thread_id: i32
) -> <Throttle<B> as Requester>::UnpinAllForumTopicMessages ⓘwhere
C: Into<Recipient>,
fn unpin_all_forum_topic_messages<C>(
&self,
chat_id: C,
message_thread_id: i32
) -> <Throttle<B> as Requester>::UnpinAllForumTopicMessages ⓘwhere
C: Into<Recipient>,
UnpinAllForumTopicMessages
.type EditGeneralForumTopic = <B as Requester>::EditGeneralForumTopic
source§fn edit_general_forum_topic<C, N>(
&self,
chat_id: C,
name: N
) -> <Throttle<B> as Requester>::EditGeneralForumTopic ⓘwhere
C: Into<Recipient>,
N: Into<String>,
fn edit_general_forum_topic<C, N>(
&self,
chat_id: C,
name: N
) -> <Throttle<B> as Requester>::EditGeneralForumTopic ⓘwhere
C: Into<Recipient>,
N: Into<String>,
EditGeneralForumTopic
.type CloseGeneralForumTopic = <B as Requester>::CloseGeneralForumTopic
source§fn close_general_forum_topic<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::CloseGeneralForumTopic ⓘwhere
C: Into<Recipient>,
fn close_general_forum_topic<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::CloseGeneralForumTopic ⓘwhere
C: Into<Recipient>,
CloseGeneralForumTopic
.type ReopenGeneralForumTopic = <B as Requester>::ReopenGeneralForumTopic
source§fn reopen_general_forum_topic<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::ReopenGeneralForumTopic ⓘwhere
C: Into<Recipient>,
fn reopen_general_forum_topic<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::ReopenGeneralForumTopic ⓘwhere
C: Into<Recipient>,
ReopenGeneralForumTopic
.type HideGeneralForumTopic = <B as Requester>::HideGeneralForumTopic
source§fn hide_general_forum_topic<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::HideGeneralForumTopic ⓘwhere
C: Into<Recipient>,
fn hide_general_forum_topic<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::HideGeneralForumTopic ⓘwhere
C: Into<Recipient>,
HideGeneralForumTopic
.type UnhideGeneralForumTopic = <B as Requester>::UnhideGeneralForumTopic
source§fn unhide_general_forum_topic<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::UnhideGeneralForumTopic ⓘwhere
C: Into<Recipient>,
fn unhide_general_forum_topic<C>(
&self,
chat_id: C
) -> <Throttle<B> as Requester>::UnhideGeneralForumTopic ⓘwhere
C: Into<Recipient>,
UnhideGeneralForumTopic
.type AnswerCallbackQuery = <B as Requester>::AnswerCallbackQuery
source§fn answer_callback_query<C>(
&self,
callback_query_id: C
) -> <Throttle<B> as Requester>::AnswerCallbackQuery ⓘwhere
C: Into<String>,
fn answer_callback_query<C>(
&self,
callback_query_id: C
) -> <Throttle<B> as Requester>::AnswerCallbackQuery ⓘwhere
C: Into<String>,
AnswerCallbackQuery
.type SetMyCommands = <B as Requester>::SetMyCommands
source§fn set_my_commands<C>(
&self,
commands: C
) -> <Throttle<B> as Requester>::SetMyCommands ⓘwhere
C: IntoIterator<Item = BotCommand>,
fn set_my_commands<C>(
&self,
commands: C
) -> <Throttle<B> as Requester>::SetMyCommands ⓘwhere
C: IntoIterator<Item = BotCommand>,
SetMyCommands
.type GetMyCommands = <B as Requester>::GetMyCommands
source§fn get_my_commands(&self) -> <Throttle<B> as Requester>::GetMyCommands ⓘ
fn get_my_commands(&self) -> <Throttle<B> as Requester>::GetMyCommands ⓘ
GetMyCommands
.type SetChatMenuButton = <B as Requester>::SetChatMenuButton
SetChatMenuButton
.type GetChatMenuButton = <B as Requester>::GetChatMenuButton
GetChatMenuButton
.type SetMyDefaultAdministratorRights = <B as Requester>::SetMyDefaultAdministratorRights
source§fn set_my_default_administrator_rights(
&self
) -> <Throttle<B> as Requester>::SetMyDefaultAdministratorRights ⓘ
fn set_my_default_administrator_rights(
&self
) -> <Throttle<B> as Requester>::SetMyDefaultAdministratorRights ⓘ
SetMyDefaultAdministratorRights
.type GetMyDefaultAdministratorRights = <B as Requester>::GetMyDefaultAdministratorRights
source§fn get_my_default_administrator_rights(
&self
) -> <Throttle<B> as Requester>::GetMyDefaultAdministratorRights ⓘ
fn get_my_default_administrator_rights(
&self
) -> <Throttle<B> as Requester>::GetMyDefaultAdministratorRights ⓘ
GetMyDefaultAdministratorRights
.type DeleteMyCommands = <B as Requester>::DeleteMyCommands
source§fn delete_my_commands(&self) -> <Throttle<B> as Requester>::DeleteMyCommands ⓘ
fn delete_my_commands(&self) -> <Throttle<B> as Requester>::DeleteMyCommands ⓘ
DeleteMyCommands
.type AnswerInlineQuery = <B as Requester>::AnswerInlineQuery
source§fn answer_inline_query<I, R>(
&self,
inline_query_id: I,
results: R
) -> <Throttle<B> as Requester>::AnswerInlineQuery ⓘwhere
I: Into<String>,
R: IntoIterator<Item = InlineQueryResult>,
fn answer_inline_query<I, R>(
&self,
inline_query_id: I,
results: R
) -> <Throttle<B> as Requester>::AnswerInlineQuery ⓘwhere
I: Into<String>,
R: IntoIterator<Item = InlineQueryResult>,
AnswerInlineQuery
.type AnswerWebAppQuery = <B as Requester>::AnswerWebAppQuery
source§fn answer_web_app_query<W>(
&self,
web_app_query_id: W,
result: InlineQueryResult
) -> <Throttle<B> as Requester>::AnswerWebAppQuery ⓘwhere
W: Into<String>,
fn answer_web_app_query<W>(
&self,
web_app_query_id: W,
result: InlineQueryResult
) -> <Throttle<B> as Requester>::AnswerWebAppQuery ⓘwhere
W: Into<String>,
AnswerWebAppQuery
.type EditMessageText = <B as Requester>::EditMessageText
source§fn edit_message_text<C, T>(
&self,
chat_id: C,
message_id: MessageId,
text: T
) -> <Throttle<B> as Requester>::EditMessageText ⓘwhere
C: Into<Recipient>,
T: Into<String>,
fn edit_message_text<C, T>(
&self,
chat_id: C,
message_id: MessageId,
text: T
) -> <Throttle<B> as Requester>::EditMessageText ⓘwhere
C: Into<Recipient>,
T: Into<String>,
EditMessageText
.type EditMessageTextInline = <B as Requester>::EditMessageTextInline
source§fn edit_message_text_inline<I, T>(
&self,
inline_message_id: I,
text: T
) -> <Throttle<B> as Requester>::EditMessageTextInline ⓘwhere
I: Into<String>,
T: Into<String>,
fn edit_message_text_inline<I, T>(
&self,
inline_message_id: I,
text: T
) -> <Throttle<B> as Requester>::EditMessageTextInline ⓘwhere
I: Into<String>,
T: Into<String>,
EditMessageTextInline
.type EditMessageCaption = <B as Requester>::EditMessageCaption
EditMessageCaption
.type EditMessageCaptionInline = <B as Requester>::EditMessageCaptionInline
EditMessageCaptionInline
.type EditMessageMedia = <B as Requester>::EditMessageMedia
source§fn edit_message_media<C>(
&self,
chat_id: C,
message_id: MessageId,
media: InputMedia
) -> <Throttle<B> as Requester>::EditMessageMedia ⓘwhere
C: Into<Recipient>,
fn edit_message_media<C>(
&self,
chat_id: C,
message_id: MessageId,
media: InputMedia
) -> <Throttle<B> as Requester>::EditMessageMedia ⓘwhere
C: Into<Recipient>,
EditMessageMedia
.type EditMessageMediaInline = <B as Requester>::EditMessageMediaInline
source§fn edit_message_media_inline<I>(
&self,
inline_message_id: I,
media: InputMedia
) -> <Throttle<B> as Requester>::EditMessageMediaInline ⓘwhere
I: Into<String>,
fn edit_message_media_inline<I>(
&self,
inline_message_id: I,
media: InputMedia
) -> <Throttle<B> as Requester>::EditMessageMediaInline ⓘwhere
I: Into<String>,
EditMessageMediaInline
.type EditMessageReplyMarkup = <B as Requester>::EditMessageReplyMarkup
source§fn edit_message_reply_markup<C>(
&self,
chat_id: C,
message_id: MessageId
) -> <Throttle<B> as Requester>::EditMessageReplyMarkup ⓘwhere
C: Into<Recipient>,
fn edit_message_reply_markup<C>(
&self,
chat_id: C,
message_id: MessageId
) -> <Throttle<B> as Requester>::EditMessageReplyMarkup ⓘwhere
C: Into<Recipient>,
EditMessageReplyMarkup
.type EditMessageReplyMarkupInline = <B as Requester>::EditMessageReplyMarkupInline
source§fn edit_message_reply_markup_inline<I>(
&self,
inline_message_id: I
) -> <Throttle<B> as Requester>::EditMessageReplyMarkupInline ⓘwhere
I: Into<String>,
fn edit_message_reply_markup_inline<I>(
&self,
inline_message_id: I
) -> <Throttle<B> as Requester>::EditMessageReplyMarkupInline ⓘwhere
I: Into<String>,
EditMessageReplyMarkupInline
.type StopPoll = <B as Requester>::StopPoll
source§fn stop_poll<C>(
&self,
chat_id: C,
message_id: MessageId
) -> <Throttle<B> as Requester>::StopPoll ⓘwhere
C: Into<Recipient>,
fn stop_poll<C>(
&self,
chat_id: C,
message_id: MessageId
) -> <Throttle<B> as Requester>::StopPoll ⓘwhere
C: Into<Recipient>,
StopPoll
.type DeleteMessage = <B as Requester>::DeleteMessage
source§fn delete_message<C>(
&self,
chat_id: C,
message_id: MessageId
) -> <Throttle<B> as Requester>::DeleteMessage ⓘwhere
C: Into<Recipient>,
fn delete_message<C>(
&self,
chat_id: C,
message_id: MessageId
) -> <Throttle<B> as Requester>::DeleteMessage ⓘwhere
C: Into<Recipient>,
DeleteMessage
.type GetStickerSet = <B as Requester>::GetStickerSet
source§fn get_sticker_set<N>(
&self,
name: N
) -> <Throttle<B> as Requester>::GetStickerSet ⓘwhere
N: Into<String>,
fn get_sticker_set<N>(
&self,
name: N
) -> <Throttle<B> as Requester>::GetStickerSet ⓘwhere
N: Into<String>,
GetStickerSet
.type GetCustomEmojiStickers = <B as Requester>::GetCustomEmojiStickers
source§fn get_custom_emoji_stickers<C>(
&self,
custom_emoji_ids: C
) -> <Throttle<B> as Requester>::GetCustomEmojiStickers ⓘwhere
C: IntoIterator<Item = String>,
fn get_custom_emoji_stickers<C>(
&self,
custom_emoji_ids: C
) -> <Throttle<B> as Requester>::GetCustomEmojiStickers ⓘwhere
C: IntoIterator<Item = String>,
GetCustomEmojiStickers
.type UploadStickerFile = <B as Requester>::UploadStickerFile
source§fn upload_sticker_file(
&self,
user_id: UserId,
png_sticker: InputFile
) -> <Throttle<B> as Requester>::UploadStickerFile ⓘ
fn upload_sticker_file(
&self,
user_id: UserId,
png_sticker: InputFile
) -> <Throttle<B> as Requester>::UploadStickerFile ⓘ
UploadStickerFile
.type CreateNewStickerSet = <B as Requester>::CreateNewStickerSet
source§fn create_new_sticker_set<N, T, E>(
&self,
user_id: UserId,
name: N,
title: T,
sticker: InputSticker,
emojis: E
) -> <Throttle<B> as Requester>::CreateNewStickerSet ⓘwhere
N: Into<String>,
T: Into<String>,
E: Into<String>,
fn create_new_sticker_set<N, T, E>(
&self,
user_id: UserId,
name: N,
title: T,
sticker: InputSticker,
emojis: E
) -> <Throttle<B> as Requester>::CreateNewStickerSet ⓘwhere
N: Into<String>,
T: Into<String>,
E: Into<String>,
CreateNewStickerSet
.type AddStickerToSet = <B as Requester>::AddStickerToSet
source§fn add_sticker_to_set<N, E>(
&self,
user_id: UserId,
name: N,
sticker: InputSticker,
emojis: E
) -> <Throttle<B> as Requester>::AddStickerToSet ⓘwhere
N: Into<String>,
E: Into<String>,
fn add_sticker_to_set<N, E>(
&self,
user_id: UserId,
name: N,
sticker: InputSticker,
emojis: E
) -> <Throttle<B> as Requester>::AddStickerToSet ⓘwhere
N: Into<String>,
E: Into<String>,
AddStickerToSet
.type SetStickerPositionInSet = <B as Requester>::SetStickerPositionInSet
source§fn set_sticker_position_in_set<S>(
&self,
sticker: S,
position: u32
) -> <Throttle<B> as Requester>::SetStickerPositionInSet ⓘwhere
S: Into<String>,
fn set_sticker_position_in_set<S>(
&self,
sticker: S,
position: u32
) -> <Throttle<B> as Requester>::SetStickerPositionInSet ⓘwhere
S: Into<String>,
SetStickerPositionInSet
.type DeleteStickerFromSet = <B as Requester>::DeleteStickerFromSet
source§fn delete_sticker_from_set<S>(
&self,
sticker: S
) -> <Throttle<B> as Requester>::DeleteStickerFromSet ⓘwhere
S: Into<String>,
fn delete_sticker_from_set<S>(
&self,
sticker: S
) -> <Throttle<B> as Requester>::DeleteStickerFromSet ⓘwhere
S: Into<String>,
DeleteStickerFromSet
.type SetStickerSetThumb = <B as Requester>::SetStickerSetThumb
source§fn set_sticker_set_thumb<N>(
&self,
name: N,
user_id: UserId
) -> <Throttle<B> as Requester>::SetStickerSetThumb ⓘwhere
N: Into<String>,
fn set_sticker_set_thumb<N>(
&self,
name: N,
user_id: UserId
) -> <Throttle<B> as Requester>::SetStickerSetThumb ⓘwhere
N: Into<String>,
SetStickerSetThumb
.type AnswerShippingQuery = <B as Requester>::AnswerShippingQuery
source§fn answer_shipping_query<S>(
&self,
shipping_query_id: S,
ok: bool
) -> <Throttle<B> as Requester>::AnswerShippingQuery ⓘwhere
S: Into<String>,
fn answer_shipping_query<S>(
&self,
shipping_query_id: S,
ok: bool
) -> <Throttle<B> as Requester>::AnswerShippingQuery ⓘwhere
S: Into<String>,
AnswerShippingQuery
.type CreateInvoiceLink = <B as Requester>::CreateInvoiceLink
source§fn create_invoice_link<T, D, Pa, P, C, Pri>(
&self,
title: T,
description: D,
payload: Pa,
provider_token: P,
currency: C,
prices: Pri
) -> <Throttle<B> as Requester>::CreateInvoiceLink ⓘwhere
T: Into<String>,
D: Into<String>,
Pa: Into<String>,
P: Into<String>,
C: Into<String>,
Pri: IntoIterator<Item = LabeledPrice>,
fn create_invoice_link<T, D, Pa, P, C, Pri>(
&self,
title: T,
description: D,
payload: Pa,
provider_token: P,
currency: C,
prices: Pri
) -> <Throttle<B> as Requester>::CreateInvoiceLink ⓘwhere
T: Into<String>,
D: Into<String>,
Pa: Into<String>,
P: Into<String>,
C: Into<String>,
Pri: IntoIterator<Item = LabeledPrice>,
CreateInvoiceLink
.type AnswerPreCheckoutQuery = <B as Requester>::AnswerPreCheckoutQuery
source§fn answer_pre_checkout_query<P>(
&self,
pre_checkout_query_id: P,
ok: bool
) -> <Throttle<B> as Requester>::AnswerPreCheckoutQuery ⓘwhere
P: Into<String>,
fn answer_pre_checkout_query<P>(
&self,
pre_checkout_query_id: P,
ok: bool
) -> <Throttle<B> as Requester>::AnswerPreCheckoutQuery ⓘwhere
P: Into<String>,
AnswerPreCheckoutQuery
.type SetPassportDataErrors = <B as Requester>::SetPassportDataErrors
source§fn set_passport_data_errors<E>(
&self,
user_id: UserId,
errors: E
) -> <Throttle<B> as Requester>::SetPassportDataErrors ⓘwhere
E: IntoIterator<Item = PassportElementError>,
fn set_passport_data_errors<E>(
&self,
user_id: UserId,
errors: E
) -> <Throttle<B> as Requester>::SetPassportDataErrors ⓘwhere
E: IntoIterator<Item = PassportElementError>,
SetPassportDataErrors
.type SendGame = <B as Requester>::SendGame
source§fn send_game<G>(
&self,
chat_id: u32,
game_short_name: G
) -> <Throttle<B> as Requester>::SendGame ⓘwhere
G: Into<String>,
fn send_game<G>(
&self,
chat_id: u32,
game_short_name: G
) -> <Throttle<B> as Requester>::SendGame ⓘwhere
G: Into<String>,
SendGame
.type SetGameScore = <B as Requester>::SetGameScore
source§fn set_game_score(
&self,
user_id: UserId,
score: u64,
chat_id: u32,
message_id: MessageId
) -> <Throttle<B> as Requester>::SetGameScore ⓘ
fn set_game_score(
&self,
user_id: UserId,
score: u64,
chat_id: u32,
message_id: MessageId
) -> <Throttle<B> as Requester>::SetGameScore ⓘ
SetGameScore
.type SetGameScoreInline = <B as Requester>::SetGameScoreInline
source§fn set_game_score_inline<I>(
&self,
user_id: UserId,
score: u64,
inline_message_id: I
) -> <Throttle<B> as Requester>::SetGameScoreInline ⓘwhere
I: Into<String>,
fn set_game_score_inline<I>(
&self,
user_id: UserId,
score: u64,
inline_message_id: I
) -> <Throttle<B> as Requester>::SetGameScoreInline ⓘwhere
I: Into<String>,
SetGameScoreInline
.type ApproveChatJoinRequest = <B as Requester>::ApproveChatJoinRequest
source§fn approve_chat_join_request<C>(
&self,
chat_id: C,
user_id: UserId
) -> <Throttle<B> as Requester>::ApproveChatJoinRequest ⓘwhere
C: Into<Recipient>,
fn approve_chat_join_request<C>(
&self,
chat_id: C,
user_id: UserId
) -> <Throttle<B> as Requester>::ApproveChatJoinRequest ⓘwhere
C: Into<Recipient>,
ApproveChatJoinRequest
.type DeclineChatJoinRequest = <B as Requester>::DeclineChatJoinRequest
source§fn decline_chat_join_request<C>(
&self,
chat_id: C,
user_id: UserId
) -> <Throttle<B> as Requester>::DeclineChatJoinRequest ⓘwhere
C: Into<Recipient>,
fn decline_chat_join_request<C>(
&self,
chat_id: C,
user_id: UserId
) -> <Throttle<B> as Requester>::DeclineChatJoinRequest ⓘwhere
C: Into<Recipient>,
DeclineChatJoinRequest
.type GetGameHighScores = <B as Requester>::GetGameHighScores
source§fn get_game_high_scores<T>(
&self,
user_id: UserId,
target: T
) -> <Throttle<B> as Requester>::GetGameHighScores ⓘwhere
T: Into<TargetMessage>,
fn get_game_high_scores<T>(
&self,
user_id: UserId,
target: T
) -> <Throttle<B> as Requester>::GetGameHighScores ⓘwhere
T: Into<TargetMessage>,
GetGameHighScores
.Auto Trait Implementations§
impl<B> !RefUnwindSafe for Throttle<B>
impl<B> Send for Throttle<B>where
B: Send,
impl<B> Sync for Throttle<B>where
B: Sync,
impl<B> Unpin for Throttle<B>where
B: Unpin,
impl<B> !UnwindSafe for Throttle<B>
Blanket Implementations§
§impl<T> Erasable for T
impl<T> Erasable for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> RequesterExt for Twhere
T: Requester,
impl<T> RequesterExt for Twhere
T: Requester,
source§fn cache_me(self) -> CacheMe<Self> ⓘwhere
Self: Sized,
fn cache_me(self) -> CacheMe<Self> ⓘwhere
Self: Sized,
cache_me
only.get_me
caching ability, see CacheMe
for more.source§fn auto_send(self) -> AutoSend<Self> ⓘwhere
Self: Sized,
fn auto_send(self) -> AutoSend<Self> ⓘwhere
Self: Sized,
AutoSend
is no longer required to .await
requests and is now noopauto_send
only.AutoSend
for more.source§fn erase<'a>(self) -> ErasedRequester<'a, Self::Err> ⓘwhere
Self: 'a + Sized,
fn erase<'a>(self) -> ErasedRequester<'a, Self::Err> ⓘwhere
Self: 'a + Sized,
erased
only.source§fn trace(self, settings: Settings) -> Trace<Self> ⓘwhere
Self: Sized,
fn trace(self, settings: Settings) -> Trace<Self> ⓘwhere
Self: Sized,
trace_adaptor
only.Trace
for more.source§fn throttle(self, limits: Limits) -> Throttle<Self> ⓘwhere
Self: Sized + Clone + Send + Sync + 'static,
Self::Err: AsResponseParameters,
Self::GetChat: Send,
fn throttle(self, limits: Limits) -> Throttle<Self> ⓘwhere
Self: Sized + Clone + Send + Sync + 'static,
Self::Err: AsResponseParameters,
Self::GetChat: Send,
throttle
only.