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