mirror of
https://github.com/eternnoir/pyTelegramBotAPI.git
synced 2023-08-10 21:12:57 +03:00
Merge pull request #906 from daveusa31/master
Added ability to set default parse_mode in main TeleBot class.
This commit is contained in:
commit
e9f925e14c
@ -85,15 +85,17 @@ class TeleBot:
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self, token, threaded=True, skip_pending=False, num_threads=2,
|
self, token, parse_mode=None, threaded=True, skip_pending=False, num_threads=2,
|
||||||
next_step_backend=None, reply_backend=None
|
next_step_backend=None, reply_backend=None
|
||||||
):
|
):
|
||||||
"""
|
"""
|
||||||
:param token: bot API token
|
:param token: bot API token
|
||||||
|
:param parse_mode: default parse_mode
|
||||||
:return: Telebot object.
|
:return: Telebot object.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
self.token = token
|
self.token = token
|
||||||
|
self.parse_mode = parse_mode
|
||||||
self.update_listener = []
|
self.update_listener = []
|
||||||
self.skip_pending = skip_pending
|
self.skip_pending = skip_pending
|
||||||
|
|
||||||
@ -632,6 +634,8 @@ class TeleBot:
|
|||||||
:param timeout:
|
:param timeout:
|
||||||
:return: API reply.
|
:return: API reply.
|
||||||
"""
|
"""
|
||||||
|
parse_mode = self.parse_mode if not parse_mode else parse_mode
|
||||||
|
|
||||||
return types.Message.de_json(
|
return types.Message.de_json(
|
||||||
apihelper.send_message(self.token, chat_id, text, disable_web_page_preview, reply_to_message_id,
|
apihelper.send_message(self.token, chat_id, text, disable_web_page_preview, reply_to_message_id,
|
||||||
reply_markup, parse_mode, disable_notification, timeout))
|
reply_markup, parse_mode, disable_notification, timeout))
|
||||||
@ -689,6 +693,8 @@ class TeleBot:
|
|||||||
:param reply_markup:
|
:param reply_markup:
|
||||||
:return: API reply.
|
:return: API reply.
|
||||||
"""
|
"""
|
||||||
|
parse_mode = self.parse_mode if not parse_mode else parse_mode
|
||||||
|
|
||||||
return types.Message.de_json(
|
return types.Message.de_json(
|
||||||
apihelper.send_photo(self.token, chat_id, photo, caption, reply_to_message_id, reply_markup,
|
apihelper.send_photo(self.token, chat_id, photo, caption, reply_to_message_id, reply_markup,
|
||||||
parse_mode, disable_notification, timeout))
|
parse_mode, disable_notification, timeout))
|
||||||
@ -731,6 +737,8 @@ class TeleBot:
|
|||||||
:param timeout:
|
:param timeout:
|
||||||
:return: Message
|
:return: Message
|
||||||
"""
|
"""
|
||||||
|
parse_mode = self.parse_mode if not parse_mode else parse_mode
|
||||||
|
|
||||||
return types.Message.de_json(
|
return types.Message.de_json(
|
||||||
apihelper.send_voice(self.token, chat_id, voice, caption, duration, reply_to_message_id, reply_markup,
|
apihelper.send_voice(self.token, chat_id, voice, caption, duration, reply_to_message_id, reply_markup,
|
||||||
parse_mode, disable_notification, timeout))
|
parse_mode, disable_notification, timeout))
|
||||||
@ -749,6 +757,8 @@ class TeleBot:
|
|||||||
:param timeout:
|
:param timeout:
|
||||||
:return: API reply.
|
:return: API reply.
|
||||||
"""
|
"""
|
||||||
|
parse_mode = self.parse_mode if not parse_mode else parse_mode
|
||||||
|
|
||||||
return types.Message.de_json(
|
return types.Message.de_json(
|
||||||
apihelper.send_data(self.token, chat_id, data, 'document', reply_to_message_id, reply_markup,
|
apihelper.send_data(self.token, chat_id, data, 'document', reply_to_message_id, reply_markup,
|
||||||
parse_mode, disable_notification, timeout, caption=caption))
|
parse_mode, disable_notification, timeout, caption=caption))
|
||||||
@ -785,9 +795,11 @@ class TeleBot:
|
|||||||
:param reply_markup:
|
:param reply_markup:
|
||||||
:param disable_notification:
|
:param disable_notification:
|
||||||
:param timeout:
|
:param timeout:
|
||||||
:param thumb:
|
:param thumb:
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
|
parse_mode = self.parse_mode if not parse_mode else parse_mode
|
||||||
|
|
||||||
return types.Message.de_json(
|
return types.Message.de_json(
|
||||||
apihelper.send_video(self.token, chat_id, data, duration, caption, reply_to_message_id, reply_markup,
|
apihelper.send_video(self.token, chat_id, data, duration, caption, reply_to_message_id, reply_markup,
|
||||||
parse_mode, supports_streaming, disable_notification, timeout, thumb))
|
parse_mode, supports_streaming, disable_notification, timeout, thumb))
|
||||||
@ -807,6 +819,8 @@ class TeleBot:
|
|||||||
:param timeout:
|
:param timeout:
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
|
parse_mode = self.parse_mode if not parse_mode else parse_mode
|
||||||
|
|
||||||
return types.Message.de_json(
|
return types.Message.de_json(
|
||||||
apihelper.send_animation(self.token, chat_id, animation, duration, caption, reply_to_message_id, reply_markup,
|
apihelper.send_animation(self.token, chat_id, animation, duration, caption, reply_to_message_id, reply_markup,
|
||||||
parse_mode, disable_notification, timeout))
|
parse_mode, disable_notification, timeout))
|
||||||
@ -1165,6 +1179,8 @@ class TeleBot:
|
|||||||
:param reply_markup:
|
:param reply_markup:
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
|
parse_mode = self.parse_mode if not parse_mode else parse_mode
|
||||||
|
|
||||||
result = apihelper.edit_message_text(self.token, text, chat_id, message_id, inline_message_id, parse_mode,
|
result = apihelper.edit_message_text(self.token, text, chat_id, message_id, inline_message_id, parse_mode,
|
||||||
disable_web_page_preview, reply_markup)
|
disable_web_page_preview, reply_markup)
|
||||||
if type(result) == bool: # if edit inline message return is bool not Message.
|
if type(result) == bool: # if edit inline message return is bool not Message.
|
||||||
@ -1367,6 +1383,8 @@ class TeleBot:
|
|||||||
:param reply_markup:
|
:param reply_markup:
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
|
parse_mode = self.parse_mode if not parse_mode else parse_mode
|
||||||
|
|
||||||
result = apihelper.edit_message_caption(self.token, caption, chat_id, message_id, inline_message_id,
|
result = apihelper.edit_message_caption(self.token, caption, chat_id, message_id, inline_message_id,
|
||||||
parse_mode, reply_markup)
|
parse_mode, reply_markup)
|
||||||
if type(result) == bool:
|
if type(result) == bool:
|
||||||
|
100
telebot/util.py
100
telebot/util.py
@ -25,67 +25,67 @@ thread_local = threading.local()
|
|||||||
|
|
||||||
|
|
||||||
class WorkerThread(threading.Thread):
|
class WorkerThread(threading.Thread):
|
||||||
count = 0
|
count = 0
|
||||||
|
|
||||||
def __init__(self, exception_callback=None, queue=None, name=None):
|
def __init__(self, exception_callback=None, queue=None, name=None):
|
||||||
if not name:
|
if not name:
|
||||||
name = "WorkerThread{0}".format(self.__class__.count + 1)
|
name = "WorkerThread{0}".format(self.__class__.count + 1)
|
||||||
self.__class__.count += 1
|
self.__class__.count += 1
|
||||||
if not queue:
|
if not queue:
|
||||||
queue = Queue.Queue()
|
queue = Queue.Queue()
|
||||||
|
|
||||||
threading.Thread.__init__(self, name=name)
|
threading.Thread.__init__(self, name=name)
|
||||||
self.queue = queue
|
self.queue = queue
|
||||||
self.daemon = True
|
self.daemon = True
|
||||||
|
|
||||||
self.received_task_event = threading.Event()
|
self.received_task_event = threading.Event()
|
||||||
self.done_event = threading.Event()
|
self.done_event = threading.Event()
|
||||||
self.exception_event = threading.Event()
|
self.exception_event = threading.Event()
|
||||||
self.continue_event = threading.Event()
|
self.continue_event = threading.Event()
|
||||||
|
|
||||||
self.exception_callback = exception_callback
|
self.exception_callback = exception_callback
|
||||||
self.exc_info = None
|
self.exc_info = None
|
||||||
self._running = True
|
self._running = True
|
||||||
self.start()
|
self.start()
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
while self._running:
|
while self._running:
|
||||||
try:
|
try:
|
||||||
task, args, kwargs = self.queue.get(block=True, timeout=.5)
|
task, args, kwargs = self.queue.get(block=True, timeout=.5)
|
||||||
self.continue_event.clear()
|
self.continue_event.clear()
|
||||||
self.received_task_event.clear()
|
self.received_task_event.clear()
|
||||||
self.done_event.clear()
|
self.done_event.clear()
|
||||||
self.exception_event.clear()
|
self.exception_event.clear()
|
||||||
logger.debug("Received task")
|
logger.debug("Received task")
|
||||||
self.received_task_event.set()
|
self.received_task_event.set()
|
||||||
|
|
||||||
task(*args, **kwargs)
|
task(*args, **kwargs)
|
||||||
logger.debug("Task complete")
|
logger.debug("Task complete")
|
||||||
self.done_event.set()
|
self.done_event.set()
|
||||||
except Queue.Empty:
|
except Queue.Empty:
|
||||||
pass
|
pass
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(type(e).__name__ + " occurred, args=" + str(e.args) + "\n" + traceback.format_exc())
|
logger.error(type(e).__name__ + " occurred, args=" + str(e.args) + "\n" + traceback.format_exc())
|
||||||
self.exc_info = sys.exc_info()
|
self.exc_info = sys.exc_info()
|
||||||
self.exception_event.set()
|
self.exception_event.set()
|
||||||
|
|
||||||
if self.exception_callback:
|
if self.exception_callback:
|
||||||
self.exception_callback(self, self.exc_info)
|
self.exception_callback(self, self.exc_info)
|
||||||
self.continue_event.wait()
|
self.continue_event.wait()
|
||||||
|
|
||||||
def put(self, task, *args, **kwargs):
|
def put(self, task, *args, **kwargs):
|
||||||
self.queue.put((task, args, kwargs))
|
self.queue.put((task, args, kwargs))
|
||||||
|
|
||||||
def raise_exceptions(self):
|
def raise_exceptions(self):
|
||||||
if self.exception_event.is_set():
|
if self.exception_event.is_set():
|
||||||
six.reraise(self.exc_info[0], self.exc_info[1], self.exc_info[2])
|
six.reraise(self.exc_info[0], self.exc_info[1], self.exc_info[2])
|
||||||
|
|
||||||
def clear_exceptions(self):
|
def clear_exceptions(self):
|
||||||
self.exception_event.clear()
|
self.exception_event.clear()
|
||||||
self.continue_event.set()
|
self.continue_event.set()
|
||||||
|
|
||||||
def stop(self):
|
def stop(self):
|
||||||
self._running = False
|
self._running = False
|
||||||
|
|
||||||
|
|
||||||
class ThreadPool:
|
class ThreadPool:
|
||||||
|
Loading…
Reference in New Issue
Block a user