setWebhook

Returns: bool

class aiogram.methods.set_webhook.SetWebhook(*, url: str, certificate: InputFile | None = None, ip_address: str | None = None, max_connections: int | None = None, allowed_updates: list[str] | None = None, drop_pending_updates: bool | None = None, secret_token: str | None = None, **extra_data: Any)[source]

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 aiogram.types.update.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 was set by you, you can specify secret data in the parameter secret_token. If specified, the request will contain a header ‘X-Telegram-Bot-Api-Secret-Token’ with the secret token as content.

Notes

1. You will not be able to receive updates using aiogram.methods.get_updates.GetUpdates for as long as an outgoing webhook is set up.

2. To use a self-signed certificate, you need to upload your public key certificate using certificate parameter. Please upload as InputFile, sending a String will not work.

3. Ports currently supported for webhooks: 443, 80, 88, 8443. If you’re having any trouble setting up webhooks, please check out this amazing guide to webhooks.

Source: https://core.telegram.org/bots/api#setwebhook

url: str

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

certificate: InputFile | None

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

ip_address: str | None

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

max_connections: int | None

The 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.

model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_post_init(context: Any, /) None

We need to both initialize private attributes and call the user-defined model_post_init method.

allowed_updates: list[str] | None

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 aiogram.types.update.Update for a complete list of available update types. Specify an empty list to receive all update types except chat_member, message_reaction, and message_reaction_count (default). If not specified, the previous setting will be used.

drop_pending_updates: bool | None

Pass True to drop all pending updates

secret_token: str | None

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.

Usage

As bot method

result: bool = await bot.set_webhook(...)

Method as object

Imports:

  • from aiogram.methods.set_webhook import SetWebhook

  • alias: from aiogram.methods import SetWebhook

With specific bot

result: bool = await bot(SetWebhook(...))

As reply into Webhook in handler

return SetWebhook(...)