teloxide_core/payloads/
set_webhook.rs

1//! Generated by `codegen_payloads`, do not edit by hand.
2
3use serde::Serialize;
4use url::Url;
5
6use crate::types::{AllowedUpdate, InputFile, True};
7
8impl_payload! {
9    @[multipart = certificate]
10    /// Use this method to specify a url and receive incoming updates via an outgoing webhook. Whenever there is an update for the bot, we will send an HTTPS POST request to the specified url, containing a JSON-serialized [`Update`]. In case of an unsuccessful request, we will give up after a reasonable amount of attempts. Returns True on success.
11    ///
12    /// If you'd like to make sure that the Webhook request comes from Telegram, we recommend using a secret path in the URL, e.g. `https://www.example.com/<token>`. Since nobody else knows your bot's token, you can be pretty sure it's us.
13    ///
14    /// [`Update`]: crate::types::Update
15    #[derive(Debug, Clone, Serialize)]
16    pub SetWebhook (SetWebhookSetters) => True {
17        required {
18            /// HTTPS url to send updates to. Use an empty string to remove webhook integration
19            pub url: Url,
20        }
21        optional {
22            /// Upload your public key certificate so that the root certificate in use can be checked. See our [self-signed guide] for details.
23            ///
24            /// [self-signed guide]: https://core.telegram.org/bots/self-signed
25            pub certificate: InputFile,
26            /// The fixed IP address which will be used to send webhook requests instead of the IP address resolved through DNS
27            pub ip_address: String [into],
28            /// Maximum allowed number of simultaneous HTTPS connections to the webhook for update delivery, 1-100. Defaults to 40. Use lower values to limit the load on your bot's server, and higher values to increase your bot's throughput.
29            pub max_connections: u8,
30            /// A JSON-serialized list of the update types you want your bot to receive. For example, specify [“message”, “edited_channel_post”, “callback_query”] to only receive updates of these types. See [`Update`] for a complete list of available update types. Specify an empty list to receive all updates regardless of type (default). If not specified, the previous setting will be used.
31            ///
32            /// Please note that this parameter doesn't affect updates created before the call to the setWebhook, so unwanted updates may be received for a short period of time.
33            ///
34            /// [`Update`]: crate::types::Update
35            pub allowed_updates: Vec<AllowedUpdate> [collect],
36            /// Pass _True_ to drop all pending updates
37            pub drop_pending_updates: bool,
38            /// A secret token to be sent in a header “X-Telegram-Bot-Api-Secret-Token” in every webhook request, 1-256 characters. Only characters `A-Z`, `a-z`, `0-9`, `_` and `-` are allowed. The header is useful to ensure that the request comes from a webhook set by you.
39            pub secret_token: String [into],
40        }
41    }
42}