pub struct SetWebhook {
    pub url: Url,
    pub certificate: Option<InputFile>,
    pub ip_address: Option<String>,
    pub max_connections: Option<u8>,
    pub allowed_updates: Option<Vec<AllowedUpdate, Global>>,
    pub drop_pending_updates: Option<bool>,
    pub secret_token: Option<String>,
}
Expand description

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.

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.

Fields§

§url: Url

HTTPS url to send updates to. Use an empty string to remove webhook integration

§certificate: Option<InputFile>

Upload your public key certificate so that the root certificate in use can be checked. See our self-signed guide for details.

§ip_address: Option<String>

The fixed IP address which will be used to send webhook requests instead of the IP address resolved through DNS

§max_connections: Option<u8>

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.

§allowed_updates: Option<Vec<AllowedUpdate, Global>>

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.

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.

§drop_pending_updates: Option<bool>

Pass True to drop all pending updates

§secret_token: Option<String>

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.

Implementations§

Trait Implementations§

source§

impl Clone for SetWebhook

source§

fn clone(&self) -> SetWebhook

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SetWebhook

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl MultipartPayload for SetWebhook

source§

fn copy_files(&self, into: &mut dyn FnMut(InputFile))

source§

fn move_files(&mut self, into: &mut dyn FnMut(InputFile))

source§

impl Payload for SetWebhook

§

type Output = True

The return type of a Telegram method. Read more
source§

const NAME: &'static str = "SetWebhook"

Name of a Telegram method. Read more
source§

fn timeout_hint(&self) -> Option<Duration>

If this payload may take long time to execute (e.g. GetUpdates with big timeout), the minimum timeout that should be used.
source§

impl Serialize for SetWebhook

source§

fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Erasable for T

§

unsafe fn unerase(this: NonNull<Erased>) -> NonNull<T>

Unerase this erased pointer. Read more
§

const ACK_1_1_0: bool = true

Available on non-enforce_1_1_0_semantics only.
Whether this implementor has acknowledged the 1.1.0 update to unerase’s documented implementation requirements. Read more
§

fn erase(this: NonNull<Self>) -> NonNull<Erased>

Turn this erasable pointer into an erased pointer. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for Twhere T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
source§

impl<P> HasPayload for Pwhere P: Payload,

§

type Payload = P

The type of the payload contained.
source§

fn payload_mut(&mut self) -> &mut <P as HasPayload>::Payload

Gain mutable access to the underlying payload.
source§

fn payload_ref(&self) -> &<P as HasPayload>::Payload

Gain immutable access to the underlying payload.
source§

fn with_payload_mut<F>(self, f: F) -> Selfwhere Self: Sized, F: FnOnce(&mut Self::Payload),

Update payload with a function
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<P> SetWebhookSetters for Pwhere P: HasPayload<Payload = SetWebhook>,

source§

fn url(self, value: Url) -> Self

Setter for url field.
source§

fn certificate(self, value: InputFile) -> Self

Setter for certificate field.
source§

fn ip_address<T>(self, value: T) -> Selfwhere T: Into<String>,

Setter for ip_address field.
source§

fn max_connections(self, value: u8) -> Self

Setter for max_connections field.
source§

fn allowed_updates<T>(self, value: T) -> Selfwhere T: IntoIterator<Item = <Vec<AllowedUpdate, Global> as IntoIterator>::Item>,

Setter for allowed_updates field.
source§

fn drop_pending_updates(self, value: bool) -> Self

Setter for drop_pending_updates field.
source§

fn secret_token<T>(self, value: T) -> Selfwhere T: Into<String>,

Setter for secret_token field.
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more