mirror of
https://github.com/python-telegram-bot/python-telegram-bot.git
synced 2025-01-09 11:44:22 +01:00
Add default_disable_notification
This commit is contained in:
parent
9f9dc3ebcb
commit
57306ff247
4 changed files with 34 additions and 14 deletions
|
@ -85,6 +85,8 @@ class Bot(TelegramObject):
|
|||
private_key_password (:obj:`bytes`, optional): Password for above private key.
|
||||
default_parse_mode (:obj:`str`, optional): Default parse mode used if not set explicitly in
|
||||
method call. See the constants in :class:`telegram.ParseMode` for the available modes.
|
||||
default_disable_notification (:obj:`bool`, optional): Default setting for the
|
||||
`disable_notification` parameter used if not set explicitly in method call.
|
||||
|
||||
"""
|
||||
|
||||
|
@ -118,12 +120,20 @@ class Bot(TelegramObject):
|
|||
|
||||
return instance
|
||||
|
||||
def __init__(self, token, base_url=None, base_file_url=None, request=None, private_key=None,
|
||||
private_key_password=None, default_parse_mode=None):
|
||||
def __init__(self,
|
||||
token,
|
||||
base_url=None,
|
||||
base_file_url=None,
|
||||
request=None,
|
||||
private_key=None,
|
||||
private_key_password=None,
|
||||
default_parse_mode=None,
|
||||
default_disable_notification=None):
|
||||
self.token = self._validate_token(token)
|
||||
|
||||
# Gather default
|
||||
self.defaults = Defaults(parse_mode=default_parse_mode)
|
||||
self.defaults = Defaults(parse_mode=default_parse_mode,
|
||||
disable_notification=default_disable_notification)
|
||||
|
||||
if base_url is None:
|
||||
base_url = 'https://api.telegram.org/bot'
|
||||
|
|
|
@ -58,9 +58,10 @@ class Updater(object):
|
|||
persistence (:class:`telegram.ext.BasePersistence`): Optional. The persistence class to
|
||||
store data that should be persistent over restarts.
|
||||
use_context (:obj:`bool`, optional): ``True`` if using context based callbacks.
|
||||
default_parse_mode (:obj:`str`, optional): Default parse mode used if not set explicitly in
|
||||
default_parse_mode (:obj:`str`): Optional. Default parse mode used if not set explicitly in
|
||||
method call. See the constants in :class:`telegram.ParseMode` for the available modes.
|
||||
|
||||
default_disable_notification (:obj:`bool`): Optional. Default setting for the
|
||||
`disable_notification` parameter used if not set explicitly in method call.
|
||||
Args:
|
||||
token (:obj:`str`, optional): The bot's token given by the @BotFather.
|
||||
base_url (:obj:`str`, optional): Base_url for the bot.
|
||||
|
@ -85,6 +86,8 @@ class Updater(object):
|
|||
store data that should be persistent over restarts.
|
||||
default_parse_mode (:obj:`str`, optional): Default parse mode used if not set explicitly in
|
||||
method call. See the constants in :class:`telegram.ParseMode` for the available modes.
|
||||
default_disable_notification (:obj:`bool`, optional): Default setting for the
|
||||
`disable_notification` parameter used if not set explicitly in method call.
|
||||
|
||||
Note:
|
||||
You must supply either a :attr:`bot` or a :attr:`token` argument.
|
||||
|
@ -107,6 +110,7 @@ class Updater(object):
|
|||
request_kwargs=None,
|
||||
persistence=None,
|
||||
default_parse_mode=None,
|
||||
default_disable_notification=None,
|
||||
use_context=False):
|
||||
|
||||
if (token is None) and (bot is None):
|
||||
|
@ -140,7 +144,8 @@ class Updater(object):
|
|||
self._request = Request(**request_kwargs)
|
||||
self.bot = Bot(token, base_url, request=self._request, private_key=private_key,
|
||||
private_key_password=private_key_password,
|
||||
default_parse_mode=default_parse_mode)
|
||||
default_parse_mode=default_parse_mode,
|
||||
default_disable_notification=default_disable_notification)
|
||||
self.user_sig_handler = user_sig_handler
|
||||
self.update_queue = Queue()
|
||||
self.job_queue = JobQueue()
|
||||
|
|
|
@ -264,16 +264,21 @@ class Defaults:
|
|||
Attributes:
|
||||
parse_mode (:obj:`str`): Optional. Send Markdown or HTML, if you want Telegram apps to show
|
||||
bold, italic, fixed-width toxt or URLs in your bot's message.
|
||||
disable_notification (:obj:`bool`): Optional. Sends the message silently. Users will
|
||||
receive a notification with no sound.
|
||||
|
||||
Parameters:
|
||||
parse_mode (:obj:`str`, optional): Send Markdown or HTML, if you want Telegram apps to show
|
||||
bold, italic, fixed-width toxt or URLs in your bot's message.
|
||||
disable_notification (:obj:`bool`, optional): Sends the message silently. Users will
|
||||
receive a notification with no sound.
|
||||
"""
|
||||
def __init__(self, parse_mode=None):
|
||||
def __init__(self, parse_mode=None, disable_notification=None):
|
||||
self.parse_mode = parse_mode
|
||||
self.disable_notification = disable_notification
|
||||
|
||||
def __hash__(self):
|
||||
return hash((self.parse_mode))
|
||||
return hash((self.parse_mode, self.disable_notification))
|
||||
|
||||
def __eq__(self, other):
|
||||
if isinstance(other, Defaults):
|
||||
|
|
|
@ -181,9 +181,9 @@ class TestChat(object):
|
|||
|
||||
def test_instance_method_send_sticker(self, monkeypatch, chat):
|
||||
def test(*args, **kwargs):
|
||||
return args[1] == chat.id and args[2] == 'test_sticker'
|
||||
return args[0] == chat.id and args[1] == 'test_sticker'
|
||||
|
||||
monkeypatch.setattr('telegram.Bot.send_sticker', test)
|
||||
monkeypatch.setattr(chat.bot, 'send_sticker', test)
|
||||
assert chat.send_sticker('test_sticker')
|
||||
|
||||
def test_instance_method_send_video(self, monkeypatch, chat):
|
||||
|
@ -195,9 +195,9 @@ class TestChat(object):
|
|||
|
||||
def test_instance_method_send_video_note(self, monkeypatch, chat):
|
||||
def test(*args, **kwargs):
|
||||
return args[1] == chat.id and args[2] == 'test_video_note'
|
||||
return args[0] == chat.id and args[1] == 'test_video_note'
|
||||
|
||||
monkeypatch.setattr('telegram.Bot.send_video_note', test)
|
||||
monkeypatch.setattr(chat.bot, 'send_video_note', test)
|
||||
assert chat.send_video_note('test_video_note')
|
||||
|
||||
def test_instance_method_send_voice(self, monkeypatch, chat):
|
||||
|
@ -216,9 +216,9 @@ class TestChat(object):
|
|||
|
||||
def test_instance_method_send_poll(self, monkeypatch, chat):
|
||||
def test(*args, **kwargs):
|
||||
return args[1] == chat.id and args[2] == 'test_poll'
|
||||
return args[0] == chat.id and args[1] == 'test_poll'
|
||||
|
||||
monkeypatch.setattr('telegram.Bot.send_poll', test)
|
||||
monkeypatch.setattr(chat.bot, 'send_poll', test)
|
||||
assert chat.send_poll('test_poll')
|
||||
|
||||
def test_equality(self):
|
||||
|
|
Loading…
Reference in a new issue