1use std::{future::IntoFuture, sync::Arc};
2
3use futures::{FutureExt, future::BoxFuture};
4use reqwest::Url;
5
6use crate::{
7 errors::AsResponseParameters,
8 payloads::*,
9 requests::{HasPayload, Output, Payload, Request, Requester},
10 types::*,
11};
12
13pub struct ErasedRequester<'a, E> {
15 inner: Arc<dyn ErasableRequester<'a, Err = E> + 'a>,
16}
17
18impl<'a, E> ErasedRequester<'a, E> {
19 pub fn new<B>(requester: B) -> Self
25 where
26 B: Requester<Err = E> + 'a,
27 {
28 Self { inner: Arc::new(requester) }
29 }
30}
31
32impl<E> std::fmt::Debug for ErasedRequester<'_, E> {
33 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
34 f.debug_struct("ErasedRequester").finish_non_exhaustive()
35 }
36}
37
38impl<E> Clone for ErasedRequester<'_, E> {
40 fn clone(&self) -> Self {
41 Self { inner: Arc::clone(&self.inner) }
42 }
43}
44
45#[must_use = "Requests are lazy and do nothing unless sent"]
47pub struct ErasedRequest<'a, T, E> {
48 inner: Box<dyn ErasableRequest<'a, Payload = T, Err = E> + 'a>,
49}
50
51impl<'a, T: Payload, E> ErasedRequest<'a, T, E> {
53 pub(crate) fn erase(request: impl Request<Payload = T, Err = E> + 'a) -> Self {
54 Self { inner: Box::new(request) }
55 }
56}
57
58impl<T, E> HasPayload for ErasedRequest<'_, T, E>
59where
60 T: Payload,
61{
62 type Payload = T;
63
64 fn payload_mut(&mut self) -> &mut Self::Payload {
65 self.inner.payload_mut()
66 }
67
68 fn payload_ref(&self) -> &Self::Payload {
69 self.inner.payload_ref()
70 }
71}
72
73impl<'a, T, E> Request for ErasedRequest<'a, T, E>
74where
75 T: Payload,
76 E: std::error::Error + Send,
77{
78 type Err = E;
79
80 type Send = BoxFuture<'a, Result<Output<Self>, Self::Err>>;
81
82 type SendRef = BoxFuture<'a, Result<Output<Self>, Self::Err>>;
83
84 fn send(self) -> Self::Send {
85 self.inner.send_box()
86 }
87
88 fn send_ref(&self) -> Self::SendRef {
89 self.inner.send_ref()
90 }
91}
92
93impl<T, E> IntoFuture for ErasedRequest<'_, T, E>
94where
95 T: Payload,
96 E: std::error::Error + Send,
97{
98 type Output = Result<Output<Self>, <Self as Request>::Err>;
99 type IntoFuture = <Self as Request>::Send;
100
101 fn into_future(self) -> Self::IntoFuture {
102 self.send()
103 }
104}
105
106trait ErasableRequest<'a>: HasPayload {
111 type Err: std::error::Error + Send;
112
113 fn send_box(self: Box<Self>) -> BoxFuture<'a, Result<Output<Self>, Self::Err>>;
114
115 fn send_ref(&self) -> BoxFuture<'a, Result<Output<Self>, Self::Err>>;
116}
117
118impl<'a, R> ErasableRequest<'a> for R
119where
120 R: Request,
121 <R as Request>::Send: 'a,
122 <R as Request>::SendRef: 'a,
123{
124 type Err = R::Err;
125
126 fn send_box(self: Box<Self>) -> BoxFuture<'a, Result<Output<Self>, Self::Err>> {
127 self.send().boxed()
128 }
129
130 fn send_ref(&self) -> BoxFuture<'a, Result<Output<Self>, Self::Err>> {
131 Request::send_ref(self).boxed()
132 }
133}
134
135macro_rules! fty {
136 ($T:ident) => {
137 ErasedRequest<'a, $T, Err>
138 };
139}
140
141macro_rules! fwd_erased {
142 ($m:ident $this:ident ($($arg:ident : $T:ty),*)) => {
143 $this.inner.$m($( fwd_erased!(@convert $m, $arg, $arg : $T) ),*)
144 };
145
146 (@convert send_paid_media, $arg:ident, media : $T:ty) => {
147 $arg.into_iter().collect()
148 };
149 (@convert send_media_group, $arg:ident, media : $T:ty) => {
150 $arg.into_iter().collect()
151 };
152 (@convert $m:ident, $arg:ident, options : $T:ty) => {
153 $arg.into_iter().collect()
154 };
155 (@convert $m:ident, $arg:ident, commands : $T:ty) => {
156 $arg.into_iter().collect()
157 };
158 (@convert $m:ident, $arg:ident, results : $T:ty) => {
159 $arg.into_iter().collect()
160 };
161 (@convert $m:ident, $arg:ident, prices : $T:ty) => {
162 $arg.into_iter().collect()
163 };
164 (@convert $m:ident, $arg:ident, errors : $T:ty) => {
165 $arg.into_iter().collect()
166 };
167 (@convert $m:ident, $arg:ident, custom_emoji_ids : $T:ty) => {
168 $arg.into_iter().collect()
169 };
170 (@convert $m:ident, $arg:ident, stickers: $T:ty) => {
171 $arg.into_iter().collect()
172 };
173 (@convert $m:ident, $arg:ident, emoji_list: $T:ty) => {
174 $arg.into_iter().collect()
175 };
176 (@convert $m:ident, $arg:ident, message_ids: $T:ty) => {
177 $arg.into_iter().collect()
178 };
179 (@convert $m:ident, $arg:ident, $arg_:ident : $T:ty) => {
180 $arg.into()
181 };
182}
183
184impl<'a, Err> Requester for ErasedRequester<'a, Err>
185where
186 Err: std::error::Error + Send + AsResponseParameters,
187{
188 type Err = Err;
189
190 requester_forward! {
191 get_me,
192 log_out,
193 close,
194 get_updates,
195 set_webhook,
196 delete_webhook,
197 get_webhook_info,
198 forward_message,
199 forward_messages,
200 copy_message,
201 copy_messages,
202 send_message,
203 send_message_draft,
204 send_rich_message,
205 send_rich_message_draft,
206 send_photo,
207 send_audio,
208 send_document,
209 send_video,
210 send_animation,
211 send_voice,
212 send_video_note,
213 send_paid_media,
214 send_media_group,
215 send_location,
216 edit_message_live_location,
217 edit_message_live_location_inline,
218 stop_message_live_location,
219 stop_message_live_location_inline,
220 edit_message_checklist,
221 send_venue,
222 send_contact,
223 send_poll,
224 send_checklist,
225 send_dice,
226 send_chat_action,
227 set_message_reaction,
228 get_user_profile_photos,
229 get_user_profile_audios,
230 set_user_emoji_status,
231 get_file,
232 kick_chat_member,
233 ban_chat_member,
234 unban_chat_member,
235 restrict_chat_member,
236 promote_chat_member,
237 set_chat_administrator_custom_title,
238 set_chat_member_tag,
239 ban_chat_sender_chat,
240 unban_chat_sender_chat,
241 set_chat_permissions,
242 export_chat_invite_link,
243 create_chat_invite_link,
244 edit_chat_invite_link,
245 create_chat_subscription_invite_link,
246 edit_chat_subscription_invite_link,
247 revoke_chat_invite_link,
248 set_chat_photo,
249 delete_chat_photo,
250 set_chat_title,
251 set_chat_description,
252 pin_chat_message,
253 unpin_chat_message,
254 unpin_all_chat_messages,
255 leave_chat,
256 get_chat,
257 get_chat_administrators,
258 get_chat_members_count,
259 get_chat_member_count,
260 get_chat_member,
261 set_chat_sticker_set,
262 delete_chat_sticker_set,
263 get_forum_topic_icon_stickers,
264 create_forum_topic,
265 edit_forum_topic,
266 close_forum_topic,
267 reopen_forum_topic,
268 delete_forum_topic,
269 unpin_all_forum_topic_messages,
270 edit_general_forum_topic,
271 close_general_forum_topic,
272 reopen_general_forum_topic,
273 hide_general_forum_topic,
274 unhide_general_forum_topic,
275 unpin_all_general_forum_topic_messages,
276 answer_callback_query,
277 get_user_chat_boosts,
278 set_my_commands,
279 get_business_connection,
280 get_my_commands,
281 set_my_name,
282 get_my_name,
283 set_my_description,
284 get_my_description,
285 set_my_short_description,
286 get_my_short_description,
287 set_my_profile_photo,
288 remove_my_profile_photo,
289 send_live_photo,
290 get_user_personal_chat_messages,
291 answer_guest_query,
292 get_managed_bot_access_settings,
293 set_managed_bot_access_settings,
294 delete_message_reaction,
295 delete_all_message_reactions,
296 get_managed_bot_token,
297 replace_managed_bot_token,
298 save_prepared_keyboard_button,
299 set_chat_menu_button,
300 get_chat_menu_button,
301 set_my_default_administrator_rights,
302 get_my_default_administrator_rights,
303 delete_my_commands,
304 answer_inline_query,
305 answer_web_app_query,
306 save_prepared_inline_message,
307 edit_message_text,
308 edit_message_text_inline,
309 edit_message_caption,
310 edit_message_caption_inline,
311 edit_message_media,
312 edit_message_media_inline,
313 edit_message_reply_markup,
314 edit_message_reply_markup_inline,
315 stop_poll,
316 approve_suggested_post,
317 decline_suggested_post,
318 delete_message,
319 delete_messages,
320 send_sticker,
321 get_sticker_set,
322 get_custom_emoji_stickers,
323 upload_sticker_file,
324 create_new_sticker_set,
325 add_sticker_to_set,
326 set_sticker_position_in_set,
327 delete_sticker_from_set,
328 replace_sticker_in_set,
329 set_sticker_set_thumbnail,
330 set_custom_emoji_sticker_set_thumbnail,
331 set_sticker_set_title,
332 delete_sticker_set,
333 set_sticker_emoji_list,
334 set_sticker_keywords,
335 set_sticker_mask_position,
336 get_available_gifts,
337 send_gift,
338 send_gift_chat,
339 gift_premium_subscription,
340 verify_user,
341 verify_chat,
342 remove_user_verification,
343 remove_chat_verification,
344 read_business_message,
345 delete_business_messages,
346 set_business_account_name,
347 set_business_account_username,
348 set_business_account_bio,
349 set_business_account_profile_photo,
350 remove_business_account_profile_photo,
351 set_business_account_gift_settings,
352 get_business_account_star_balance,
353 transfer_business_account_stars,
354 get_business_account_gifts,
355 get_user_gifts,
356 get_chat_gifts,
357 convert_gift_to_stars,
358 upgrade_gift,
359 transfer_gift,
360 post_story,
361 repost_story,
362 edit_story,
363 delete_story,
364 send_invoice,
365 create_invoice_link,
366 answer_shipping_query,
367 answer_pre_checkout_query,
368 get_my_star_balance,
369 get_star_transactions,
370 refund_star_payment,
371 edit_user_star_subscription,
372 set_passport_data_errors,
373 send_game,
374 set_game_score,
375 set_game_score_inline,
376 get_game_high_scores,
377 approve_chat_join_request,
378 decline_chat_join_request,
379 answer_chat_join_request_query,
380 send_chat_join_request_web_app,
381 edit_ephemeral_message_text,
382 edit_ephemeral_message_media,
383 edit_ephemeral_message_caption,
384 edit_ephemeral_message_reply_markup,
385 delete_ephemeral_message
386 => fwd_erased, fty
387 }
388}
389
390trait ErasableRequester<'a> {
392 type Err: std::error::Error + Send;
394
395 fn get_updates(&self) -> ErasedRequest<'a, GetUpdates, Self::Err>;
396
397 fn set_webhook(&self, url: Url) -> ErasedRequest<'a, SetWebhook, Self::Err>;
398
399 fn delete_webhook(&self) -> ErasedRequest<'a, DeleteWebhook, Self::Err>;
400
401 fn get_webhook_info(&self) -> ErasedRequest<'a, GetWebhookInfo, Self::Err>;
402
403 fn get_me(&self) -> ErasedRequest<'a, GetMe, Self::Err>;
404
405 fn log_out(&self) -> ErasedRequest<'a, LogOut, Self::Err>;
406
407 fn close(&self) -> ErasedRequest<'a, Close, Self::Err>;
408
409 fn send_message(
410 &self,
411 chat_id: Recipient,
412 text: String,
413 ) -> ErasedRequest<'a, SendMessage, Self::Err>;
414
415 fn send_message_draft(
416 &self,
417 chat_id: Recipient,
418 draft_id: DraftId,
419 text: String,
420 ) -> ErasedRequest<'a, SendMessageDraft, Self::Err>;
421
422 fn send_rich_message(
423 &self,
424 chat_id: Recipient,
425 rich_message: InputRichMessage,
426 ) -> ErasedRequest<'a, SendRichMessage, Self::Err>;
427
428 fn send_rich_message_draft(
429 &self,
430 chat_id: Recipient,
431 draft_id: DraftId,
432 rich_message: InputRichMessage,
433 ) -> ErasedRequest<'a, SendRichMessageDraft, Self::Err>;
434
435 fn forward_message(
436 &self,
437 chat_id: Recipient,
438 from_chat_id: Recipient,
439 message_id: MessageId,
440 ) -> ErasedRequest<'a, ForwardMessage, Self::Err>;
441
442 fn forward_messages(
443 &self,
444 chat_id: Recipient,
445 from_chat_id: Recipient,
446 message_ids: Vec<MessageId>,
447 ) -> ErasedRequest<'a, ForwardMessages, Self::Err>;
448
449 fn copy_message(
450 &self,
451 chat_id: Recipient,
452 from_chat_id: Recipient,
453 message_id: MessageId,
454 ) -> ErasedRequest<'a, CopyMessage, Self::Err>;
455
456 fn copy_messages(
457 &self,
458 chat_id: Recipient,
459 from_chat_id: Recipient,
460 message_ids: Vec<MessageId>,
461 ) -> ErasedRequest<'a, CopyMessages, Self::Err>;
462
463 fn send_photo(
464 &self,
465 chat_id: Recipient,
466 photo: InputFile,
467 ) -> ErasedRequest<'a, SendPhoto, Self::Err>;
468
469 fn send_audio(
470 &self,
471 chat_id: Recipient,
472 audio: InputFile,
473 ) -> ErasedRequest<'a, SendAudio, Self::Err>;
474
475 fn send_document(
476 &self,
477 chat_id: Recipient,
478 document: InputFile,
479 ) -> ErasedRequest<'a, SendDocument, Self::Err>;
480
481 fn send_video(
482 &self,
483 chat_id: Recipient,
484 video: InputFile,
485 ) -> ErasedRequest<'a, SendVideo, Self::Err>;
486
487 fn send_animation(
488 &self,
489 chat_id: Recipient,
490 animation: InputFile,
491 ) -> ErasedRequest<'a, SendAnimation, Self::Err>;
492
493 fn send_voice(
494 &self,
495 chat_id: Recipient,
496 voice: InputFile,
497 ) -> ErasedRequest<'a, SendVoice, Self::Err>;
498
499 fn send_video_note(
500 &self,
501 chat_id: Recipient,
502 video_note: InputFile,
503 ) -> ErasedRequest<'a, SendVideoNote, Self::Err>;
504
505 fn send_paid_media(
506 &self,
507 chat_id: Recipient,
508 star_count: u32,
509 media: Vec<InputPaidMedia>,
510 ) -> ErasedRequest<'a, SendPaidMedia, Self::Err>;
511
512 fn send_media_group(
513 &self,
514 chat_id: Recipient,
515 media: Vec<InputMedia>,
516 ) -> ErasedRequest<'a, SendMediaGroup, Self::Err>;
517
518 fn send_location(
519 &self,
520 chat_id: Recipient,
521 latitude: f64,
522 longitude: f64,
523 ) -> ErasedRequest<'a, SendLocation, Self::Err>;
524
525 fn edit_message_live_location(
526 &self,
527 chat_id: Recipient,
528 message_id: MessageId,
529 latitude: f64,
530 longitude: f64,
531 ) -> ErasedRequest<'a, EditMessageLiveLocation, Self::Err>;
532
533 fn edit_message_live_location_inline(
534 &self,
535 inline_message_id: String,
536 latitude: f64,
537 longitude: f64,
538 ) -> ErasedRequest<'a, EditMessageLiveLocationInline, Self::Err>;
539
540 fn stop_message_live_location(
541 &self,
542 chat_id: Recipient,
543 message_id: MessageId,
544 ) -> ErasedRequest<'a, StopMessageLiveLocation, Self::Err>;
545
546 fn stop_message_live_location_inline(
547 &self,
548 inline_message_id: String,
549 ) -> ErasedRequest<'a, StopMessageLiveLocationInline, Self::Err>;
550
551 fn edit_message_checklist(
552 &self,
553 business_connection_id: BusinessConnectionId,
554 chat_id: ChatId,
555 message_id: MessageId,
556 checklist: InputChecklist,
557 ) -> ErasedRequest<'a, EditMessageChecklist, Self::Err>;
558
559 fn send_venue(
560 &self,
561 chat_id: Recipient,
562 latitude: f64,
563 longitude: f64,
564 title: String,
565 address: String,
566 ) -> ErasedRequest<'a, SendVenue, Self::Err>;
567
568 fn send_contact(
569 &self,
570 chat_id: Recipient,
571 phone_number: String,
572 first_name: String,
573 ) -> ErasedRequest<'a, SendContact, Self::Err>;
574
575 fn send_poll(
576 &self,
577 chat_id: Recipient,
578 question: String,
579 options: Vec<InputPollOption>,
580 ) -> ErasedRequest<'a, SendPoll, Self::Err>;
581
582 fn send_checklist(
583 &self,
584 business_connection_id: BusinessConnectionId,
585 chat_id: ChatId,
586 checklist: InputChecklist,
587 ) -> ErasedRequest<'a, SendChecklist, Self::Err>;
588
589 fn send_dice(&self, chat_id: Recipient) -> ErasedRequest<'a, SendDice, Self::Err>;
590
591 fn send_chat_action(
592 &self,
593 chat_id: Recipient,
594 action: ChatAction,
595 ) -> ErasedRequest<'a, SendChatAction, Self::Err>;
596
597 fn set_message_reaction(
598 &self,
599 chat_id: Recipient,
600 message_id: MessageId,
601 ) -> ErasedRequest<'a, SetMessageReaction, Self::Err>;
602
603 fn get_user_profile_photos(
604 &self,
605 user_id: UserId,
606 ) -> ErasedRequest<'a, GetUserProfilePhotos, Self::Err>;
607
608 fn get_user_profile_audios(
609 &self,
610 user_id: UserId,
611 ) -> ErasedRequest<'a, GetUserProfileAudios, Self::Err>;
612
613 fn set_user_emoji_status(
614 &self,
615 user_id: UserId,
616 ) -> ErasedRequest<'a, SetUserEmojiStatus, Self::Err>;
617
618 fn get_file(&self, file_id: FileId) -> ErasedRequest<'a, GetFile, Self::Err>;
619
620 fn ban_chat_member(
621 &self,
622 chat_id: Recipient,
623 user_id: UserId,
624 ) -> ErasedRequest<'a, BanChatMember, Self::Err>;
625
626 fn kick_chat_member(
627 &self,
628 chat_id: Recipient,
629 user_id: UserId,
630 ) -> ErasedRequest<'a, KickChatMember, Self::Err>;
631
632 fn unban_chat_member(
633 &self,
634 chat_id: Recipient,
635 user_id: UserId,
636 ) -> ErasedRequest<'a, UnbanChatMember, Self::Err>;
637
638 fn restrict_chat_member(
639 &self,
640 chat_id: Recipient,
641 user_id: UserId,
642 permissions: ChatPermissions,
643 ) -> ErasedRequest<'a, RestrictChatMember, Self::Err>;
644
645 fn promote_chat_member(
646 &self,
647 chat_id: Recipient,
648 user_id: UserId,
649 ) -> ErasedRequest<'a, PromoteChatMember, Self::Err>;
650
651 fn set_chat_administrator_custom_title(
652 &self,
653 chat_id: Recipient,
654 user_id: UserId,
655 custom_title: String,
656 ) -> ErasedRequest<'a, SetChatAdministratorCustomTitle, Self::Err>;
657
658 fn set_chat_member_tag(
659 &self,
660 chat_id: Recipient,
661 user_id: UserId,
662 ) -> ErasedRequest<'a, SetChatMemberTag, Self::Err>;
663
664 fn ban_chat_sender_chat(
665 &self,
666 chat_id: Recipient,
667 sender_chat_id: ChatId,
668 ) -> ErasedRequest<'a, BanChatSenderChat, Self::Err>;
669
670 fn unban_chat_sender_chat(
671 &self,
672 chat_id: Recipient,
673 sender_chat_id: ChatId,
674 ) -> ErasedRequest<'a, UnbanChatSenderChat, Self::Err>;
675
676 fn set_chat_permissions(
677 &self,
678 chat_id: Recipient,
679 permissions: ChatPermissions,
680 ) -> ErasedRequest<'a, SetChatPermissions, Self::Err>;
681
682 fn export_chat_invite_link(
683 &self,
684 chat_id: Recipient,
685 ) -> ErasedRequest<'a, ExportChatInviteLink, Self::Err>;
686
687 fn create_chat_invite_link(
688 &self,
689 chat_id: Recipient,
690 ) -> ErasedRequest<'a, CreateChatInviteLink, Self::Err>;
691
692 fn edit_chat_invite_link(
693 &self,
694 chat_id: Recipient,
695 invite_link: String,
696 ) -> ErasedRequest<'a, EditChatInviteLink, Self::Err>;
697
698 fn create_chat_subscription_invite_link(
699 &self,
700 chat_id: Recipient,
701 subscription_period: Seconds,
702 subscription_price: u32,
703 ) -> ErasedRequest<'a, CreateChatSubscriptionInviteLink, Self::Err>;
704
705 fn edit_chat_subscription_invite_link(
706 &self,
707 chat_id: Recipient,
708 invite_link: String,
709 ) -> ErasedRequest<'a, EditChatSubscriptionInviteLink, Self::Err>;
710
711 fn revoke_chat_invite_link(
712 &self,
713 chat_id: Recipient,
714 invite_link: String,
715 ) -> ErasedRequest<'a, RevokeChatInviteLink, Self::Err>;
716
717 fn approve_chat_join_request(
719 &self,
720 chat_id: Recipient,
721 user_id: UserId,
722 ) -> ErasedRequest<'a, ApproveChatJoinRequest, Self::Err>;
723
724 fn decline_chat_join_request(
726 &self,
727 chat_id: Recipient,
728 user_id: UserId,
729 ) -> ErasedRequest<'a, DeclineChatJoinRequest, Self::Err>;
730
731 fn answer_chat_join_request_query(
733 &self,
734 chat_join_request_query_id: String,
735 result: String,
736 ) -> ErasedRequest<'a, AnswerChatJoinRequestQuery, Self::Err>;
737
738 fn send_chat_join_request_web_app(
740 &self,
741 chat_join_request_query_id: String,
742 web_app_url: String,
743 ) -> ErasedRequest<'a, SendChatJoinRequestWebApp, Self::Err>;
744
745 fn edit_ephemeral_message_text(
747 &self,
748 chat_id: Recipient,
749 receiver_user_id: UserId,
750 ephemeral_message_id: MessageId,
751 ) -> ErasedRequest<'a, EditEphemeralMessageText, Self::Err>;
752
753 fn edit_ephemeral_message_media(
755 &self,
756 chat_id: Recipient,
757 receiver_user_id: UserId,
758 ephemeral_message_id: MessageId,
759 media: InputMedia,
760 ) -> ErasedRequest<'a, EditEphemeralMessageMedia, Self::Err>;
761
762 fn edit_ephemeral_message_caption(
764 &self,
765 chat_id: Recipient,
766 receiver_user_id: UserId,
767 ephemeral_message_id: MessageId,
768 ) -> ErasedRequest<'a, EditEphemeralMessageCaption, Self::Err>;
769
770 fn edit_ephemeral_message_reply_markup(
772 &self,
773 chat_id: Recipient,
774 receiver_user_id: UserId,
775 ephemeral_message_id: MessageId,
776 ) -> ErasedRequest<'a, EditEphemeralMessageReplyMarkup, Self::Err>;
777
778 fn delete_ephemeral_message(
780 &self,
781 chat_id: Recipient,
782 receiver_user_id: UserId,
783 ephemeral_message_id: MessageId,
784 ) -> ErasedRequest<'a, DeleteEphemeralMessage, Self::Err>;
785
786 fn set_chat_photo(
787 &self,
788 chat_id: Recipient,
789 photo: InputFile,
790 ) -> ErasedRequest<'a, SetChatPhoto, Self::Err>;
791
792 fn delete_chat_photo(
793 &self,
794 chat_id: Recipient,
795 ) -> ErasedRequest<'a, DeleteChatPhoto, Self::Err>;
796
797 fn set_chat_title(
798 &self,
799 chat_id: Recipient,
800 title: String,
801 ) -> ErasedRequest<'a, SetChatTitle, Self::Err>;
802
803 fn set_chat_description(
804 &self,
805 chat_id: Recipient,
806 ) -> ErasedRequest<'a, SetChatDescription, Self::Err>;
807
808 fn pin_chat_message(
809 &self,
810 chat_id: Recipient,
811 message_id: MessageId,
812 ) -> ErasedRequest<'a, PinChatMessage, Self::Err>;
813
814 fn unpin_chat_message(
815 &self,
816 chat_id: Recipient,
817 ) -> ErasedRequest<'a, UnpinChatMessage, Self::Err>;
818
819 fn unpin_all_chat_messages(
820 &self,
821 chat_id: Recipient,
822 ) -> ErasedRequest<'a, UnpinAllChatMessages, Self::Err>;
823
824 fn leave_chat(&self, chat_id: Recipient) -> ErasedRequest<'a, LeaveChat, Self::Err>;
825
826 fn get_chat(&self, chat_id: Recipient) -> ErasedRequest<'a, GetChat, Self::Err>;
827
828 fn get_chat_administrators(
829 &self,
830 chat_id: Recipient,
831 ) -> ErasedRequest<'a, GetChatAdministrators, Self::Err>;
832
833 fn get_chat_member_count(
834 &self,
835 chat_id: Recipient,
836 ) -> ErasedRequest<'a, GetChatMemberCount, Self::Err>;
837
838 fn get_chat_members_count(
839 &self,
840 chat_id: Recipient,
841 ) -> ErasedRequest<'a, GetChatMembersCount, Self::Err>;
842
843 fn get_chat_member(
844 &self,
845 chat_id: Recipient,
846 user_id: UserId,
847 ) -> ErasedRequest<'a, GetChatMember, Self::Err>;
848
849 fn set_chat_sticker_set(
850 &self,
851 chat_id: Recipient,
852 sticker_set_name: String,
853 ) -> ErasedRequest<'a, SetChatStickerSet, Self::Err>;
854
855 fn delete_chat_sticker_set(
856 &self,
857 chat_id: Recipient,
858 ) -> ErasedRequest<'a, DeleteChatStickerSet, Self::Err>;
859
860 fn get_forum_topic_icon_stickers(
861 &self,
862 ) -> ErasedRequest<'a, GetForumTopicIconStickers, Self::Err>;
863
864 fn create_forum_topic(
865 &self,
866 chat_id: Recipient,
867 name: String,
868 ) -> ErasedRequest<'a, CreateForumTopic, Self::Err>;
869
870 fn edit_forum_topic(
871 &self,
872 chat_id: Recipient,
873 message_thread_id: ThreadId,
874 ) -> ErasedRequest<'a, EditForumTopic, Self::Err>;
875
876 fn close_forum_topic(
877 &self,
878 chat_id: Recipient,
879 message_thread_id: ThreadId,
880 ) -> ErasedRequest<'a, CloseForumTopic, Self::Err>;
881
882 fn reopen_forum_topic(
883 &self,
884 chat_id: Recipient,
885 message_thread_id: ThreadId,
886 ) -> ErasedRequest<'a, ReopenForumTopic, Self::Err>;
887
888 fn delete_forum_topic(
889 &self,
890 chat_id: Recipient,
891 message_thread_id: ThreadId,
892 ) -> ErasedRequest<'a, DeleteForumTopic, Self::Err>;
893
894 fn unpin_all_forum_topic_messages(
895 &self,
896 chat_id: Recipient,
897 message_thread_id: ThreadId,
898 ) -> ErasedRequest<'a, UnpinAllForumTopicMessages, Self::Err>;
899
900 fn edit_general_forum_topic(
901 &self,
902 chat_id: Recipient,
903 name: String,
904 ) -> ErasedRequest<'a, EditGeneralForumTopic, Self::Err>;
905
906 fn close_general_forum_topic(
907 &self,
908 chat_id: Recipient,
909 ) -> ErasedRequest<'a, CloseGeneralForumTopic, Self::Err>;
910
911 fn reopen_general_forum_topic(
912 &self,
913 chat_id: Recipient,
914 ) -> ErasedRequest<'a, ReopenGeneralForumTopic, Self::Err>;
915
916 fn hide_general_forum_topic(
917 &self,
918 chat_id: Recipient,
919 ) -> ErasedRequest<'a, HideGeneralForumTopic, Self::Err>;
920
921 fn unhide_general_forum_topic(
922 &self,
923 chat_id: Recipient,
924 ) -> ErasedRequest<'a, UnhideGeneralForumTopic, Self::Err>;
925
926 fn unpin_all_general_forum_topic_messages(
927 &self,
928 chat_id: Recipient,
929 ) -> ErasedRequest<'a, UnpinAllGeneralForumTopicMessages, Self::Err>;
930
931 fn answer_callback_query(
932 &self,
933 callback_query_id: CallbackQueryId,
934 ) -> ErasedRequest<'a, AnswerCallbackQuery, Self::Err>;
935
936 fn get_user_chat_boosts(
937 &self,
938 chat_id: Recipient,
939 user_id: UserId,
940 ) -> ErasedRequest<'a, GetUserChatBoosts, Self::Err>;
941
942 fn set_my_commands(
943 &self,
944 commands: Vec<BotCommand>,
945 ) -> ErasedRequest<'a, SetMyCommands, Self::Err>;
946
947 fn get_business_connection(
948 &self,
949 business_connection_id: BusinessConnectionId,
950 ) -> ErasedRequest<'a, GetBusinessConnection, Self::Err>;
951
952 fn get_my_commands(&self) -> ErasedRequest<'a, GetMyCommands, Self::Err>;
953
954 fn set_my_name(&self) -> ErasedRequest<'a, SetMyName, Self::Err>;
955
956 fn get_my_name(&self) -> ErasedRequest<'a, GetMyName, Self::Err>;
957
958 fn set_my_description(&self) -> ErasedRequest<'a, SetMyDescription, Self::Err>;
959
960 fn get_my_description(&self) -> ErasedRequest<'a, GetMyDescription, Self::Err>;
961
962 fn set_my_short_description(&self) -> ErasedRequest<'a, SetMyShortDescription, Self::Err>;
963
964 fn get_my_short_description(&self) -> ErasedRequest<'a, GetMyShortDescription, Self::Err>;
965
966 fn set_my_profile_photo(
967 &self,
968 photo: InputProfilePhoto,
969 ) -> ErasedRequest<'a, SetMyProfilePhoto, Self::Err>;
970
971 fn remove_my_profile_photo(&self) -> ErasedRequest<'a, RemoveMyProfilePhoto, Self::Err>;
972
973 fn get_managed_bot_token(
974 &self,
975 user_id: UserId,
976 ) -> ErasedRequest<'a, GetManagedBotToken, Self::Err>;
977
978 fn replace_managed_bot_token(
979 &self,
980 user_id: UserId,
981 ) -> ErasedRequest<'a, ReplaceManagedBotToken, Self::Err>;
982
983 fn save_prepared_keyboard_button(
984 &self,
985 user_id: UserId,
986 button: KeyboardButton,
987 ) -> ErasedRequest<'a, SavePreparedKeyboardButton, Self::Err>;
988
989 fn send_live_photo(
990 &self,
991 chat_id: Recipient,
992 live_photo: InputFile,
993 photo: InputFile,
994 ) -> ErasedRequest<'a, SendLivePhoto, Self::Err>;
995
996 fn get_user_personal_chat_messages(
997 &self,
998 user_id: UserId,
999 limit: u8,
1000 ) -> ErasedRequest<'a, GetUserPersonalChatMessages, Self::Err>;
1001
1002 fn answer_guest_query(
1003 &self,
1004 guest_query_id: GuestQueryId,
1005 result: InlineQueryResult,
1006 ) -> ErasedRequest<'a, AnswerGuestQuery, Self::Err>;
1007
1008 fn get_managed_bot_access_settings(
1009 &self,
1010 user_id: UserId,
1011 ) -> ErasedRequest<'a, GetManagedBotAccessSettings, Self::Err>;
1012
1013 fn set_managed_bot_access_settings(
1014 &self,
1015 user_id: UserId,
1016 is_access_restricted: bool,
1017 ) -> ErasedRequest<'a, SetManagedBotAccessSettings, Self::Err>;
1018
1019 fn delete_message_reaction(
1020 &self,
1021 chat_id: Recipient,
1022 message_id: i32,
1023 ) -> ErasedRequest<'a, DeleteMessageReaction, Self::Err>;
1024
1025 fn delete_all_message_reactions(
1026 &self,
1027 chat_id: Recipient,
1028 ) -> ErasedRequest<'a, DeleteAllMessageReactions, Self::Err>;
1029
1030 fn set_chat_menu_button(&self) -> ErasedRequest<'a, SetChatMenuButton, Self::Err>;
1031
1032 fn get_chat_menu_button(&self) -> ErasedRequest<'a, GetChatMenuButton, Self::Err>;
1033
1034 fn set_my_default_administrator_rights(
1035 &self,
1036 ) -> ErasedRequest<'a, SetMyDefaultAdministratorRights, Self::Err>;
1037
1038 fn get_my_default_administrator_rights(
1039 &self,
1040 ) -> ErasedRequest<'a, GetMyDefaultAdministratorRights, Self::Err>;
1041
1042 fn delete_my_commands(&self) -> ErasedRequest<'a, DeleteMyCommands, Self::Err>;
1043
1044 fn answer_inline_query(
1045 &self,
1046 inline_query_id: InlineQueryId,
1047 results: Vec<InlineQueryResult>,
1048 ) -> ErasedRequest<'a, AnswerInlineQuery, Self::Err>;
1049
1050 fn answer_web_app_query(
1051 &self,
1052 web_app_query_id: String,
1053 result: InlineQueryResult,
1054 ) -> ErasedRequest<'a, AnswerWebAppQuery, Self::Err>;
1055
1056 fn save_prepared_inline_message(
1057 &self,
1058 user_id: UserId,
1059 result: InlineQueryResult,
1060 ) -> ErasedRequest<'a, SavePreparedInlineMessage, Self::Err>;
1061
1062 fn edit_message_text(
1063 &self,
1064 chat_id: Recipient,
1065 message_id: MessageId,
1066 text: String,
1067 ) -> ErasedRequest<'a, EditMessageText, Self::Err>;
1068
1069 fn edit_message_text_inline(
1070 &self,
1071 inline_message_id: String,
1072 text: String,
1073 ) -> ErasedRequest<'a, EditMessageTextInline, Self::Err>;
1074
1075 fn edit_message_caption(
1076 &self,
1077 chat_id: Recipient,
1078 message_id: MessageId,
1079 ) -> ErasedRequest<'a, EditMessageCaption, Self::Err>;
1080
1081 fn edit_message_caption_inline(
1082 &self,
1083 inline_message_id: String,
1084 ) -> ErasedRequest<'a, EditMessageCaptionInline, Self::Err>;
1085
1086 fn edit_message_media(
1087 &self,
1088 chat_id: Recipient,
1089 message_id: MessageId,
1090 media: InputMedia,
1091 ) -> ErasedRequest<'a, EditMessageMedia, Self::Err>;
1092
1093 fn edit_message_media_inline(
1094 &self,
1095 inline_message_id: String,
1096 media: InputMedia,
1097 ) -> ErasedRequest<'a, EditMessageMediaInline, Self::Err>;
1098
1099 fn edit_message_reply_markup(
1100 &self,
1101 chat_id: Recipient,
1102 message_id: MessageId,
1103 ) -> ErasedRequest<'a, EditMessageReplyMarkup, Self::Err>;
1104
1105 fn edit_message_reply_markup_inline(
1106 &self,
1107 inline_message_id: String,
1108 ) -> ErasedRequest<'a, EditMessageReplyMarkupInline, Self::Err>;
1109
1110 fn stop_poll(
1111 &self,
1112 chat_id: Recipient,
1113 message_id: MessageId,
1114 ) -> ErasedRequest<'a, StopPoll, Self::Err>;
1115
1116 fn approve_suggested_post(
1117 &self,
1118 chat_id: ChatId,
1119 message_id: MessageId,
1120 ) -> ErasedRequest<'a, ApproveSuggestedPost, Self::Err>;
1121
1122 fn decline_suggested_post(
1123 &self,
1124 chat_id: ChatId,
1125 message_id: MessageId,
1126 ) -> ErasedRequest<'a, DeclineSuggestedPost, Self::Err>;
1127
1128 fn delete_message(
1129 &self,
1130 chat_id: Recipient,
1131 message_id: MessageId,
1132 ) -> ErasedRequest<'a, DeleteMessage, Self::Err>;
1133
1134 fn delete_messages(
1135 &self,
1136 chat_id: Recipient,
1137 message_ids: Vec<MessageId>,
1138 ) -> ErasedRequest<'a, DeleteMessages, Self::Err>;
1139
1140 fn send_sticker(
1141 &self,
1142 chat_id: Recipient,
1143 sticker: InputFile,
1144 ) -> ErasedRequest<'a, SendSticker, Self::Err>;
1145
1146 fn get_sticker_set(&self, name: String) -> ErasedRequest<'a, GetStickerSet, Self::Err>;
1147
1148 fn get_custom_emoji_stickers(
1149 &self,
1150 custom_emoji_ids: Vec<CustomEmojiId>,
1151 ) -> ErasedRequest<'a, GetCustomEmojiStickers, Self::Err>;
1152
1153 fn upload_sticker_file(
1154 &self,
1155 user_id: UserId,
1156 sticker: InputFile,
1157 sticker_format: StickerFormat,
1158 ) -> ErasedRequest<'a, UploadStickerFile, Self::Err>;
1159
1160 fn create_new_sticker_set(
1161 &self,
1162 user_id: UserId,
1163 name: String,
1164 title: String,
1165 stickers: Vec<InputSticker>,
1166 ) -> ErasedRequest<'a, CreateNewStickerSet, Self::Err>;
1167
1168 fn add_sticker_to_set(
1169 &self,
1170 user_id: UserId,
1171 name: String,
1172 sticker: InputSticker,
1173 ) -> ErasedRequest<'a, AddStickerToSet, Self::Err>;
1174
1175 fn set_sticker_position_in_set(
1176 &self,
1177 sticker: String,
1178 position: u32,
1179 ) -> ErasedRequest<'a, SetStickerPositionInSet, Self::Err>;
1180
1181 fn delete_sticker_from_set(
1182 &self,
1183 sticker: String,
1184 ) -> ErasedRequest<'a, DeleteStickerFromSet, Self::Err>;
1185
1186 fn replace_sticker_in_set(
1187 &self,
1188 user_id: UserId,
1189 name: String,
1190 old_sticker: String,
1191 sticker: InputSticker,
1192 ) -> ErasedRequest<'a, ReplaceStickerInSet, Self::Err>;
1193
1194 fn set_sticker_set_thumbnail(
1195 &self,
1196 name: String,
1197 user_id: UserId,
1198 format: StickerFormat,
1199 ) -> ErasedRequest<'a, SetStickerSetThumbnail, Self::Err>;
1200
1201 fn set_custom_emoji_sticker_set_thumbnail(
1202 &self,
1203 name: String,
1204 ) -> ErasedRequest<'a, SetCustomEmojiStickerSetThumbnail, Self::Err>;
1205
1206 fn set_sticker_set_title(
1207 &self,
1208 name: String,
1209 title: String,
1210 ) -> ErasedRequest<'a, SetStickerSetTitle, Self::Err>;
1211
1212 fn delete_sticker_set(&self, name: String) -> ErasedRequest<'a, DeleteStickerSet, Self::Err>;
1213
1214 fn set_sticker_emoji_list(
1215 &self,
1216 sticker: String,
1217 emoji_list: Vec<String>,
1218 ) -> ErasedRequest<'a, SetStickerEmojiList, Self::Err>;
1219
1220 fn set_sticker_keywords(
1221 &self,
1222 sticker: String,
1223 ) -> ErasedRequest<'a, SetStickerKeywords, Self::Err>;
1224
1225 fn set_sticker_mask_position(
1226 &self,
1227 sticker: String,
1228 ) -> ErasedRequest<'a, SetStickerMaskPosition, Self::Err>;
1229
1230 fn get_available_gifts(&self) -> ErasedRequest<'a, GetAvailableGifts, Self::Err>;
1231
1232 fn send_gift(&self, user_id: UserId, gift_id: GiftId)
1233 -> ErasedRequest<'a, SendGift, Self::Err>;
1234
1235 fn send_gift_chat(
1236 &self,
1237 chat_id: Recipient,
1238 gift_id: GiftId,
1239 ) -> ErasedRequest<'a, SendGiftChat, Self::Err>;
1240
1241 fn gift_premium_subscription(
1242 &self,
1243 user_id: UserId,
1244 month_count: u8,
1245 star_count: u32,
1246 ) -> ErasedRequest<'a, GiftPremiumSubscription, Self::Err>;
1247
1248 fn verify_user(&self, user_id: UserId) -> ErasedRequest<'a, VerifyUser, Self::Err>;
1249
1250 fn verify_chat(&self, chat_id: Recipient) -> ErasedRequest<'a, VerifyChat, Self::Err>;
1251
1252 fn remove_user_verification(
1253 &self,
1254 user_id: UserId,
1255 ) -> ErasedRequest<'a, RemoveUserVerification, Self::Err>;
1256
1257 fn remove_chat_verification(
1258 &self,
1259 chat_id: Recipient,
1260 ) -> ErasedRequest<'a, RemoveChatVerification, Self::Err>;
1261
1262 fn read_business_message(
1263 &self,
1264 business_connection_id: BusinessConnectionId,
1265 chat_id: ChatId,
1266 message_id: MessageId,
1267 ) -> ErasedRequest<'a, ReadBusinessMessage, Self::Err>;
1268
1269 fn delete_business_messages(
1270 &self,
1271 business_connection_id: BusinessConnectionId,
1272 message_ids: Vec<MessageId>,
1273 ) -> ErasedRequest<'a, DeleteBusinessMessages, Self::Err>;
1274
1275 fn set_business_account_name(
1276 &self,
1277 business_connection_id: BusinessConnectionId,
1278 first_name: String,
1279 ) -> ErasedRequest<'a, SetBusinessAccountName, Self::Err>;
1280
1281 fn set_business_account_username(
1282 &self,
1283 business_connection_id: BusinessConnectionId,
1284 ) -> ErasedRequest<'a, SetBusinessAccountUsername, Self::Err>;
1285
1286 fn set_business_account_profile_photo(
1287 &self,
1288 business_connection_id: BusinessConnectionId,
1289 photo: InputProfilePhoto,
1290 ) -> ErasedRequest<'a, SetBusinessAccountProfilePhoto, Self::Err>;
1291
1292 fn remove_business_account_profile_photo(
1293 &self,
1294 business_connection_id: BusinessConnectionId,
1295 ) -> ErasedRequest<'a, RemoveBusinessAccountProfilePhoto, Self::Err>;
1296
1297 fn set_business_account_gift_settings(
1298 &self,
1299 business_connection_id: BusinessConnectionId,
1300 show_gift_button: bool,
1301 accepted_gift_types: AcceptedGiftTypes,
1302 ) -> ErasedRequest<'a, SetBusinessAccountGiftSettings, Self::Err>;
1303
1304 fn get_business_account_star_balance(
1305 &self,
1306 business_connection_id: BusinessConnectionId,
1307 ) -> ErasedRequest<'a, GetBusinessAccountStarBalance, Self::Err>;
1308
1309 fn transfer_business_account_stars(
1310 &self,
1311 business_connection_id: BusinessConnectionId,
1312 star_count: u32,
1313 ) -> ErasedRequest<'a, TransferBusinessAccountStars, Self::Err>;
1314
1315 fn get_business_account_gifts(
1316 &self,
1317 business_connection_id: BusinessConnectionId,
1318 ) -> ErasedRequest<'a, GetBusinessAccountGifts, Self::Err>;
1319
1320 fn convert_gift_to_stars(
1321 &self,
1322 business_connection_id: BusinessConnectionId,
1323 owned_gift_id: OwnedGiftId,
1324 ) -> ErasedRequest<'a, ConvertGiftToStars, Self::Err>;
1325
1326 fn upgrade_gift(
1327 &self,
1328 business_connection_id: BusinessConnectionId,
1329 owned_gift_id: OwnedGiftId,
1330 ) -> ErasedRequest<'a, UpgradeGift, Self::Err>;
1331
1332 fn transfer_gift(
1333 &self,
1334 business_connection_id: BusinessConnectionId,
1335 owned_gift_id: OwnedGiftId,
1336 new_owner_chat_id: ChatId,
1337 ) -> ErasedRequest<'a, TransferGift, Self::Err>;
1338
1339 fn get_user_gifts(&self, user_id: UserId) -> ErasedRequest<'a, GetUserGifts, Self::Err>;
1340
1341 fn get_chat_gifts(&self, chat_id: Recipient) -> ErasedRequest<'a, GetChatGifts, Self::Err>;
1342
1343 fn repost_story(
1344 &self,
1345 business_connection_id: BusinessConnectionId,
1346 from_chat_id: ChatId,
1347 from_story_id: StoryId,
1348 active_period: Seconds,
1349 ) -> ErasedRequest<'a, RepostStory, Self::Err>;
1350
1351 fn post_story(
1352 &self,
1353 business_connection_id: BusinessConnectionId,
1354 content: InputStoryContent,
1355 active_period: Seconds,
1356 ) -> ErasedRequest<'a, PostStory, Self::Err>;
1357
1358 fn edit_story(
1359 &self,
1360 business_connection_id: BusinessConnectionId,
1361 story_id: StoryId,
1362 content: InputStoryContent,
1363 ) -> ErasedRequest<'a, EditStory, Self::Err>;
1364
1365 fn delete_story(
1366 &self,
1367 business_connection_id: BusinessConnectionId,
1368 story_id: StoryId,
1369 ) -> ErasedRequest<'a, DeleteStory, Self::Err>;
1370
1371 fn set_business_account_bio(
1372 &self,
1373 business_connection_id: BusinessConnectionId,
1374 ) -> ErasedRequest<'a, SetBusinessAccountBio, Self::Err>;
1375
1376 fn send_invoice(
1377 &self,
1378 chat_id: Recipient,
1379 title: String,
1380 description: String,
1381 payload: String,
1382 currency: String,
1383 prices: Vec<LabeledPrice>,
1384 ) -> ErasedRequest<'a, SendInvoice, Self::Err>;
1385
1386 fn create_invoice_link(
1387 &self,
1388 title: String,
1389 description: String,
1390 payload: String,
1391 currency: String,
1392 prices: Vec<LabeledPrice>,
1393 ) -> ErasedRequest<'a, CreateInvoiceLink, Self::Err>;
1394
1395 fn answer_shipping_query(
1396 &self,
1397 shipping_query_id: ShippingQueryId,
1398 ok: bool,
1399 ) -> ErasedRequest<'a, AnswerShippingQuery, Self::Err>;
1400
1401 fn answer_pre_checkout_query(
1402 &self,
1403 pre_checkout_query_id: PreCheckoutQueryId,
1404 ok: bool,
1405 ) -> ErasedRequest<'a, AnswerPreCheckoutQuery, Self::Err>;
1406
1407 fn get_my_star_balance(&self) -> ErasedRequest<'a, GetMyStarBalance, Self::Err>;
1408
1409 fn get_star_transactions(&self) -> ErasedRequest<'a, GetStarTransactions, Self::Err>;
1410
1411 fn refund_star_payment(
1412 &self,
1413 user_id: UserId,
1414 telegram_payment_charge_id: TelegramTransactionId,
1415 ) -> ErasedRequest<'a, RefundStarPayment, Self::Err>;
1416
1417 fn edit_user_star_subscription(
1418 &self,
1419 user_id: UserId,
1420 telegram_payment_charge_id: TelegramTransactionId,
1421 is_canceled: bool,
1422 ) -> ErasedRequest<'a, EditUserStarSubscription, Self::Err>;
1423
1424 fn set_passport_data_errors(
1425 &self,
1426 user_id: UserId,
1427 errors: Vec<PassportElementError>,
1428 ) -> ErasedRequest<'a, SetPassportDataErrors, Self::Err>;
1429
1430 fn send_game(
1431 &self,
1432 chat_id: ChatId,
1433 game_short_name: String,
1434 ) -> ErasedRequest<'a, SendGame, Self::Err>;
1435
1436 fn set_game_score(
1437 &self,
1438 user_id: UserId,
1439 score: u64,
1440 chat_id: u32,
1441 message_id: MessageId,
1442 ) -> ErasedRequest<'a, SetGameScore, Self::Err>;
1443
1444 fn set_game_score_inline(
1445 &self,
1446 user_id: UserId,
1447 score: u64,
1448 inline_message_id: String,
1449 ) -> ErasedRequest<'a, SetGameScoreInline, Self::Err>;
1450
1451 fn get_game_high_scores(
1452 &self,
1453 user_id: UserId,
1454 target: TargetMessage,
1455 ) -> ErasedRequest<'a, GetGameHighScores, Self::Err>;
1456}
1457
1458impl<'a, B> ErasableRequester<'a> for B
1459where
1460 B: Requester + 'a,
1461{
1462 type Err = B::Err;
1463
1464 fn get_updates(&self) -> ErasedRequest<'a, GetUpdates, Self::Err> {
1465 Requester::get_updates(self).erase()
1466 }
1467
1468 fn set_webhook(&self, url: Url) -> ErasedRequest<'a, SetWebhook, Self::Err> {
1469 Requester::set_webhook(self, url).erase()
1470 }
1471
1472 fn delete_webhook(&self) -> ErasedRequest<'a, DeleteWebhook, Self::Err> {
1473 Requester::delete_webhook(self).erase()
1474 }
1475
1476 fn get_webhook_info(&self) -> ErasedRequest<'a, GetWebhookInfo, Self::Err> {
1477 Requester::get_webhook_info(self).erase()
1478 }
1479
1480 fn get_me(&self) -> ErasedRequest<'a, GetMe, Self::Err> {
1481 Requester::get_me(self).erase()
1482 }
1483
1484 fn log_out(&self) -> ErasedRequest<'a, LogOut, Self::Err> {
1485 Requester::log_out(self).erase()
1486 }
1487
1488 fn close(&self) -> ErasedRequest<'a, Close, Self::Err> {
1489 Requester::close(self).erase()
1490 }
1491
1492 fn send_message(
1493 &self,
1494 chat_id: Recipient,
1495 text: String,
1496 ) -> ErasedRequest<'a, SendMessage, Self::Err> {
1497 Requester::send_message(self, chat_id, text).erase()
1498 }
1499
1500 fn send_message_draft(
1501 &self,
1502 chat_id: Recipient,
1503 draft_id: DraftId,
1504 text: String,
1505 ) -> ErasedRequest<'a, SendMessageDraft, Self::Err> {
1506 Requester::send_message_draft(self, chat_id, draft_id, text).erase()
1507 }
1508
1509 fn send_rich_message(
1510 &self,
1511 chat_id: Recipient,
1512 rich_message: InputRichMessage,
1513 ) -> ErasedRequest<'a, SendRichMessage, Self::Err> {
1514 Requester::send_rich_message(self, chat_id, rich_message).erase()
1515 }
1516
1517 fn send_rich_message_draft(
1518 &self,
1519 chat_id: Recipient,
1520 draft_id: DraftId,
1521 rich_message: InputRichMessage,
1522 ) -> ErasedRequest<'a, SendRichMessageDraft, Self::Err> {
1523 Requester::send_rich_message_draft(self, chat_id, draft_id, rich_message).erase()
1524 }
1525
1526 fn forward_message(
1527 &self,
1528 chat_id: Recipient,
1529 from_chat_id: Recipient,
1530 message_id: MessageId,
1531 ) -> ErasedRequest<'a, ForwardMessage, Self::Err> {
1532 Requester::forward_message(self, chat_id, from_chat_id, message_id).erase()
1533 }
1534
1535 fn forward_messages(
1536 &self,
1537 chat_id: Recipient,
1538 from_chat_id: Recipient,
1539 message_ids: Vec<MessageId>,
1540 ) -> ErasedRequest<'a, ForwardMessages, Self::Err> {
1541 Requester::forward_messages(self, chat_id, from_chat_id, message_ids).erase()
1542 }
1543
1544 fn copy_message(
1545 &self,
1546 chat_id: Recipient,
1547 from_chat_id: Recipient,
1548 message_id: MessageId,
1549 ) -> ErasedRequest<'a, CopyMessage, Self::Err> {
1550 Requester::copy_message(self, chat_id, from_chat_id, message_id).erase()
1551 }
1552
1553 fn copy_messages(
1554 &self,
1555 chat_id: Recipient,
1556 from_chat_id: Recipient,
1557 message_ids: Vec<MessageId>,
1558 ) -> ErasedRequest<'a, CopyMessages, Self::Err> {
1559 Requester::copy_messages(self, chat_id, from_chat_id, message_ids).erase()
1560 }
1561
1562 fn send_photo(
1563 &self,
1564 chat_id: Recipient,
1565 photo: InputFile,
1566 ) -> ErasedRequest<'a, SendPhoto, Self::Err> {
1567 Requester::send_photo(self, chat_id, photo).erase()
1568 }
1569
1570 fn send_audio(
1571 &self,
1572 chat_id: Recipient,
1573 audio: InputFile,
1574 ) -> ErasedRequest<'a, SendAudio, Self::Err> {
1575 Requester::send_audio(self, chat_id, audio).erase()
1576 }
1577
1578 fn send_document(
1579 &self,
1580 chat_id: Recipient,
1581 document: InputFile,
1582 ) -> ErasedRequest<'a, SendDocument, Self::Err> {
1583 Requester::send_document(self, chat_id, document).erase()
1584 }
1585
1586 fn send_video(
1587 &self,
1588 chat_id: Recipient,
1589 video: InputFile,
1590 ) -> ErasedRequest<'a, SendVideo, Self::Err> {
1591 Requester::send_video(self, chat_id, video).erase()
1592 }
1593
1594 fn send_animation(
1595 &self,
1596 chat_id: Recipient,
1597 animation: InputFile,
1598 ) -> ErasedRequest<'a, SendAnimation, Self::Err> {
1599 Requester::send_animation(self, chat_id, animation).erase()
1600 }
1601
1602 fn send_voice(
1603 &self,
1604 chat_id: Recipient,
1605 voice: InputFile,
1606 ) -> ErasedRequest<'a, SendVoice, Self::Err> {
1607 Requester::send_voice(self, chat_id, voice).erase()
1608 }
1609
1610 fn send_video_note(
1611 &self,
1612 chat_id: Recipient,
1613 video_note: InputFile,
1614 ) -> ErasedRequest<'a, SendVideoNote, Self::Err> {
1615 Requester::send_video_note(self, chat_id, video_note).erase()
1616 }
1617
1618 fn send_paid_media(
1619 &self,
1620 chat_id: Recipient,
1621 star_count: u32,
1622 media: Vec<InputPaidMedia>,
1623 ) -> ErasedRequest<'a, SendPaidMedia, Self::Err> {
1624 Requester::send_paid_media(self, chat_id, star_count, media).erase()
1625 }
1626
1627 fn send_media_group(
1628 &self,
1629 chat_id: Recipient,
1630 media: Vec<InputMedia>,
1631 ) -> ErasedRequest<'a, SendMediaGroup, Self::Err> {
1632 Requester::send_media_group(self, chat_id, media).erase()
1633 }
1634
1635 fn send_location(
1636 &self,
1637 chat_id: Recipient,
1638 latitude: f64,
1639 longitude: f64,
1640 ) -> ErasedRequest<'a, SendLocation, Self::Err> {
1641 Requester::send_location(self, chat_id, latitude, longitude).erase()
1642 }
1643
1644 fn edit_message_live_location(
1645 &self,
1646 chat_id: Recipient,
1647 message_id: MessageId,
1648 latitude: f64,
1649 longitude: f64,
1650 ) -> ErasedRequest<'a, EditMessageLiveLocation, Self::Err> {
1651 Requester::edit_message_live_location(self, chat_id, message_id, latitude, longitude)
1652 .erase()
1653 }
1654
1655 fn edit_message_live_location_inline(
1656 &self,
1657 inline_message_id: String,
1658 latitude: f64,
1659 longitude: f64,
1660 ) -> ErasedRequest<'a, EditMessageLiveLocationInline, Self::Err> {
1661 Requester::edit_message_live_location_inline(self, inline_message_id, latitude, longitude)
1662 .erase()
1663 }
1664
1665 fn stop_message_live_location(
1666 &self,
1667 chat_id: Recipient,
1668 message_id: MessageId,
1669 ) -> ErasedRequest<'a, StopMessageLiveLocation, Self::Err> {
1670 Requester::stop_message_live_location(self, chat_id, message_id).erase()
1671 }
1672
1673 fn stop_message_live_location_inline(
1674 &self,
1675 inline_message_id: String,
1676 ) -> ErasedRequest<'a, StopMessageLiveLocationInline, Self::Err> {
1677 Requester::stop_message_live_location_inline(self, inline_message_id).erase()
1678 }
1679
1680 fn edit_message_checklist(
1681 &self,
1682 business_connection_id: BusinessConnectionId,
1683 chat_id: ChatId,
1684 message_id: MessageId,
1685 checklist: InputChecklist,
1686 ) -> ErasedRequest<'a, EditMessageChecklist, Self::Err> {
1687 Requester::edit_message_checklist(
1688 self,
1689 business_connection_id,
1690 chat_id,
1691 message_id,
1692 checklist,
1693 )
1694 .erase()
1695 }
1696
1697 fn send_venue(
1698 &self,
1699 chat_id: Recipient,
1700 latitude: f64,
1701 longitude: f64,
1702 title: String,
1703 address: String,
1704 ) -> ErasedRequest<'a, SendVenue, Self::Err> {
1705 Requester::send_venue(self, chat_id, latitude, longitude, title, address).erase()
1706 }
1707
1708 fn send_contact(
1709 &self,
1710 chat_id: Recipient,
1711 phone_number: String,
1712 first_name: String,
1713 ) -> ErasedRequest<'a, SendContact, Self::Err> {
1714 Requester::send_contact(self, chat_id, phone_number, first_name).erase()
1715 }
1716
1717 fn send_poll(
1718 &self,
1719 chat_id: Recipient,
1720 question: String,
1721 options: Vec<InputPollOption>,
1722 ) -> ErasedRequest<'a, SendPoll, Self::Err> {
1723 Requester::send_poll(self, chat_id, question, options).erase()
1724 }
1725
1726 fn send_checklist(
1727 &self,
1728 business_connection_id: BusinessConnectionId,
1729 chat_id: ChatId,
1730 checklist: InputChecklist,
1731 ) -> ErasedRequest<'a, SendChecklist, Self::Err> {
1732 Requester::send_checklist(self, business_connection_id, chat_id, checklist).erase()
1733 }
1734
1735 fn send_dice(&self, chat_id: Recipient) -> ErasedRequest<'a, SendDice, Self::Err> {
1736 Requester::send_dice(self, chat_id).erase()
1737 }
1738
1739 fn send_chat_action(
1740 &self,
1741 chat_id: Recipient,
1742 action: ChatAction,
1743 ) -> ErasedRequest<'a, SendChatAction, Self::Err> {
1744 Requester::send_chat_action(self, chat_id, action).erase()
1745 }
1746
1747 fn set_message_reaction(
1748 &self,
1749 chat_id: Recipient,
1750 message_id: MessageId,
1751 ) -> ErasedRequest<'a, SetMessageReaction, Self::Err> {
1752 Requester::set_message_reaction(self, chat_id, message_id).erase()
1753 }
1754
1755 fn get_user_profile_photos(
1756 &self,
1757 user_id: UserId,
1758 ) -> ErasedRequest<'a, GetUserProfilePhotos, Self::Err> {
1759 Requester::get_user_profile_photos(self, user_id).erase()
1760 }
1761
1762 fn get_user_profile_audios(
1763 &self,
1764 user_id: UserId,
1765 ) -> ErasedRequest<'a, GetUserProfileAudios, Self::Err> {
1766 Requester::get_user_profile_audios(self, user_id).erase()
1767 }
1768
1769 fn set_user_emoji_status(
1770 &self,
1771 user_id: UserId,
1772 ) -> ErasedRequest<'a, SetUserEmojiStatus, Self::Err> {
1773 Requester::set_user_emoji_status(self, user_id).erase()
1774 }
1775
1776 fn get_file(&self, file_id: FileId) -> ErasedRequest<'a, GetFile, Self::Err> {
1777 Requester::get_file(self, file_id).erase()
1778 }
1779
1780 fn ban_chat_member(
1781 &self,
1782 chat_id: Recipient,
1783 user_id: UserId,
1784 ) -> ErasedRequest<'a, BanChatMember, Self::Err> {
1785 Requester::ban_chat_member(self, chat_id, user_id).erase()
1786 }
1787
1788 fn kick_chat_member(
1789 &self,
1790 chat_id: Recipient,
1791 user_id: UserId,
1792 ) -> ErasedRequest<'a, KickChatMember, Self::Err> {
1793 Requester::kick_chat_member(self, chat_id, user_id).erase()
1794 }
1795
1796 fn unban_chat_member(
1797 &self,
1798 chat_id: Recipient,
1799 user_id: UserId,
1800 ) -> ErasedRequest<'a, UnbanChatMember, Self::Err> {
1801 Requester::unban_chat_member(self, chat_id, user_id).erase()
1802 }
1803
1804 fn restrict_chat_member(
1805 &self,
1806 chat_id: Recipient,
1807 user_id: UserId,
1808 permissions: ChatPermissions,
1809 ) -> ErasedRequest<'a, RestrictChatMember, Self::Err> {
1810 Requester::restrict_chat_member(self, chat_id, user_id, permissions).erase()
1811 }
1812
1813 fn promote_chat_member(
1814 &self,
1815 chat_id: Recipient,
1816 user_id: UserId,
1817 ) -> ErasedRequest<'a, PromoteChatMember, Self::Err> {
1818 Requester::promote_chat_member(self, chat_id, user_id).erase()
1819 }
1820
1821 fn set_chat_administrator_custom_title(
1822 &self,
1823 chat_id: Recipient,
1824 user_id: UserId,
1825 custom_title: String,
1826 ) -> ErasedRequest<'a, SetChatAdministratorCustomTitle, Self::Err> {
1827 Requester::set_chat_administrator_custom_title(self, chat_id, user_id, custom_title).erase()
1828 }
1829
1830 fn set_chat_member_tag(
1831 &self,
1832 chat_id: Recipient,
1833 user_id: UserId,
1834 ) -> ErasedRequest<'a, SetChatMemberTag, Self::Err> {
1835 Requester::set_chat_member_tag(self, chat_id, user_id).erase()
1836 }
1837
1838 fn ban_chat_sender_chat(
1839 &self,
1840 chat_id: Recipient,
1841 sender_chat_id: ChatId,
1842 ) -> ErasedRequest<'a, BanChatSenderChat, Self::Err> {
1843 Requester::ban_chat_sender_chat(self, chat_id, sender_chat_id).erase()
1844 }
1845
1846 fn unban_chat_sender_chat(
1847 &self,
1848 chat_id: Recipient,
1849 sender_chat_id: ChatId,
1850 ) -> ErasedRequest<'a, UnbanChatSenderChat, Self::Err> {
1851 Requester::unban_chat_sender_chat(self, chat_id, sender_chat_id).erase()
1852 }
1853
1854 fn set_chat_permissions(
1855 &self,
1856 chat_id: Recipient,
1857 permissions: ChatPermissions,
1858 ) -> ErasedRequest<'a, SetChatPermissions, Self::Err> {
1859 Requester::set_chat_permissions(self, chat_id, permissions).erase()
1860 }
1861
1862 fn export_chat_invite_link(
1863 &self,
1864 chat_id: Recipient,
1865 ) -> ErasedRequest<'a, ExportChatInviteLink, Self::Err> {
1866 Requester::export_chat_invite_link(self, chat_id).erase()
1867 }
1868
1869 fn create_chat_invite_link(
1870 &self,
1871 chat_id: Recipient,
1872 ) -> ErasedRequest<'a, CreateChatInviteLink, Self::Err> {
1873 Requester::create_chat_invite_link(self, chat_id).erase()
1874 }
1875
1876 fn edit_chat_invite_link(
1877 &self,
1878 chat_id: Recipient,
1879 invite_link: String,
1880 ) -> ErasedRequest<'a, EditChatInviteLink, Self::Err> {
1881 Requester::edit_chat_invite_link(self, chat_id, invite_link).erase()
1882 }
1883
1884 fn create_chat_subscription_invite_link(
1885 &self,
1886 chat_id: Recipient,
1887 subscription_period: Seconds,
1888 subscription_price: u32,
1889 ) -> ErasedRequest<'a, CreateChatSubscriptionInviteLink, Self::Err> {
1890 Requester::create_chat_subscription_invite_link(
1891 self,
1892 chat_id,
1893 subscription_period,
1894 subscription_price,
1895 )
1896 .erase()
1897 }
1898
1899 fn edit_chat_subscription_invite_link(
1900 &self,
1901 chat_id: Recipient,
1902 invite_link: String,
1903 ) -> ErasedRequest<'a, EditChatSubscriptionInviteLink, Self::Err> {
1904 Requester::edit_chat_subscription_invite_link(self, chat_id, invite_link).erase()
1905 }
1906
1907 fn revoke_chat_invite_link(
1908 &self,
1909 chat_id: Recipient,
1910 invite_link: String,
1911 ) -> ErasedRequest<'a, RevokeChatInviteLink, Self::Err> {
1912 Requester::revoke_chat_invite_link(self, chat_id, invite_link).erase()
1913 }
1914
1915 fn approve_chat_join_request(
1917 &self,
1918 chat_id: Recipient,
1919 user_id: UserId,
1920 ) -> ErasedRequest<'a, ApproveChatJoinRequest, Self::Err> {
1921 Requester::approve_chat_join_request(self, chat_id, user_id).erase()
1922 }
1923
1924 fn decline_chat_join_request(
1926 &self,
1927 chat_id: Recipient,
1928 user_id: UserId,
1929 ) -> ErasedRequest<'a, DeclineChatJoinRequest, Self::Err> {
1930 Requester::decline_chat_join_request(self, chat_id, user_id).erase()
1931 }
1932
1933 fn answer_chat_join_request_query(
1934 &self,
1935 chat_join_request_query_id: String,
1936 result: String,
1937 ) -> ErasedRequest<'a, AnswerChatJoinRequestQuery, Self::Err> {
1938 Requester::answer_chat_join_request_query(self, chat_join_request_query_id, result).erase()
1939 }
1940
1941 fn send_chat_join_request_web_app(
1942 &self,
1943 chat_join_request_query_id: String,
1944 web_app_url: String,
1945 ) -> ErasedRequest<'a, SendChatJoinRequestWebApp, Self::Err> {
1946 Requester::send_chat_join_request_web_app(self, chat_join_request_query_id, web_app_url)
1947 .erase()
1948 }
1949
1950 fn edit_ephemeral_message_text(
1951 &self,
1952 chat_id: Recipient,
1953 receiver_user_id: UserId,
1954 ephemeral_message_id: MessageId,
1955 ) -> ErasedRequest<'a, EditEphemeralMessageText, Self::Err> {
1956 Requester::edit_ephemeral_message_text(
1957 self,
1958 chat_id,
1959 receiver_user_id,
1960 ephemeral_message_id,
1961 )
1962 .erase()
1963 }
1964
1965 fn edit_ephemeral_message_media(
1966 &self,
1967 chat_id: Recipient,
1968 receiver_user_id: UserId,
1969 ephemeral_message_id: MessageId,
1970 media: InputMedia,
1971 ) -> ErasedRequest<'a, EditEphemeralMessageMedia, Self::Err> {
1972 Requester::edit_ephemeral_message_media(
1973 self,
1974 chat_id,
1975 receiver_user_id,
1976 ephemeral_message_id,
1977 media,
1978 )
1979 .erase()
1980 }
1981
1982 fn edit_ephemeral_message_caption(
1983 &self,
1984 chat_id: Recipient,
1985 receiver_user_id: UserId,
1986 ephemeral_message_id: MessageId,
1987 ) -> ErasedRequest<'a, EditEphemeralMessageCaption, Self::Err> {
1988 Requester::edit_ephemeral_message_caption(
1989 self,
1990 chat_id,
1991 receiver_user_id,
1992 ephemeral_message_id,
1993 )
1994 .erase()
1995 }
1996
1997 fn edit_ephemeral_message_reply_markup(
1998 &self,
1999 chat_id: Recipient,
2000 receiver_user_id: UserId,
2001 ephemeral_message_id: MessageId,
2002 ) -> ErasedRequest<'a, EditEphemeralMessageReplyMarkup, Self::Err> {
2003 Requester::edit_ephemeral_message_reply_markup(
2004 self,
2005 chat_id,
2006 receiver_user_id,
2007 ephemeral_message_id,
2008 )
2009 .erase()
2010 }
2011
2012 fn delete_ephemeral_message(
2013 &self,
2014 chat_id: Recipient,
2015 receiver_user_id: UserId,
2016 ephemeral_message_id: MessageId,
2017 ) -> ErasedRequest<'a, DeleteEphemeralMessage, Self::Err> {
2018 Requester::delete_ephemeral_message(self, chat_id, receiver_user_id, ephemeral_message_id)
2019 .erase()
2020 }
2021
2022 fn set_chat_photo(
2023 &self,
2024 chat_id: Recipient,
2025 photo: InputFile,
2026 ) -> ErasedRequest<'a, SetChatPhoto, Self::Err> {
2027 Requester::set_chat_photo(self, chat_id, photo).erase()
2028 }
2029
2030 fn delete_chat_photo(
2031 &self,
2032 chat_id: Recipient,
2033 ) -> ErasedRequest<'a, DeleteChatPhoto, Self::Err> {
2034 Requester::delete_chat_photo(self, chat_id).erase()
2035 }
2036
2037 fn set_chat_title(
2038 &self,
2039 chat_id: Recipient,
2040 title: String,
2041 ) -> ErasedRequest<'a, SetChatTitle, Self::Err> {
2042 Requester::set_chat_title(self, chat_id, title).erase()
2043 }
2044
2045 fn set_chat_description(
2046 &self,
2047 chat_id: Recipient,
2048 ) -> ErasedRequest<'a, SetChatDescription, Self::Err> {
2049 Requester::set_chat_description(self, chat_id).erase()
2050 }
2051
2052 fn pin_chat_message(
2053 &self,
2054 chat_id: Recipient,
2055 message_id: MessageId,
2056 ) -> ErasedRequest<'a, PinChatMessage, Self::Err> {
2057 Requester::pin_chat_message(self, chat_id, message_id).erase()
2058 }
2059
2060 fn unpin_chat_message(
2061 &self,
2062 chat_id: Recipient,
2063 ) -> ErasedRequest<'a, UnpinChatMessage, Self::Err> {
2064 Requester::unpin_chat_message(self, chat_id).erase()
2065 }
2066
2067 fn unpin_all_chat_messages(
2068 &self,
2069 chat_id: Recipient,
2070 ) -> ErasedRequest<'a, UnpinAllChatMessages, Self::Err> {
2071 Requester::unpin_all_chat_messages(self, chat_id).erase()
2072 }
2073
2074 fn leave_chat(&self, chat_id: Recipient) -> ErasedRequest<'a, LeaveChat, Self::Err> {
2075 Requester::leave_chat(self, chat_id).erase()
2076 }
2077
2078 fn get_chat(&self, chat_id: Recipient) -> ErasedRequest<'a, GetChat, Self::Err> {
2079 Requester::get_chat(self, chat_id).erase()
2080 }
2081
2082 fn get_chat_administrators(
2083 &self,
2084 chat_id: Recipient,
2085 ) -> ErasedRequest<'a, GetChatAdministrators, Self::Err> {
2086 Requester::get_chat_administrators(self, chat_id).erase()
2087 }
2088
2089 fn get_chat_member_count(
2090 &self,
2091 chat_id: Recipient,
2092 ) -> ErasedRequest<'a, GetChatMemberCount, Self::Err> {
2093 Requester::get_chat_member_count(self, chat_id).erase()
2094 }
2095
2096 fn get_chat_members_count(
2097 &self,
2098 chat_id: Recipient,
2099 ) -> ErasedRequest<'a, GetChatMembersCount, Self::Err> {
2100 Requester::get_chat_members_count(self, chat_id).erase()
2101 }
2102
2103 fn get_chat_member(
2104 &self,
2105 chat_id: Recipient,
2106 user_id: UserId,
2107 ) -> ErasedRequest<'a, GetChatMember, Self::Err> {
2108 Requester::get_chat_member(self, chat_id, user_id).erase()
2109 }
2110
2111 fn set_chat_sticker_set(
2112 &self,
2113 chat_id: Recipient,
2114 sticker_set_name: String,
2115 ) -> ErasedRequest<'a, SetChatStickerSet, Self::Err> {
2116 Requester::set_chat_sticker_set(self, chat_id, sticker_set_name).erase()
2117 }
2118
2119 fn delete_chat_sticker_set(
2120 &self,
2121 chat_id: Recipient,
2122 ) -> ErasedRequest<'a, DeleteChatStickerSet, Self::Err> {
2123 Requester::delete_chat_sticker_set(self, chat_id).erase()
2124 }
2125
2126 fn get_forum_topic_icon_stickers(
2127 &self,
2128 ) -> ErasedRequest<'a, GetForumTopicIconStickers, Self::Err> {
2129 Requester::get_forum_topic_icon_stickers(self).erase()
2130 }
2131
2132 fn create_forum_topic(
2133 &self,
2134 chat_id: Recipient,
2135 name: String,
2136 ) -> ErasedRequest<'a, CreateForumTopic, Self::Err> {
2137 Requester::create_forum_topic(self, chat_id, name).erase()
2138 }
2139
2140 fn edit_forum_topic(
2141 &self,
2142 chat_id: Recipient,
2143 message_thread_id: ThreadId,
2144 ) -> ErasedRequest<'a, EditForumTopic, Self::Err> {
2145 Requester::edit_forum_topic(self, chat_id, message_thread_id).erase()
2146 }
2147
2148 fn close_forum_topic(
2149 &self,
2150 chat_id: Recipient,
2151 message_thread_id: ThreadId,
2152 ) -> ErasedRequest<'a, CloseForumTopic, Self::Err> {
2153 Requester::close_forum_topic(self, chat_id, message_thread_id).erase()
2154 }
2155
2156 fn reopen_forum_topic(
2157 &self,
2158 chat_id: Recipient,
2159 message_thread_id: ThreadId,
2160 ) -> ErasedRequest<'a, ReopenForumTopic, Self::Err> {
2161 Requester::reopen_forum_topic(self, chat_id, message_thread_id).erase()
2162 }
2163
2164 fn delete_forum_topic(
2165 &self,
2166 chat_id: Recipient,
2167 message_thread_id: ThreadId,
2168 ) -> ErasedRequest<'a, DeleteForumTopic, Self::Err> {
2169 Requester::delete_forum_topic(self, chat_id, message_thread_id).erase()
2170 }
2171
2172 fn unpin_all_forum_topic_messages(
2173 &self,
2174 chat_id: Recipient,
2175 message_thread_id: ThreadId,
2176 ) -> ErasedRequest<'a, UnpinAllForumTopicMessages, Self::Err> {
2177 Requester::unpin_all_forum_topic_messages(self, chat_id, message_thread_id).erase()
2178 }
2179
2180 fn edit_general_forum_topic(
2181 &self,
2182 chat_id: Recipient,
2183 name: String,
2184 ) -> ErasedRequest<'a, EditGeneralForumTopic, Self::Err> {
2185 Requester::edit_general_forum_topic(self, chat_id, name).erase()
2186 }
2187
2188 fn close_general_forum_topic(
2189 &self,
2190 chat_id: Recipient,
2191 ) -> ErasedRequest<'a, CloseGeneralForumTopic, Self::Err> {
2192 Requester::close_general_forum_topic(self, chat_id).erase()
2193 }
2194
2195 fn reopen_general_forum_topic(
2196 &self,
2197 chat_id: Recipient,
2198 ) -> ErasedRequest<'a, ReopenGeneralForumTopic, Self::Err> {
2199 Requester::reopen_general_forum_topic(self, chat_id).erase()
2200 }
2201
2202 fn hide_general_forum_topic(
2203 &self,
2204 chat_id: Recipient,
2205 ) -> ErasedRequest<'a, HideGeneralForumTopic, Self::Err> {
2206 Requester::hide_general_forum_topic(self, chat_id).erase()
2207 }
2208
2209 fn unhide_general_forum_topic(
2210 &self,
2211 chat_id: Recipient,
2212 ) -> ErasedRequest<'a, UnhideGeneralForumTopic, Self::Err> {
2213 Requester::unhide_general_forum_topic(self, chat_id).erase()
2214 }
2215
2216 fn unpin_all_general_forum_topic_messages(
2217 &self,
2218 chat_id: Recipient,
2219 ) -> ErasedRequest<'a, UnpinAllGeneralForumTopicMessages, Self::Err> {
2220 Requester::unpin_all_general_forum_topic_messages(self, chat_id).erase()
2221 }
2222
2223 fn answer_callback_query(
2224 &self,
2225 callback_query_id: CallbackQueryId,
2226 ) -> ErasedRequest<'a, AnswerCallbackQuery, Self::Err> {
2227 Requester::answer_callback_query(self, callback_query_id).erase()
2228 }
2229
2230 fn get_user_chat_boosts(
2231 &self,
2232 chat_id: Recipient,
2233 user_id: UserId,
2234 ) -> ErasedRequest<'a, GetUserChatBoosts, Self::Err> {
2235 Requester::get_user_chat_boosts(self, chat_id, user_id).erase()
2236 }
2237
2238 fn set_my_commands(
2239 &self,
2240 commands: Vec<BotCommand>,
2241 ) -> ErasedRequest<'a, SetMyCommands, Self::Err> {
2242 Requester::set_my_commands(self, commands).erase()
2243 }
2244
2245 fn get_business_connection(
2246 &self,
2247 business_connection_id: BusinessConnectionId,
2248 ) -> ErasedRequest<'a, GetBusinessConnection, Self::Err> {
2249 Requester::get_business_connection(self, business_connection_id).erase()
2250 }
2251
2252 fn get_my_commands(&self) -> ErasedRequest<'a, GetMyCommands, Self::Err> {
2253 Requester::get_my_commands(self).erase()
2254 }
2255
2256 fn set_my_name(&self) -> ErasedRequest<'a, SetMyName, Self::Err> {
2257 Requester::set_my_name(self).erase()
2258 }
2259
2260 fn get_my_name(&self) -> ErasedRequest<'a, GetMyName, Self::Err> {
2261 Requester::get_my_name(self).erase()
2262 }
2263
2264 fn set_my_description(&self) -> ErasedRequest<'a, SetMyDescription, Self::Err> {
2265 Requester::set_my_description(self).erase()
2266 }
2267
2268 fn get_my_description(&self) -> ErasedRequest<'a, GetMyDescription, Self::Err> {
2269 Requester::get_my_description(self).erase()
2270 }
2271
2272 fn set_my_short_description(&self) -> ErasedRequest<'a, SetMyShortDescription, Self::Err> {
2273 Requester::set_my_short_description(self).erase()
2274 }
2275
2276 fn get_my_short_description(&self) -> ErasedRequest<'a, GetMyShortDescription, Self::Err> {
2277 Requester::get_my_short_description(self).erase()
2278 }
2279
2280 fn set_my_profile_photo(
2281 &self,
2282 photo: InputProfilePhoto,
2283 ) -> ErasedRequest<'a, SetMyProfilePhoto, Self::Err> {
2284 Requester::set_my_profile_photo(self, photo).erase()
2285 }
2286
2287 fn remove_my_profile_photo(&self) -> ErasedRequest<'a, RemoveMyProfilePhoto, Self::Err> {
2288 Requester::remove_my_profile_photo(self).erase()
2289 }
2290
2291 fn get_managed_bot_token(
2292 &self,
2293 user_id: UserId,
2294 ) -> ErasedRequest<'a, GetManagedBotToken, Self::Err> {
2295 Requester::get_managed_bot_token(self, user_id).erase()
2296 }
2297
2298 fn replace_managed_bot_token(
2299 &self,
2300 user_id: UserId,
2301 ) -> ErasedRequest<'a, ReplaceManagedBotToken, Self::Err> {
2302 Requester::replace_managed_bot_token(self, user_id).erase()
2303 }
2304
2305 fn save_prepared_keyboard_button(
2306 &self,
2307 user_id: UserId,
2308 button: KeyboardButton,
2309 ) -> ErasedRequest<'a, SavePreparedKeyboardButton, Self::Err> {
2310 Requester::save_prepared_keyboard_button(self, user_id, button).erase()
2311 }
2312
2313 fn send_live_photo(
2314 &self,
2315 chat_id: Recipient,
2316 live_photo: InputFile,
2317 photo: InputFile,
2318 ) -> ErasedRequest<'a, SendLivePhoto, Self::Err> {
2319 Requester::send_live_photo(self, chat_id, live_photo, photo).erase()
2320 }
2321
2322 fn get_user_personal_chat_messages(
2323 &self,
2324 user_id: UserId,
2325 limit: u8,
2326 ) -> ErasedRequest<'a, GetUserPersonalChatMessages, Self::Err> {
2327 Requester::get_user_personal_chat_messages(self, user_id, limit).erase()
2328 }
2329
2330 fn answer_guest_query(
2331 &self,
2332 guest_query_id: GuestQueryId,
2333 result: InlineQueryResult,
2334 ) -> ErasedRequest<'a, AnswerGuestQuery, Self::Err> {
2335 Requester::answer_guest_query(self, guest_query_id, result).erase()
2336 }
2337
2338 fn get_managed_bot_access_settings(
2339 &self,
2340 user_id: UserId,
2341 ) -> ErasedRequest<'a, GetManagedBotAccessSettings, Self::Err> {
2342 Requester::get_managed_bot_access_settings(self, user_id).erase()
2343 }
2344
2345 fn set_managed_bot_access_settings(
2346 &self,
2347 user_id: UserId,
2348 is_access_restricted: bool,
2349 ) -> ErasedRequest<'a, SetManagedBotAccessSettings, Self::Err> {
2350 Requester::set_managed_bot_access_settings(self, user_id, is_access_restricted).erase()
2351 }
2352
2353 fn delete_message_reaction(
2354 &self,
2355 chat_id: Recipient,
2356 message_id: i32,
2357 ) -> ErasedRequest<'a, DeleteMessageReaction, Self::Err> {
2358 Requester::delete_message_reaction(self, chat_id, message_id).erase()
2359 }
2360
2361 fn delete_all_message_reactions(
2362 &self,
2363 chat_id: Recipient,
2364 ) -> ErasedRequest<'a, DeleteAllMessageReactions, Self::Err> {
2365 Requester::delete_all_message_reactions(self, chat_id).erase()
2366 }
2367
2368 fn set_chat_menu_button(&self) -> ErasedRequest<'a, SetChatMenuButton, Self::Err> {
2369 Requester::set_chat_menu_button(self).erase()
2370 }
2371
2372 fn get_chat_menu_button(&self) -> ErasedRequest<'a, GetChatMenuButton, Self::Err> {
2373 Requester::get_chat_menu_button(self).erase()
2374 }
2375
2376 fn set_my_default_administrator_rights(
2377 &self,
2378 ) -> ErasedRequest<'a, SetMyDefaultAdministratorRights, Self::Err> {
2379 Requester::set_my_default_administrator_rights(self).erase()
2380 }
2381
2382 fn get_my_default_administrator_rights(
2383 &self,
2384 ) -> ErasedRequest<'a, GetMyDefaultAdministratorRights, Self::Err> {
2385 Requester::get_my_default_administrator_rights(self).erase()
2386 }
2387
2388 fn delete_my_commands(&self) -> ErasedRequest<'a, DeleteMyCommands, Self::Err> {
2389 Requester::delete_my_commands(self).erase()
2390 }
2391
2392 fn answer_inline_query(
2393 &self,
2394 inline_query_id: InlineQueryId,
2395 results: Vec<InlineQueryResult>,
2396 ) -> ErasedRequest<'a, AnswerInlineQuery, Self::Err> {
2397 Requester::answer_inline_query(self, inline_query_id, results).erase()
2398 }
2399
2400 fn answer_web_app_query(
2401 &self,
2402 web_app_query_id: String,
2403 result: InlineQueryResult,
2404 ) -> ErasedRequest<'a, AnswerWebAppQuery, Self::Err> {
2405 Requester::answer_web_app_query(self, web_app_query_id, result).erase()
2406 }
2407
2408 fn save_prepared_inline_message(
2409 &self,
2410 user_id: UserId,
2411 result: InlineQueryResult,
2412 ) -> ErasedRequest<'a, SavePreparedInlineMessage, Self::Err> {
2413 Requester::save_prepared_inline_message(self, user_id, result).erase()
2414 }
2415
2416 fn edit_message_text(
2417 &self,
2418 chat_id: Recipient,
2419 message_id: MessageId,
2420 text: String,
2421 ) -> ErasedRequest<'a, EditMessageText, Self::Err> {
2422 Requester::edit_message_text(self, chat_id, message_id, text).erase()
2423 }
2424
2425 fn edit_message_text_inline(
2426 &self,
2427 inline_message_id: String,
2428 text: String,
2429 ) -> ErasedRequest<'a, EditMessageTextInline, Self::Err> {
2430 Requester::edit_message_text_inline(self, inline_message_id, text).erase()
2431 }
2432
2433 fn edit_message_caption(
2434 &self,
2435 chat_id: Recipient,
2436 message_id: MessageId,
2437 ) -> ErasedRequest<'a, EditMessageCaption, Self::Err> {
2438 Requester::edit_message_caption(self, chat_id, message_id).erase()
2439 }
2440
2441 fn edit_message_caption_inline(
2442 &self,
2443 inline_message_id: String,
2444 ) -> ErasedRequest<'a, EditMessageCaptionInline, Self::Err> {
2445 Requester::edit_message_caption_inline(self, inline_message_id).erase()
2446 }
2447
2448 fn edit_message_media(
2449 &self,
2450 chat_id: Recipient,
2451 message_id: MessageId,
2452 media: InputMedia,
2453 ) -> ErasedRequest<'a, EditMessageMedia, Self::Err> {
2454 Requester::edit_message_media(self, chat_id, message_id, media).erase()
2455 }
2456
2457 fn edit_message_media_inline(
2458 &self,
2459 inline_message_id: String,
2460 media: InputMedia,
2461 ) -> ErasedRequest<'a, EditMessageMediaInline, Self::Err> {
2462 Requester::edit_message_media_inline(self, inline_message_id, media).erase()
2463 }
2464
2465 fn edit_message_reply_markup(
2466 &self,
2467 chat_id: Recipient,
2468 message_id: MessageId,
2469 ) -> ErasedRequest<'a, EditMessageReplyMarkup, Self::Err> {
2470 Requester::edit_message_reply_markup(self, chat_id, message_id).erase()
2471 }
2472
2473 fn edit_message_reply_markup_inline(
2474 &self,
2475 inline_message_id: String,
2476 ) -> ErasedRequest<'a, EditMessageReplyMarkupInline, Self::Err> {
2477 Requester::edit_message_reply_markup_inline(self, inline_message_id).erase()
2478 }
2479
2480 fn stop_poll(
2481 &self,
2482 chat_id: Recipient,
2483 message_id: MessageId,
2484 ) -> ErasedRequest<'a, StopPoll, Self::Err> {
2485 Requester::stop_poll(self, chat_id, message_id).erase()
2486 }
2487
2488 fn approve_suggested_post(
2489 &self,
2490 chat_id: ChatId,
2491 message_id: MessageId,
2492 ) -> ErasedRequest<'a, ApproveSuggestedPost, Self::Err> {
2493 Requester::approve_suggested_post(self, chat_id, message_id).erase()
2494 }
2495
2496 fn decline_suggested_post(
2497 &self,
2498 chat_id: ChatId,
2499 message_id: MessageId,
2500 ) -> ErasedRequest<'a, DeclineSuggestedPost, Self::Err> {
2501 Requester::decline_suggested_post(self, chat_id, message_id).erase()
2502 }
2503
2504 fn delete_message(
2505 &self,
2506 chat_id: Recipient,
2507 message_id: MessageId,
2508 ) -> ErasedRequest<'a, DeleteMessage, Self::Err> {
2509 Requester::delete_message(self, chat_id, message_id).erase()
2510 }
2511
2512 fn delete_messages(
2513 &self,
2514 chat_id: Recipient,
2515 message_ids: Vec<MessageId>,
2516 ) -> ErasedRequest<'a, DeleteMessages, Self::Err> {
2517 Requester::delete_messages(self, chat_id, message_ids).erase()
2518 }
2519
2520 fn send_sticker(
2521 &self,
2522 chat_id: Recipient,
2523 sticker: InputFile,
2524 ) -> ErasedRequest<'a, SendSticker, Self::Err> {
2525 Requester::send_sticker(self, chat_id, sticker).erase()
2526 }
2527
2528 fn get_sticker_set(&self, name: String) -> ErasedRequest<'a, GetStickerSet, Self::Err> {
2529 Requester::get_sticker_set(self, name).erase()
2530 }
2531
2532 fn get_custom_emoji_stickers(
2533 &self,
2534 custom_emoji_ids: Vec<CustomEmojiId>,
2535 ) -> ErasedRequest<'a, GetCustomEmojiStickers, Self::Err> {
2536 Requester::get_custom_emoji_stickers(self, custom_emoji_ids).erase()
2537 }
2538
2539 fn upload_sticker_file(
2540 &self,
2541 user_id: UserId,
2542 sticker: InputFile,
2543 sticker_format: StickerFormat,
2544 ) -> ErasedRequest<'a, UploadStickerFile, Self::Err> {
2545 Requester::upload_sticker_file(self, user_id, sticker, sticker_format).erase()
2546 }
2547
2548 fn create_new_sticker_set(
2549 &self,
2550 user_id: UserId,
2551 name: String,
2552 title: String,
2553 stickers: Vec<InputSticker>,
2554 ) -> ErasedRequest<'a, CreateNewStickerSet, Self::Err> {
2555 Requester::create_new_sticker_set(self, user_id, name, title, stickers).erase()
2556 }
2557
2558 fn add_sticker_to_set(
2559 &self,
2560 user_id: UserId,
2561 name: String,
2562 sticker: InputSticker,
2563 ) -> ErasedRequest<'a, AddStickerToSet, Self::Err> {
2564 Requester::add_sticker_to_set(self, user_id, name, sticker).erase()
2565 }
2566
2567 fn set_sticker_position_in_set(
2568 &self,
2569 sticker: String,
2570 position: u32,
2571 ) -> ErasedRequest<'a, SetStickerPositionInSet, Self::Err> {
2572 Requester::set_sticker_position_in_set(self, sticker, position).erase()
2573 }
2574
2575 fn delete_sticker_from_set(
2576 &self,
2577 sticker: String,
2578 ) -> ErasedRequest<'a, DeleteStickerFromSet, Self::Err> {
2579 Requester::delete_sticker_from_set(self, sticker).erase()
2580 }
2581
2582 fn replace_sticker_in_set(
2583 &self,
2584 user_id: UserId,
2585 name: String,
2586 old_sticker: String,
2587 sticker: InputSticker,
2588 ) -> ErasedRequest<'a, ReplaceStickerInSet, Self::Err> {
2589 Requester::replace_sticker_in_set(self, user_id, name, old_sticker, sticker).erase()
2590 }
2591
2592 fn set_sticker_set_thumbnail(
2593 &self,
2594 name: String,
2595 user_id: UserId,
2596 format: StickerFormat,
2597 ) -> ErasedRequest<'a, SetStickerSetThumbnail, Self::Err> {
2598 Requester::set_sticker_set_thumbnail(self, name, user_id, format).erase()
2599 }
2600
2601 fn set_custom_emoji_sticker_set_thumbnail(
2602 &self,
2603 name: String,
2604 ) -> ErasedRequest<'a, SetCustomEmojiStickerSetThumbnail, Self::Err> {
2605 Requester::set_custom_emoji_sticker_set_thumbnail(self, name).erase()
2606 }
2607
2608 fn set_sticker_set_title(
2609 &self,
2610 name: String,
2611 title: String,
2612 ) -> ErasedRequest<'a, SetStickerSetTitle, Self::Err> {
2613 Requester::set_sticker_set_title(self, name, title).erase()
2614 }
2615
2616 fn delete_sticker_set(&self, name: String) -> ErasedRequest<'a, DeleteStickerSet, Self::Err> {
2617 Requester::delete_sticker_set(self, name).erase()
2618 }
2619
2620 fn set_sticker_emoji_list(
2621 &self,
2622 sticker: String,
2623 emoji_list: Vec<String>,
2624 ) -> ErasedRequest<'a, SetStickerEmojiList, Self::Err> {
2625 Requester::set_sticker_emoji_list(self, sticker, emoji_list).erase()
2626 }
2627
2628 fn set_sticker_keywords(
2629 &self,
2630 sticker: String,
2631 ) -> ErasedRequest<'a, SetStickerKeywords, Self::Err> {
2632 Requester::set_sticker_keywords(self, sticker).erase()
2633 }
2634
2635 fn set_sticker_mask_position(
2636 &self,
2637 sticker: String,
2638 ) -> ErasedRequest<'a, SetStickerMaskPosition, Self::Err> {
2639 Requester::set_sticker_mask_position(self, sticker).erase()
2640 }
2641
2642 fn get_available_gifts(&self) -> ErasedRequest<'a, GetAvailableGifts, Self::Err> {
2643 Requester::get_available_gifts(self).erase()
2644 }
2645
2646 fn send_gift(
2647 &self,
2648 user_id: UserId,
2649 gift_id: GiftId,
2650 ) -> ErasedRequest<'a, SendGift, Self::Err> {
2651 Requester::send_gift(self, user_id, gift_id).erase()
2652 }
2653
2654 fn send_gift_chat(
2655 &self,
2656 chat_id: Recipient,
2657 gift_id: GiftId,
2658 ) -> ErasedRequest<'a, SendGiftChat, Self::Err> {
2659 Requester::send_gift_chat(self, chat_id, gift_id).erase()
2660 }
2661
2662 fn gift_premium_subscription(
2663 &self,
2664 user_id: UserId,
2665 month_count: u8,
2666 star_count: u32,
2667 ) -> ErasedRequest<'a, GiftPremiumSubscription, Self::Err> {
2668 Requester::gift_premium_subscription(self, user_id, month_count, star_count).erase()
2669 }
2670
2671 fn verify_user(&self, user_id: UserId) -> ErasedRequest<'a, VerifyUser, Self::Err> {
2672 Requester::verify_user(self, user_id).erase()
2673 }
2674
2675 fn verify_chat(&self, chat_id: Recipient) -> ErasedRequest<'a, VerifyChat, Self::Err> {
2676 Requester::verify_chat(self, chat_id).erase()
2677 }
2678
2679 fn remove_user_verification(
2680 &self,
2681 user_id: UserId,
2682 ) -> ErasedRequest<'a, RemoveUserVerification, Self::Err> {
2683 Requester::remove_user_verification(self, user_id).erase()
2684 }
2685
2686 fn remove_chat_verification(
2687 &self,
2688 chat_id: Recipient,
2689 ) -> ErasedRequest<'a, RemoveChatVerification, Self::Err> {
2690 Requester::remove_chat_verification(self, chat_id).erase()
2691 }
2692
2693 fn read_business_message(
2694 &self,
2695 business_connection_id: BusinessConnectionId,
2696 chat_id: ChatId,
2697 message_id: MessageId,
2698 ) -> ErasedRequest<'a, ReadBusinessMessage, Self::Err> {
2699 Requester::read_business_message(self, business_connection_id, chat_id, message_id).erase()
2700 }
2701
2702 fn delete_business_messages(
2703 &self,
2704 business_connection_id: BusinessConnectionId,
2705 message_ids: Vec<MessageId>,
2706 ) -> ErasedRequest<'a, DeleteBusinessMessages, Self::Err> {
2707 Requester::delete_business_messages(self, business_connection_id, message_ids).erase()
2708 }
2709
2710 fn set_business_account_name(
2711 &self,
2712 business_connection_id: BusinessConnectionId,
2713 first_name: String,
2714 ) -> ErasedRequest<'a, SetBusinessAccountName, Self::Err> {
2715 Requester::set_business_account_name(self, business_connection_id, first_name).erase()
2716 }
2717
2718 fn set_business_account_username(
2719 &self,
2720 business_connection_id: BusinessConnectionId,
2721 ) -> ErasedRequest<'a, SetBusinessAccountUsername, Self::Err> {
2722 Requester::set_business_account_username(self, business_connection_id).erase()
2723 }
2724
2725 fn set_business_account_bio(
2726 &self,
2727 business_connection_id: BusinessConnectionId,
2728 ) -> ErasedRequest<'a, SetBusinessAccountBio, Self::Err> {
2729 Requester::set_business_account_bio(self, business_connection_id).erase()
2730 }
2731
2732 fn set_business_account_profile_photo(
2733 &self,
2734 business_connection_id: BusinessConnectionId,
2735 photo: InputProfilePhoto,
2736 ) -> ErasedRequest<'a, SetBusinessAccountProfilePhoto, Self::Err> {
2737 Requester::set_business_account_profile_photo(self, business_connection_id, photo).erase()
2738 }
2739
2740 fn remove_business_account_profile_photo(
2741 &self,
2742 business_connection_id: BusinessConnectionId,
2743 ) -> ErasedRequest<'a, RemoveBusinessAccountProfilePhoto, Self::Err> {
2744 Requester::remove_business_account_profile_photo(self, business_connection_id).erase()
2745 }
2746
2747 fn set_business_account_gift_settings(
2748 &self,
2749 business_connection_id: BusinessConnectionId,
2750 show_gift_button: bool,
2751 accepted_gift_types: AcceptedGiftTypes,
2752 ) -> ErasedRequest<'a, SetBusinessAccountGiftSettings, Self::Err> {
2753 Requester::set_business_account_gift_settings(
2754 self,
2755 business_connection_id,
2756 show_gift_button,
2757 accepted_gift_types,
2758 )
2759 .erase()
2760 }
2761
2762 fn get_business_account_star_balance(
2763 &self,
2764 business_connection_id: BusinessConnectionId,
2765 ) -> ErasedRequest<'a, GetBusinessAccountStarBalance, Self::Err> {
2766 Requester::get_business_account_star_balance(self, business_connection_id).erase()
2767 }
2768
2769 fn transfer_business_account_stars(
2770 &self,
2771 business_connection_id: BusinessConnectionId,
2772 star_count: u32,
2773 ) -> ErasedRequest<'a, TransferBusinessAccountStars, Self::Err> {
2774 Requester::transfer_business_account_stars(self, business_connection_id, star_count).erase()
2775 }
2776
2777 fn get_business_account_gifts(
2778 &self,
2779 business_connection_id: BusinessConnectionId,
2780 ) -> ErasedRequest<'a, GetBusinessAccountGifts, Self::Err> {
2781 Requester::get_business_account_gifts(self, business_connection_id).erase()
2782 }
2783
2784 fn convert_gift_to_stars(
2785 &self,
2786 business_connection_id: BusinessConnectionId,
2787 owned_gift_id: OwnedGiftId,
2788 ) -> ErasedRequest<'a, ConvertGiftToStars, Self::Err> {
2789 Requester::convert_gift_to_stars(self, business_connection_id, owned_gift_id).erase()
2790 }
2791
2792 fn upgrade_gift(
2793 &self,
2794 business_connection_id: BusinessConnectionId,
2795 owned_gift_id: OwnedGiftId,
2796 ) -> ErasedRequest<'a, UpgradeGift, Self::Err> {
2797 Requester::upgrade_gift(self, business_connection_id, owned_gift_id).erase()
2798 }
2799
2800 fn transfer_gift(
2801 &self,
2802 business_connection_id: BusinessConnectionId,
2803 owned_gift_id: OwnedGiftId,
2804 new_owner_chat_id: ChatId,
2805 ) -> ErasedRequest<'a, TransferGift, Self::Err> {
2806 Requester::transfer_gift(self, business_connection_id, owned_gift_id, new_owner_chat_id)
2807 .erase()
2808 }
2809
2810 fn get_user_gifts(&self, user_id: UserId) -> ErasedRequest<'a, GetUserGifts, Self::Err> {
2811 Requester::get_user_gifts(self, user_id).erase()
2812 }
2813
2814 fn get_chat_gifts(&self, chat_id: Recipient) -> ErasedRequest<'a, GetChatGifts, Self::Err> {
2815 Requester::get_chat_gifts(self, chat_id).erase()
2816 }
2817
2818 fn repost_story(
2819 &self,
2820 business_connection_id: BusinessConnectionId,
2821 from_chat_id: ChatId,
2822 from_story_id: StoryId,
2823 active_period: Seconds,
2824 ) -> ErasedRequest<'a, RepostStory, Self::Err> {
2825 Requester::repost_story(
2826 self,
2827 business_connection_id,
2828 from_chat_id,
2829 from_story_id,
2830 active_period,
2831 )
2832 .erase()
2833 }
2834
2835 fn post_story(
2836 &self,
2837 business_connection_id: BusinessConnectionId,
2838 content: InputStoryContent,
2839 active_period: Seconds,
2840 ) -> ErasedRequest<'a, PostStory, Self::Err> {
2841 Requester::post_story(self, business_connection_id, content, active_period).erase()
2842 }
2843
2844 fn edit_story(
2845 &self,
2846 business_connection_id: BusinessConnectionId,
2847 story_id: StoryId,
2848 content: InputStoryContent,
2849 ) -> ErasedRequest<'a, EditStory, Self::Err> {
2850 Requester::edit_story(self, business_connection_id, story_id, content).erase()
2851 }
2852
2853 fn delete_story(
2854 &self,
2855 business_connection_id: BusinessConnectionId,
2856 story_id: StoryId,
2857 ) -> ErasedRequest<'a, DeleteStory, Self::Err> {
2858 Requester::delete_story(self, business_connection_id, story_id).erase()
2859 }
2860
2861 fn send_invoice(
2862 &self,
2863 chat_id: Recipient,
2864 title: String,
2865 description: String,
2866 payload: String,
2867 currency: String,
2868 prices: Vec<LabeledPrice>,
2869 ) -> ErasedRequest<'a, SendInvoice, Self::Err> {
2870 Requester::send_invoice(self, chat_id, title, description, payload, currency, prices)
2871 .erase()
2872 }
2873
2874 fn create_invoice_link(
2875 &self,
2876 title: String,
2877 description: String,
2878 payload: String,
2879 currency: String,
2880 prices: Vec<LabeledPrice>,
2881 ) -> ErasedRequest<'a, CreateInvoiceLink, Self::Err> {
2882 Requester::create_invoice_link(self, title, description, payload, currency, prices).erase()
2883 }
2884
2885 fn answer_shipping_query(
2886 &self,
2887 shipping_query_id: ShippingQueryId,
2888 ok: bool,
2889 ) -> ErasedRequest<'a, AnswerShippingQuery, Self::Err> {
2890 Requester::answer_shipping_query(self, shipping_query_id, ok).erase()
2891 }
2892
2893 fn answer_pre_checkout_query(
2894 &self,
2895 pre_checkout_query_id: PreCheckoutQueryId,
2896 ok: bool,
2897 ) -> ErasedRequest<'a, AnswerPreCheckoutQuery, Self::Err> {
2898 Requester::answer_pre_checkout_query(self, pre_checkout_query_id, ok).erase()
2899 }
2900
2901 fn get_my_star_balance(&self) -> ErasedRequest<'a, GetMyStarBalance, Self::Err> {
2902 Requester::get_my_star_balance(self).erase()
2903 }
2904
2905 fn get_star_transactions(&self) -> ErasedRequest<'a, GetStarTransactions, Self::Err> {
2906 Requester::get_star_transactions(self).erase()
2907 }
2908
2909 fn refund_star_payment(
2910 &self,
2911 user_id: UserId,
2912 telegram_payment_charge_id: TelegramTransactionId,
2913 ) -> ErasedRequest<'a, RefundStarPayment, Self::Err> {
2914 Requester::refund_star_payment(self, user_id, telegram_payment_charge_id).erase()
2915 }
2916
2917 fn edit_user_star_subscription(
2918 &self,
2919 user_id: UserId,
2920 telegram_payment_charge_id: TelegramTransactionId,
2921 is_canceled: bool,
2922 ) -> ErasedRequest<'a, EditUserStarSubscription, Self::Err> {
2923 Requester::edit_user_star_subscription(
2924 self,
2925 user_id,
2926 telegram_payment_charge_id,
2927 is_canceled,
2928 )
2929 .erase()
2930 }
2931
2932 fn set_passport_data_errors(
2933 &self,
2934 user_id: UserId,
2935 errors: Vec<PassportElementError>,
2936 ) -> ErasedRequest<'a, SetPassportDataErrors, Self::Err> {
2937 Requester::set_passport_data_errors(self, user_id, errors).erase()
2938 }
2939
2940 fn send_game(
2941 &self,
2942 chat_id: ChatId,
2943 game_short_name: String,
2944 ) -> ErasedRequest<'a, SendGame, Self::Err> {
2945 Requester::send_game(self, chat_id, game_short_name).erase()
2946 }
2947
2948 fn set_game_score(
2949 &self,
2950 user_id: UserId,
2951 score: u64,
2952 chat_id: u32,
2953 message_id: MessageId,
2954 ) -> ErasedRequest<'a, SetGameScore, Self::Err> {
2955 Requester::set_game_score(self, user_id, score, chat_id, message_id).erase()
2956 }
2957
2958 fn set_game_score_inline(
2959 &self,
2960 user_id: UserId,
2961 score: u64,
2962 inline_message_id: String,
2963 ) -> ErasedRequest<'a, SetGameScoreInline, Self::Err> {
2964 Requester::set_game_score_inline(self, user_id, score, inline_message_id).erase()
2965 }
2966
2967 fn get_game_high_scores(
2968 &self,
2969 user_id: UserId,
2970 target: TargetMessage,
2971 ) -> ErasedRequest<'a, GetGameHighScores, Self::Err> {
2972 Requester::get_game_high_scores(self, user_id, target).erase()
2973 }
2974}