mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2024-11-26 19:33:45 +03:00
Expose silent parameter when sending messages
This commit is contained in:
parent
71309c886e
commit
e902304360
|
@ -334,7 +334,8 @@ class MessageMethods(UploadMethods, ButtonMethods, MessageParseMethods):
|
||||||
async def send_message(
|
async def send_message(
|
||||||
self, entity, message='', *, reply_to=None,
|
self, entity, message='', *, reply_to=None,
|
||||||
parse_mode=utils.Default, link_preview=True, file=None,
|
parse_mode=utils.Default, link_preview=True, file=None,
|
||||||
force_document=False, clear_draft=False, buttons=None):
|
force_document=False, clear_draft=False, buttons=None,
|
||||||
|
silent=None):
|
||||||
"""
|
"""
|
||||||
Sends the given message to the specified entity (user/chat/channel).
|
Sends the given message to the specified entity (user/chat/channel).
|
||||||
|
|
||||||
|
@ -390,6 +391,11 @@ class MessageMethods(UploadMethods, ButtonMethods, MessageParseMethods):
|
||||||
you have signed in as a bot. You can also pass your own
|
you have signed in as a bot. You can also pass your own
|
||||||
:tl:`ReplyMarkup` here.
|
:tl:`ReplyMarkup` here.
|
||||||
|
|
||||||
|
silent (`bool`, optional):
|
||||||
|
Whether the message should notify people in a broadcast
|
||||||
|
channel or not. Defaults to ``False``, which means it will
|
||||||
|
notify them. Set it to ``True`` to alter this behaviour.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
The sent `custom.Message <telethon.tl.custom.message.Message>`.
|
The sent `custom.Message <telethon.tl.custom.message.Message>`.
|
||||||
"""
|
"""
|
||||||
|
@ -431,10 +437,13 @@ class MessageMethods(UploadMethods, ButtonMethods, MessageParseMethods):
|
||||||
else:
|
else:
|
||||||
markup = self._build_reply_markup(buttons)
|
markup = self._build_reply_markup(buttons)
|
||||||
|
|
||||||
|
if silent is None:
|
||||||
|
silent = message.silent
|
||||||
|
|
||||||
request = functions.messages.SendMessageRequest(
|
request = functions.messages.SendMessageRequest(
|
||||||
peer=entity,
|
peer=entity,
|
||||||
message=message.message or '',
|
message=message.message or '',
|
||||||
silent=message.silent,
|
silent=silent,
|
||||||
reply_to_msg_id=reply_id,
|
reply_to_msg_id=reply_id,
|
||||||
reply_markup=markup,
|
reply_markup=markup,
|
||||||
entities=message.entities,
|
entities=message.entities,
|
||||||
|
@ -453,6 +462,7 @@ class MessageMethods(UploadMethods, ButtonMethods, MessageParseMethods):
|
||||||
no_webpage=not link_preview,
|
no_webpage=not link_preview,
|
||||||
reply_to_msg_id=utils.get_message_id(reply_to),
|
reply_to_msg_id=utils.get_message_id(reply_to),
|
||||||
clear_draft=clear_draft,
|
clear_draft=clear_draft,
|
||||||
|
silent=silent,
|
||||||
reply_markup=self._build_reply_markup(buttons)
|
reply_markup=self._build_reply_markup(buttons)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -471,7 +481,8 @@ class MessageMethods(UploadMethods, ButtonMethods, MessageParseMethods):
|
||||||
|
|
||||||
return self._get_response_message(request, result, entity)
|
return self._get_response_message(request, result, entity)
|
||||||
|
|
||||||
async def forward_messages(self, entity, messages, from_peer=None):
|
async def forward_messages(self, entity, messages, from_peer=None,
|
||||||
|
*, silent=None):
|
||||||
"""
|
"""
|
||||||
Forwards the given message(s) to the specified entity.
|
Forwards the given message(s) to the specified entity.
|
||||||
|
|
||||||
|
@ -487,6 +498,11 @@ class MessageMethods(UploadMethods, ButtonMethods, MessageParseMethods):
|
||||||
of the ``Message`` class, this *must* be specified in
|
of the ``Message`` class, this *must* be specified in
|
||||||
order for the forward to work.
|
order for the forward to work.
|
||||||
|
|
||||||
|
silent (`bool`, optional):
|
||||||
|
Whether the message should notify people in a broadcast
|
||||||
|
channel or not. Defaults to ``False``, which means it will
|
||||||
|
notify them. Set it to ``True`` to alter this behaviour.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
The list of forwarded `telethon.tl.custom.message.Message`,
|
The list of forwarded `telethon.tl.custom.message.Message`,
|
||||||
or a single one if a list wasn't provided as input.
|
or a single one if a list wasn't provided as input.
|
||||||
|
@ -514,7 +530,8 @@ class MessageMethods(UploadMethods, ButtonMethods, MessageParseMethods):
|
||||||
req = functions.messages.ForwardMessagesRequest(
|
req = functions.messages.ForwardMessagesRequest(
|
||||||
from_peer=from_peer,
|
from_peer=from_peer,
|
||||||
id=[m if isinstance(m, int) else m.id for m in messages],
|
id=[m if isinstance(m, int) else m.id for m in messages],
|
||||||
to_peer=entity
|
to_peer=entity,
|
||||||
|
silent=silent
|
||||||
)
|
)
|
||||||
result = await self(req)
|
result = await self(req)
|
||||||
if isinstance(result, (types.Updates, types.UpdatesCombined)):
|
if isinstance(result, (types.Updates, types.UpdatesCombined)):
|
||||||
|
|
|
@ -31,7 +31,8 @@ class UploadMethods(ButtonMethods, MessageParseMethods, UserMethods):
|
||||||
self, entity, file, *, caption='', force_document=False,
|
self, entity, file, *, caption='', force_document=False,
|
||||||
progress_callback=None, reply_to=None, attributes=None,
|
progress_callback=None, reply_to=None, attributes=None,
|
||||||
thumb=None, allow_cache=True, parse_mode=utils.Default,
|
thumb=None, allow_cache=True, parse_mode=utils.Default,
|
||||||
voice_note=False, video_note=False, buttons=None, **kwargs):
|
voice_note=False, video_note=False, buttons=None, silent=None,
|
||||||
|
**kwargs):
|
||||||
"""
|
"""
|
||||||
Sends a file to the specified entity.
|
Sends a file to the specified entity.
|
||||||
|
|
||||||
|
@ -106,6 +107,11 @@ class UploadMethods(ButtonMethods, MessageParseMethods, UserMethods):
|
||||||
you have signed in as a bot. You can also pass your own
|
you have signed in as a bot. You can also pass your own
|
||||||
:tl:`ReplyMarkup` here.
|
:tl:`ReplyMarkup` here.
|
||||||
|
|
||||||
|
silent (`bool`, optional):
|
||||||
|
Whether the message should notify people in a broadcast
|
||||||
|
channel or not. Defaults to ``False``, which means it will
|
||||||
|
notify them. Set it to ``True`` to alter this behaviour.
|
||||||
|
|
||||||
Notes:
|
Notes:
|
||||||
If the ``hachoir3`` package (``hachoir`` module) is installed,
|
If the ``hachoir3`` package (``hachoir`` module) is installed,
|
||||||
it will be used to determine metadata from audio and video files.
|
it will be used to determine metadata from audio and video files.
|
||||||
|
@ -134,7 +140,7 @@ class UploadMethods(ButtonMethods, MessageParseMethods, UserMethods):
|
||||||
result += await self._send_album(
|
result += await self._send_album(
|
||||||
entity, images[:10], caption=caption,
|
entity, images[:10], caption=caption,
|
||||||
progress_callback=progress_callback, reply_to=reply_to,
|
progress_callback=progress_callback, reply_to=reply_to,
|
||||||
parse_mode=parse_mode
|
parse_mode=parse_mode, silent=silent
|
||||||
)
|
)
|
||||||
images = images[10:]
|
images = images[10:]
|
||||||
|
|
||||||
|
@ -144,7 +150,8 @@ class UploadMethods(ButtonMethods, MessageParseMethods, UserMethods):
|
||||||
caption=caption, force_document=force_document,
|
caption=caption, force_document=force_document,
|
||||||
progress_callback=progress_callback, reply_to=reply_to,
|
progress_callback=progress_callback, reply_to=reply_to,
|
||||||
attributes=attributes, thumb=thumb, voice_note=voice_note,
|
attributes=attributes, thumb=thumb, voice_note=voice_note,
|
||||||
video_note=video_note, buttons=buttons, **kwargs
|
video_note=video_note, buttons=buttons, silent=silent,
|
||||||
|
**kwargs
|
||||||
))
|
))
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
@ -170,7 +177,7 @@ class UploadMethods(ButtonMethods, MessageParseMethods, UserMethods):
|
||||||
markup = self._build_reply_markup(buttons)
|
markup = self._build_reply_markup(buttons)
|
||||||
request = functions.messages.SendMediaRequest(
|
request = functions.messages.SendMediaRequest(
|
||||||
entity, media, reply_to_msg_id=reply_to, message=caption,
|
entity, media, reply_to_msg_id=reply_to, message=caption,
|
||||||
entities=msg_entities, reply_markup=markup
|
entities=msg_entities, reply_markup=markup, silent=silent
|
||||||
)
|
)
|
||||||
msg = self._get_response_message(request, await self(request), entity)
|
msg = self._get_response_message(request, await self(request), entity)
|
||||||
self._cache_media(msg, file, file_handle, force_document=force_document)
|
self._cache_media(msg, file, file_handle, force_document=force_document)
|
||||||
|
@ -179,7 +186,7 @@ class UploadMethods(ButtonMethods, MessageParseMethods, UserMethods):
|
||||||
|
|
||||||
async def _send_album(self, entity, files, caption='',
|
async def _send_album(self, entity, files, caption='',
|
||||||
progress_callback=None, reply_to=None,
|
progress_callback=None, reply_to=None,
|
||||||
parse_mode=utils.Default):
|
parse_mode=utils.Default, silent=None):
|
||||||
"""Specialized version of .send_file for albums"""
|
"""Specialized version of .send_file for albums"""
|
||||||
# We don't care if the user wants to avoid cache, we will use it
|
# We don't care if the user wants to avoid cache, we will use it
|
||||||
# anyway. Why? The cached version will be exactly the same thing
|
# anyway. Why? The cached version will be exactly the same thing
|
||||||
|
@ -222,7 +229,7 @@ class UploadMethods(ButtonMethods, MessageParseMethods, UserMethods):
|
||||||
|
|
||||||
# Now we can construct the multi-media request
|
# Now we can construct the multi-media request
|
||||||
result = await self(functions.messages.SendMultiMediaRequest(
|
result = await self(functions.messages.SendMultiMediaRequest(
|
||||||
entity, reply_to_msg_id=reply_to, multi_media=media
|
entity, reply_to_msg_id=reply_to, multi_media=media, silent=silent
|
||||||
))
|
))
|
||||||
return [
|
return [
|
||||||
self._get_response_message(update.id, result, entity)
|
self._get_response_message(update.id, result, entity)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user