Job¶
- class telegram.ext.Job(callback, data=None, name=None, chat_id=None, user_id=None)[source]¶
Bases:
typing.Generic
This class is a convenience wrapper for the jobs held in a
telegram.ext.JobQueue
. With the current backend APScheduler,job
holds aapscheduler.job.Job
instance.Objects of this class are comparable in terms of equality. Two objects of this class are considered equal, if their
id
is equal.This class is a
Generic
class and accepts one type variable that specifies the type of the argumentcontext
ofcallback
.Important
If you want to use this class, you must install PTB with the optional requirement
job-queue
, i.e.pip install "python-telegram-bot[job-queue]"
Note
All attributes and instance methods of
job
are also directly available as attributes/methods of the correspondingtelegram.ext.Job
object.Warning
This class should not be instantiated manually. Use the methods of
telegram.ext.JobQueue
to schedule jobs.Available In
See also
Changed in version 20.0:
Removed argument and attribute
job_queue
.Renamed
Job.context
toJob.data
.Removed argument
job
To use this class, PTB must be installed via
pip install "python-telegram-bot[job-queue]"
.
- Parameters:
callback (coroutine function) –
The callback function that should be executed by the new job. Callback signature:
async def callback(context: CallbackContext)
data (
object
, optional) – Additional data needed for thecallback
function. Can be accessed throughJob.data
in the callback. Defaults toNone
.name (
str
, optional) – The name of the new job. Defaults tocallback.__name__
.Chat id of the chat that this job is associated with.
Added in version 20.0.
User id of the user that this job is associated with.
Added in version 20.0.
- chat_id[source]¶
Optional. Chat id of the chat that this job is associated with.
Added in version 20.0.
- Type:
- user_id[source]¶
Optional. User id of the user that this job is associated with.
Added in version 20.0.
- Type:
- __eq__(other)[source]¶
Defines equality condition for the
telegram.ext.Job
object. Two objects of this class are considered to be equal if theirid
are equal.
- __getattr__(item)[source]¶
Overrides
object.__getattr__()
to get specific attribute of thetelegram.ext.Job
object or of its attributeapscheduler.job.Job
, if exists.- Parameters:
- Returns:
object: The value of the attribute.
- Raises:
AttributeError – If the attribute does not exist in both
telegram.ext.Job
andapscheduler.job.Job
objects.
- __hash__()[source]¶
Builds a hash value for this object such that the hash of two objects is equal if and only if the objects are equal in terms of
__eq__()
.- Returns:
The hash value of the object.
- Return type:
- __repr__()[source]¶
Give a string representation of the job in the form
Job[id=..., name=..., callback=..., trigger=...]
.As this class doesn’t implement
object.__str__()
, the default implementation will be used, which is equivalent to__repr__()
.- Returns:
- classmethod from_aps_job(aps_job)[source]¶
Provides the
telegram.ext.Job
that is associated with the given APScheduler job.Tip
This method can be useful when using advanced APScheduler features along with
telegram.ext.JobQueue
.Added in version 20.4.
- Parameters:
aps_job (
apscheduler.job.Job
) – The APScheduler job- Returns:
- property job[source]¶
The APS Job this job is a wrapper for.
Changed in version 20.0: This property is now read-only.
- Type:
- property next_t[source]¶
Datetime for the next job execution. Datetime is localized according to
datetime.datetime.tzinfo
. If job is removed or already ran it equals toNone
.Warning
This attribute is only available, if the
telegram.ext.JobQueue
this job belongs to is already started. Otherwise APScheduler raises anAttributeError
.- Type:
- async run(application)[source]¶
Executes the callback function independently of the jobs schedule. Also calls
telegram.ext.Application.update_persistence()
.Changed in version 20.0: Calls
telegram.ext.Application.update_persistence()
.- Parameters:
application (
telegram.ext.Application
) – The application this job is associated with.