telegram.ext.CallbackContext¶
-
class
telegram.ext.
CallbackContext
(dispatcher)¶ This is a context object passed to the callback called by
telegram.ext.Handler
or by thetelegram.ext.Dispatcher
in an error handler added bytelegram.ext.Dispatcher.add_error_handler
or to the callback of atelegram.ext.Job
.Note
telegram.ext.Dispatcher
will create a single context for an entire update. This means that if you got 2 handlers in different groups and they both get called, they will get passed the same CallbackContext object (of course with proper attributes like .matches differing). This allows you to add custom attributes in a lower handler group callback, and then subsequently access those attributes in a higher handler group callback. Note that the attributes on CallbackContext might change in the future, so make sure to use a fairly unique name for the attributes.Warning
Do not combine custom attributes and @run_async. Due to how @run_async works, it will almost certainly execute the callbacks for an update out of order, and the attributes that you think you added will not be present.
-
bot_data
¶ A dict that can be used to keep any data in. For each update it will be the same
dict
.Type: dict
, optional
-
chat_data
¶ A dict that can be used to keep any data in. For each update from the same chat id it will be the same
dict
.Warning
When a group chat migrates to a supergroup, its chat id will change and the
chat_data
needs to be transferred. For details see our wiki page.Type: dict
, optional
-
user_data
¶ A dict that can be used to keep any data in. For each update from the same user it will be the same
dict
.Type: dict
, optional
-
matches
¶ If the associated update originated from a regex-supported handler or had a
Filters.regex
, this will contain a list of match objects for every pattern wherere.search(pattern, string)
returned a match. Note that filters short circuit, so combined regex filters will not always be evaluated.Type: List[ re match object
], optional
-
args
¶ Arguments passed to a command if the associated update is handled by
telegram.ext.CommandHandler
,telegram.ext.PrefixHandler
ortelegram.ext.StringCommandHandler
. It contains a list of the words in the text after the command, using any whitespace string as a delimiter.Type: List[ str
], optional
-
error
¶ The Telegram error that was raised. Only present when passed to a error handler registered with
telegram.ext.Dispatcher.add_error_handler
.Type: telegram.TelegramError
, optional
-
job
¶ The job that that originated this callback. Only present when passed to the callback of
telegram.ext.Job
.Type: telegram.ext.Job
-
bot
¶ The bot associated with this context.
Type: telegram.Bot
-
dispatcher
¶ The dispatcher associated with this context.
Type: telegram.ext.Dispatcher
-
job_queue
¶ The
JobQueue
used by thetelegram.ext.Dispatcher
and (usually) thetelegram.ext.Updater
associated with this context.Type: telegram.ext.JobQueue
-
match
¶ The first match from
matches
. Useful if you are only filtering using a single regex filter. Returns None ifmatches
is empty.Type: Regex match type
-
update_queue
¶ The
Queue
instance used by thetelegram.ext.Dispatcher
and (usually) thetelegram.ext.Updater
associated with this context.Type: queue.Queue
-