Returns: bool

class aiogram.methods.set_webhook.SetWebhook(*, url: str, certificate: Optional[aiogram.types.input_file.InputFile] = None, ip_address: Optional[str] = None, max_connections: Optional[int] = None, allowed_updates: Optional[List[str]] = None, drop_pending_updates: Optional[bool] = None, secret_token: Optional[str] = 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.


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.


url: str#

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

certificate: Optional[aiogram.types.input_file.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: Optional[str]#

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

max_connections: Optional[int]#

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.

allowed_updates: Optional[List[str]]#

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 (default). If not specified, the previous setting will be used.

drop_pending_updates: Optional[bool]#

Pass True to drop all pending updates

secret_token: Optional[str]#

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.

build_request(bot: Bot) Request[source]#


As bot method#

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

Method as object#


  • 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(...)