X Tutup
Skip to content

Commit bb165b6

Browse files
committed
add pass_job_queue parameter to all handler classes
1 parent 20067ff commit bb165b6

13 files changed

+139
-53
lines changed

telegram/ext/callbackqueryhandler.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,15 @@ class CallbackQueryHandler(Handler):
3434
pass_update_queue (optional[bool]): If the handler should be passed the
3535
update queue as a keyword argument called ``update_queue``. It can
3636
be used to insert updates. Default is ``False``
37+
pass_job_queue (optional[bool]): If the callback should be passed the job queue as a
38+
keyword argument called ``job_queue``. It can be used to schedule new jobs.
39+
Default is ``False``
3740
"""
3841

39-
def __init__(self, callback, pass_update_queue=False):
40-
super(CallbackQueryHandler, self).__init__(callback, pass_update_queue)
42+
def __init__(self, callback, pass_update_queue=False, pass_job_queue=False):
43+
super(CallbackQueryHandler, self).__init__(callback,
44+
pass_update_queue=pass_update_queue,
45+
pass_job_queue=pass_job_queue)
4146

4247
def check_update(self, update):
4348
return isinstance(update, Update) and update.callback_query

telegram/ext/choseninlineresulthandler.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,15 @@ class ChosenInlineResultHandler(Handler):
3535
pass_update_queue (optional[bool]): If the handler should be passed the
3636
update queue as a keyword argument called ``update_queue``. It can
3737
be used to insert updates. Default is ``False``
38+
pass_job_queue (optional[bool]): If the callback should be passed the job queue as a
39+
keyword argument called ``job_queue``. It can be used to schedule new jobs.
40+
Default is ``False``
3841
"""
3942

40-
def __init__(self, callback, pass_update_queue=False):
41-
super(ChosenInlineResultHandler, self).__init__(callback, pass_update_queue)
43+
def __init__(self, callback, pass_update_queue=False, pass_job_queue=False):
44+
super(ChosenInlineResultHandler, self).__init__(callback,
45+
pass_update_queue=pass_update_queue,
46+
pass_job_queue=pass_job_queue)
4247

4348
def check_update(self, update):
4449
return isinstance(update, Update) and update.chosen_inline_result

telegram/ext/commandhandler.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,20 @@ class CommandHandler(Handler):
4141
pass_update_queue (optional[bool]): If the handler should be passed the
4242
update queue as a keyword argument called ``update_queue``. It can
4343
be used to insert updates. Default is ``False``
44+
pass_job_queue (optional[bool]): If the callback should be passed the job queue as a
45+
keyword argument called ``job_queue``. It can be used to schedule new jobs.
46+
Default is ``False``
4447
"""
4548

46-
def __init__(self, command, callback, pass_args=False, pass_update_queue=False):
47-
super(CommandHandler, self).__init__(callback, pass_update_queue)
49+
def __init__(self,
50+
command,
51+
callback,
52+
pass_args=False,
53+
pass_update_queue=False,
54+
pass_job_queue=False):
55+
super(CommandHandler, self).__init__(callback,
56+
pass_update_queue=pass_update_queue,
57+
pass_job_queue=pass_job_queue)
4858
self.command = command
4959
self.pass_args = pass_args
5060

telegram/ext/dispatcher.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,16 @@ class Dispatcher(object):
9090
handlers
9191
update_queue (Queue): The synchronized queue that will contain the
9292
updates.
93+
job_queue (Optional[telegram.ext.JobQueue]): The ``JobQueue`` instance to pass onto handler
94+
callbacks
95+
workers (Optional[int]): Number of maximum concurrent worker threads for the ``@run_async``
96+
decorator
9397
"""
9498

95-
def __init__(self, bot, update_queue, workers=4, exception_event=None):
99+
def __init__(self, bot, update_queue, job_queue=None, workers=4, exception_event=None):
96100
self.bot = bot
97101
self.update_queue = update_queue
102+
self.job_queue = job_queue
98103

99104
self.handlers = {}
100105
""":type: dict[int, list[Handler]"""

telegram/ext/handler.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,15 @@ class Handler(object):
3434
pass_update_queue (optional[bool]): If the callback should be passed
3535
the update queue as a keyword argument called ``update_queue``. It
3636
can be used to insert updates. Default is ``False``
37+
pass_job_queue (optional[bool]): If the callback should be passed the job queue as a
38+
keyword argument called ``job_queue``. It can be used to schedule new jobs.
39+
Default is ``False``
3740
"""
3841

39-
def __init__(self, callback, pass_update_queue=False):
42+
def __init__(self, callback, pass_update_queue=False, pass_job_queue=False):
4043
self.callback = callback
4144
self.pass_update_queue = pass_update_queue
45+
self.pass_job_queue = pass_job_queue
4246

4347
def check_update(self, update):
4448
"""
@@ -77,6 +81,8 @@ def collect_optional_args(self, dispatcher):
7781
optional_args = dict()
7882
if self.pass_update_queue:
7983
optional_args['update_queue'] = dispatcher.update_queue
84+
if self.pass_job_queue:
85+
optional_args['job_queue'] = dispatcher.job_queue
8086

