telegram.ext.ApplicationBuilder#
- class telegram.ext.ApplicationBuilder[source]#
This class serves as initializer for
telegram.ext.Applicationvia the so called builder pattern. To build atelegram.ext.Application, one first initializes an instance of this class. Arguments for thetelegram.ext.Applicationto build are then added by subsequently calling the methods of the builder. Finally, thetelegram.ext.Applicationis built by callingbuild(). In the simplest case this can look like the following example.Example
application = ApplicationBuilder().token("TOKEN").build()
Please see the description of the individual methods for information on which arguments can be set and what the defaults are when not called. When no default is mentioned, the argument will not be used by default.
Note
Some arguments are mutually exclusive. E.g. after calling
token(), you can’t set a custom bot withbot()and vice versa.Unless a custom
telegram.Botinstance is set viabot(),build()will usetelegram.ext.ExtBotfor the bot.
- application_class(application_class, kwargs=None)[source]#
Sets a custom subclass instead of
telegram.ext.Application. The subclass’s__init__should look like thisdef __init__(self, custom_arg_1, custom_arg_2, ..., **kwargs): super().__init__(**kwargs) self.custom_arg_1 = custom_arg_1 self.custom_arg_2 = custom_arg_2
- Parameters
application_class (
type) – A subclass oftelegram.ext.Applicationkwargs (Dict[
str,object], optional) – Keyword arguments for the initialization. Defaults to an empty dict.
- Returns
The same builder with the updated argument.
- Return type
- arbitrary_callback_data(arbitrary_callback_data)[source]#
Specifies whether
telegram.ext.Application.botshould allow arbitrary objects as callback data fortelegram.InlineKeyboardButtonand how many keyboards should be cached in memory. If not called, only strings can be used as callback data and no data will be stored in memory.- Parameters
arbitrary_callback_data (
bool|int) – IfTrueis passed, the default cache size of1024will be used. Pass an integer to specify a different cache size.- Returns
The same builder with the updated argument.
- Return type
- base_file_url(base_file_url)[source]#
Sets the base file URL for
telegram.ext.Application.bot. If not called, will default to'https://api.telegram.org/file/bot'.- Parameters
base_file_url (
str) – The URL.- Returns
The same builder with the updated argument.
- Return type
- base_url(base_url)[source]#
Sets the base URL for
telegram.ext.Application.bot. If not called, will default to'https://api.telegram.org/bot'.- Parameters
- Returns
The same builder with the updated argument.
- Return type
- bot(bot)[source]#
Sets a
telegram.Botinstance fortelegram.ext.Application.bot. Instances of subclasses liketelegram.ext.ExtBotare also valid.- Parameters
bot (
telegram.Bot) – The bot.- Returns
The same builder with the updated argument.
- Return type
- build()[source]#
Builds a
telegram.ext.Applicationwith the provided arguments.Calls
telegram.ext.JobQueue.set_application()andtelegram.ext.BasePersistence.set_bot()if appropriate.- Returns
- concurrent_updates(concurrent_updates)[source]#
Specifies if and how many updates may be processed concurrently instead of one by one.
Warning
Processing updates concurrently is not recommended when stateful handlers like
telegram.ext.ConversationHandlerare used. Only use this if you are sure that your bot does not (explicitly or implicitly) rely on updates being processed sequentially.- Parameters
concurrent_updates (
bool|int) – PassingTruewill allow for4096updates to be processed concurrently. Pass an integer to specify a different number of updates that may be processed concurrently.- Returns
The same builder with the updated argument.
- Return type
- connect_timeout(connect_timeout)[source]#
Sets the connection attempt timeout for the
connect_timeoutparameter oftelegram.Bot.request. Defaults to5.0.- Parameters
connect_timeout (
float) – Seetelegram.request.HTTPXRequest.connect_timeoutfor more information.- Returns
The same builder with the updated argument.
- Return type
- connection_pool_size(connection_pool_size)[source]#
Sets the size of the connection pool for the
connection_pool_sizeparameter oftelegram.Bot.request. Defaults to128.- Parameters
connection_pool_size (
int) – The size of the connection pool.- Returns
The same builder with the updated argument.
- Return type
- context_types(context_types)[source]#
Sets a
telegram.ext.ContextTypesinstance fortelegram.ext.Application.context_types.See also
- Parameters
context_types (
telegram.ext.ContextTypes) – The context types.- Returns
The same builder with the updated argument.
- Return type
- defaults(defaults)[source]#
Sets the
telegram.ext.Defaultsinstance fortelegram.ext.Application.bot.See also
- Parameters
defaults (
telegram.ext.Defaults) – The defaults instance.- Returns
The same builder with the updated argument.
- Return type
- get_updates_connect_timeout(get_updates_connect_timeout)[source]#
Sets the connection attempt timeout for the
telegram.request.HTTPXRequest.connect_timeoutparameter which is used for thetelegram.Bot.get_updates()request. Defaults to5.0.- Parameters
get_updates_connect_timeout (
float) – Seetelegram.request.HTTPXRequest.connect_timeoutfor more information.- Returns
The same builder with the updated argument.
- Return type
- get_updates_connection_pool_size(get_updates_connection_pool_size)[source]#
Sets the size of the connection pool for the
telegram.request.HTTPXRequest.connection_pool_sizeparameter which is used for thetelegram.Bot.get_updates()request. Defaults to1.- Parameters
get_updates_connection_pool_size (
int) – The size of the connection pool.- Returns
The same builder with the updated argument.
- Return type
- get_updates_pool_timeout(get_updates_pool_timeout)[source]#
Sets the connection pool’s connection freeing timeout for the
pool_timeoutparameter which is used for thetelegram.Bot.get_updates()request. Defaults toNone.- Parameters
get_updates_pool_timeout (
float) – Seetelegram.request.HTTPXRequest.pool_timeoutfor more information.- Returns
The same builder with the updated argument.
- Return type
- get_updates_proxy_url(get_updates_proxy_url)[source]#
Sets the proxy for the
telegram.request.HTTPXRequest.proxy_urlparameter which is used fortelegram.Bot.get_updates(). Defaults toNone.- Parameters
get_updates_proxy_url (
str) – The URL to the proxy server. Seetelegram.request.HTTPXRequest.proxy_urlfor more information.- Returns
The same builder with the updated argument.
- Return type
- get_updates_read_timeout(get_updates_read_timeout)[source]#
Sets the waiting timeout for the
telegram.request.HTTPXRequest.read_timeoutparameter which is used for thetelegram.Bot.get_updates()request. Defaults to5.0.- Parameters
get_updates_read_timeout (
float) – Seetelegram.request.HTTPXRequest.read_timeoutfor more information.- Returns
The same builder with the updated argument.
- Return type
- get_updates_request(get_updates_request)[source]#
Sets a
telegram.request.BaseRequestinstance for theget_updates_requestparameter oftelegram.ext.Application.bot.See also
- Parameters
get_updates_request (
telegram.request.BaseRequest) – The request instance.- Returns
The same builder with the updated argument.
- Return type
- get_updates_write_timeout(get_updates_write_timeout)[source]#
Sets the write operation timeout for the
telegram.request.HTTPXRequest.write_timeoutparameter which is used for thetelegram.Bot.get_updates()request. Defaults to5.0.- Parameters
get_updates_write_timeout (
float) – Seetelegram.request.HTTPXRequest.write_timeoutfor more information.- Returns
The same builder with the updated argument.
- Return type
- job_queue(job_queue)[source]#
Sets a
telegram.ext.JobQueueinstance fortelegram.ext.Application.job_queue. If not called, a job queue will be instantiated.See also
Note
telegram.ext.JobQueue.set_application()will be called automatically bybuild().The job queue will be automatically started and stopped by
telegram.ext.Application.start()andtelegram.ext.Application.stop(), respectively.When passing
None,telegram.ext.ConversationHandler.conversation_timeoutcan not be used, as this usestelegram.ext.Application.job_queueinternally.
- Parameters
job_queue (
telegram.ext.JobQueue) – The job queue. PassNoneif you don’t want to use a job queue.- Returns
The same builder with the updated argument.
- Return type
- persistence(persistence)[source]#
Sets a
telegram.ext.BasePersistenceinstance fortelegram.ext.Application.persistence.Note
When using a persistence, note that all data stored in
context.user_data,context.chat_data,context.bot_dataand intelegram.ext.ExtBot.callback_data_cachemust be copyable withcopy.deepcopy(). This is due to the data being deep copied before handing it over to the persistence in order to avoid race conditions.Warning
If a
telegram.ext.ContextTypesinstance is set viacontext_types(), the persistence instance must use the same types!- Parameters
persistence (
telegram.ext.BasePersistence) – The persistence instance.- Returns
The same builder with the updated argument.
- Return type
- pool_timeout(pool_timeout)[source]#
Sets the connection pool’s connection freeing timeout for the
pool_timeoutparameter oftelegram.Bot.request. Defaults toNone.- Parameters
pool_timeout (
float) – Seetelegram.request.HTTPXRequest.pool_timeoutfor more information.- Returns
The same builder with the updated argument.
- Return type
- private_key(private_key, password=None)[source]#
Sets the private key and corresponding password for decryption of telegram passport data for
telegram.ext.Application.bot.See also
- Parameters
private_key (
bytes|str|pathlib.Path) – The private key or the file path of a file that contains the key. In the latter case, the file’s content will be read automatically.password (
bytes|str|pathlib.Path, optional) – The corresponding password or the file path of a file that contains the password. In the latter case, the file’s content will be read automatically.
- Returns
The same builder with the updated argument.
- Return type
- proxy_url(proxy_url)[source]#
Sets the proxy for the
proxy_urlparameter oftelegram.Bot.request. Defaults toNone.- Parameters
proxy_url (
str) – The URL to the proxy server. Seetelegram.request.HTTPXRequest.proxy_urlfor more information.- Returns
The same builder with the updated argument.
- Return type
- read_timeout(read_timeout)[source]#
Sets the waiting timeout for the
read_timeoutparameter oftelegram.Bot.request. Defaults to5.0.- Parameters
read_timeout (
float) – Seetelegram.request.HTTPXRequest.read_timeoutfor more information.- Returns
The same builder with the updated argument.
- Return type
- request(request)[source]#
Sets a
telegram.request.BaseRequestinstance for thetelegram.Bot.requestparameter oftelegram.ext.Application.bot.See also
- Parameters
request (
telegram.request.BaseRequest) – The request instance.- Returns
The same builder with the updated argument.
- Return type
- token(token)[source]#
Sets the token for
telegram.ext.Application.bot.- Parameters
- Returns
The same builder with the updated argument.
- Return type
- update_queue(update_queue)[source]#
Sets a
asyncio.Queueinstance fortelegram.ext.Application.update_queue, i.e. the queue that the application will fetch updates from. Will also be used for thetelegram.ext.Application.updater. If not called, a queue will be instantiated.See also
- Parameters
update_queue (
asyncio.Queue) – The queue.- Returns
The same builder with the updated argument.
- Return type
- updater(updater)[source]#
Sets a
telegram.ext.Updaterinstance fortelegram.ext.Application.updater. Thetelegram.ext.Updater.botandtelegram.ext.Updater.update_queuewill be used fortelegram.ext.Application.botandtelegram.ext.Application.update_queue, respectively.- Parameters
updater (
telegram.ext.Updater|None) – The updater instance orNoneif no updater should be used.- Returns
The same builder with the updated argument.
- Return type
- write_timeout(write_timeout)[source]#
Sets the write operation timeout for the
write_timeoutparameter oftelegram.Bot.request. Defaults to5.0.- Parameters
write_timeout (
float) – Seetelegram.request.HTTPXRequest.write_timeoutfor more information.- Returns
The same builder with the updated argument.
- Return type