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}