8187
return optional_args
8288

telegram/ext/inlinequeryhandler.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,15 @@ class InlineQueryHandler(Handler):
3434
pass_update_queue (optional[bool]): If the handler should be passed the
3535
update queue as a keyword argument called ``update_queue``. It can
3636
be used to insert updates. Default is ``False``
37+
pass_job_queue (optional[bool]): If the callback should be passed the job queue as a
38+
keyword argument called ``job_queue``. It can be used to schedule new jobs.
39+
Default is ``False``
3740
"""
3841

39-
def __init__(self, callback, pass_update_queue=False):
40-
super(InlineQueryHandler, self).__init__(callback, pass_update_queue)
42+
def __init__(self, callback, pass_update_queue=False, pass_job_queue=False):
43+
super(InlineQueryHandler, self).__init__(callback,
44+
pass_update_queue=pass_update_queue,
45+
pass_job_queue=pass_job_queue)
4146

4247
def check_update(self, update):
4348
return isinstance(update, Update) and update.inline_query

telegram/ext/messagehandler.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,10 +102,15 @@ class MessageHandler(Handler):
102102
pass_update_queue (optional[bool]): If the handler should be passed the
103103
update queue as a keyword argument called ``update_queue``. It can
104104
be used to insert updates. Default is ``False``
105+
pass_job_queue (optional[bool]): If the callback should be passed the job queue as a
106+
keyword argument called ``job_queue``. It can be used to schedule new jobs.
107+
Default is ``False``
105108
"""
106109

107-
def __init__(self, filters, callback, pass_update_queue=False):
108-
super(MessageHandler, self).__init__(callback, pass_update_queue)
110+
def __init__(self, filters, callback, pass_update_queue=False, pass_job_queue=False):
111+
super(MessageHandler, self).__init__(callback,
112+
pass_update_queue=pass_update_queue,
113+
pass_job_queue=pass_job_queue)
109114
self.filters = filters
110115

111116
def check_update(self, update):

telegram/ext/regexhandler.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,21 @@ class RegexHandler(Handler):
4848
pass_update_queue (optional[bool]): If the handler should be passed the
4949
update queue as a keyword argument called ``update_queue``. It can
5050
be used to insert updates. Default is ``False``
51+
pass_job_queue (optional[bool]): If the callback should be passed the job queue as a
52+
keyword argument called ``job_queue``. It can be used to schedule new jobs.
53+
Default is ``False``
5154
"""
5255

5356
def __init__(self,
5457
pattern,
5558
callback,
5659
pass_groups=False,
5760
pass_groupdict=False,
58-
pass_update_queue=False):
59-
super(RegexHandler, self).__init__(callback, pass_update_queue)
61+
pass_update_queue=False,
62+
pass_job_queue=False):
63+
super(RegexHandler, self).__init__(callback,
64+
pass_update_queue=pass_update_queue,
65+
pass_job_queue=pass_job_queue)
6066

6167
if isinstance(pattern, string_types):
6268
pattern = re.compile(pattern)

telegram/ext/stringcommandhandler.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,20 @@ class StringCommandHandler(Handler):
3939
pass_update_queue (optional[bool]): If the handler should be passed the
4040
update queue as a keyword argument called ``update_queue``. It can
4141
be used to insert updates. Default is ``False``
42+
pass_job_queue (optional[bool]): If the callback should be passed the job queue as a
43+
keyword argument called ``job_queue``. It can be used to schedule new jobs.
44+
Default is ``False``
4245
"""
4346

44-
def __init__(self, command, callback, pass_args=False, pass_update_queue=False):
45-
super(StringCommandHandler, self).__init__(callback, pass_update_queue)
47+
def __init__(self,
48+
command,
49+
callback,
50+
pass_args=False,
51+
pass_update_queue=False,
52+
pass_job_queue=False):
53+
super(StringCommandHandler, self).__init__(callback,
54+
pass_update_queue=pass_update_queue,
55+
pass_job_queue=pass_job_queue)
4656
self.command = command
4757
self.pass_args = pass_args
4858

telegram/ext/stringregexhandler.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,21 @@ class StringRegexHandler(Handler):
4747
pass_update_queue (optional[bool]): If the handler should be passed the
4848
update queue as a keyword argument called ``update_queue``. It can
4949
be used to insert updates. Default is ``False``
50+
pass_job_queue (optional[bool]): If the callback should be passed the job queue as a
51+
keyword argument called ``job_queue``. It can be used to schedule new jobs.
52+
Default is ``False``
5053
"""
5154

5255
def __init__(self,
5356
pattern,
5457
callback,
5558
pass_groups=False,
5659
pass_groupdict=False,
57-
pass_update_queue=False):
58-
super(StringRegexHandler, self).__init__(callback, pass_update_queue)
60+
pass_update_queue=False,
61+
pass_job_queue=False):
62+
super(StringRegexHandler, self).__init__(callback,
63+
pass_update_queue=pass_update_queue,
64+
pass_job_queue=pass_job_queue)
5965

6066
if isinstance(pattern, string_types):
6167
pattern = re.compile(pattern)

0 commit comments

Comments
 (0)
X Tutup