Telethon/methods/messages/send_multi_media.html
2024-11-17 22:32:52 +01:00

59 lines
9.3 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SendMultiMediaRequest</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link id="style" href="../../css/docs.dark.css" rel="stylesheet">
<script>
document.getElementById("style").href = "../../css/docs."
+ (localStorage.getItem("theme") || "light")
+ ".css";
</script>
<link href="https://fonts.googleapis.com/css?family=Nunito|Source+Code+Pro"
rel="stylesheet">
</head>
<body>
<div id="main_div"><ul class="horizontal"><li><a href="../../index.html">API</a></li><img src="../../img/arrow.svg" alt="/" /><li><a href="../index.html">Methods</a></li><img src="../../img/arrow.svg" alt="/" /><li><a href="index.html">Messages</a></li><img src="../../img/arrow.svg" alt="/" /><li><a href="send_multi_media.html">SendMultiMediaRequest</a></li></ul><h1>SendMultiMediaRequest</h1><p><strong>Both users and bots</strong> can use this request. <a href="#examples">See code examples.</a></p><pre>---functions---
messages.sendMultiMedia#37b74355 flags:# silent:flags.5?<a href="../../index.html#true">true</a> background:flags.6?<a href="../../index.html#true">true</a> clear_draft:flags.7?<a href="../../index.html#true">true</a> noforwards:flags.14?<a href="../../index.html#true">true</a> update_stickersets_order:flags.15?<a href="../../index.html#true">true</a> invert_media:flags.16?<a href="../../index.html#true">true</a> allow_paid_floodskip:flags.19?<a href="../../index.html#true">true</a> peer:<a href="../../types/input_peer.html">InputPeer</a> reply_to:flags.0?<a href="../../types/input_reply_to.html">InputReplyTo</a> multi_media:<a href="../../index.html#vector">Vector</a>&lt;<a href="../../types/input_single_media.html">InputSingleMedia</a>&gt; schedule_date:flags.10?<a href="../../index.html#date">date</a> send_as:flags.13?<a href="../../types/input_peer.html">InputPeer</a> quick_reply_shortcut:flags.17?<a href="../../types/input_quick_reply_shortcut.html">InputQuickReplyShortcut</a> effect:flags.18?<a href="../../index.html#long">long</a> = <a href="../../types/updates.html">Updates</a></pre><button onclick="cp('from telethon.tl.functions.messages import SendMultiMediaRequest');">Copy import to the clipboard</button><h3>Returns</h3><table><tr><td><a href="../../types/updates.html">Updates</a></td></tr></table><p>This type can be an instance of either:</p><table><tr><td><a href="../../constructors/update_short.html">UpdateShort</a></td><td><a href="../../constructors/update_short_chat_message.html">UpdateShortChatMessage</a></td></tr><tr><td><a href="../../constructors/update_short_message.html">UpdateShortMessage</a></td><td><a href="../../constructors/update_short_sent_message.html">UpdateShortSentMessage</a></td></tr><tr><td><a href="../../constructors/updates.html">Updates</a></td><td><a href="../../constructors/updates_combined.html">UpdatesCombined</a></td></tr><tr><td><a href="../../constructors/updates_too_long.html">UpdatesTooLong</a></td></tr></table><h3>Parameters</h3><table><tr><td><b>peer</b></td><td style="text-align:center"><a href="../../types/input_peer.html">InputPeer</a></td><td>Anything entity-like will work if the library can find its <code>Input</code> version (e.g., usernames, <code>Peer</code>, <code>User</code> or <code>Channel</code> objects, etc.).</td></tr><tr><td><b>multi_media</b></td><td style="text-align:center"><a href="../../types/input_single_media.html">InputSingleMedia</a></td><td>A <span class="tooltip" title="Any iterable that supports len() will work too">list</span> must be supplied.</td></tr><tr><td><b>silent</b></td><td style="text-align:center"><a href="../../index.html#true">flag</a></td><td>This argument defaults to <code>None</code> and can be omitted.</td></tr><tr><td><b>background</b></td><td style="text-align:center"><a href="../../index.html#true">flag</a></td><td>This argument defaults to <code>None</code> and can be omitted.</td></tr><tr><td><b>clear_draft</b></td><td style="text-align:center"><a href="../../index.html#true">flag</a></td><td>This argument defaults to <code>None</code> and can be omitted.</td></tr><tr><td><b>noforwards</b></td><td style="text-align:center"><a href="../../index.html#true">flag</a></td><td>This argument defaults to <code>None</code> and can be omitted.</td></tr><tr><td><b>update_stickersets_order</b></td><td style="text-align:center"><a href="../../index.html#true">flag</a></td><td>This argument defaults to <code>None</code> and can be omitted.</td></tr><tr><td><b>invert_media</b></td><td style="text-align:center"><a href="../../index.html#true">flag</a></td><td>This argument defaults to <code>None</code> and can be omitted.</td></tr><tr><td><b>allow_paid_floodskip</b></td><td style="text-align:center"><a href="../../index.html#true">flag</a></td><td>This argument defaults to <code>None</code> and can be omitted.</td></tr><tr><td><b>reply_to</b></td><td style="text-align:center"><a href="../../types/input_reply_to.html">InputReplyTo</a></td><td>This argument defaults to <code>None</code> and can be omitted.</td></tr><tr><td><b>schedule_date</b></td><td style="text-align:center"><a href="../../index.html#date">date</a></td><td>This argument defaults to <code>None</code> and can be omitted.</td></tr><tr><td><b>send_as</b></td><td style="text-align:center"><a href="../../types/input_peer.html">InputPeer</a></td><td>This argument defaults to <code>None</code> and can be omitted. Anything entity-like will work if the library can find its <code>Input</code> version (e.g., usernames, <code>Peer</code>, <code>User</code> or <code>Channel</code> objects, etc.).</td></tr><tr><td><b>quick_reply_shortcut</b></td><td style="text-align:center"><a href="../../types/input_quick_reply_shortcut.html">InputQuickReplyShortcut</a></td><td>This argument defaults to <code>None</code> and can be omitted.</td></tr><tr><td><b>effect</b></td><td style="text-align:center"><a href="../../index.html#long">long</a></td><td>This argument defaults to <code>None</code> and can be omitted.</td></tr></table><h1>Known RPC errors</h1><p>This request can cause 5 known errors:</p><table><tr><td><code>EntityBoundsInvalidError</code></td><td>Some of provided entities have invalid bounds (length is zero or out of the boundaries of the string).</td></tr><tr><td><code>MultiMediaTooLongError</code></td><td>Too many media files were included in the same album.</td></tr><tr><td><code>ScheduleDateTooLateError</code></td><td>The date you tried to schedule is too far in the future (last known limit of 1 year and a few hours).</td></tr><tr><td><code>ScheduleTooMuchError</code></td><td>You cannot schedule more messages in this chat (last known limit of 100 per chat).</td></tr><tr><td><code>TopicDeletedError</code></td><td>The topic was deleted.</td></tr></table><p>You can import these from <code>telethon.errors</code>.</p><h1 id="examples">Example</h1><p>Please refer to the documentation of <a href="https://docs.telethon.dev/en/stable/modules/client.html#telethon.client.uploads.UploadMethods.send_file"><code>client.send_file()</code></a> to learn about the parameters and see several code examples on how to use it.</p><p>The method above is the recommended way to do it. If you need more control over the parameters or want to learn how it is implemented, open the details by clicking on the "Details" text.</p><details><pre><strong>from</strong> telethon.sync <strong>import</strong> TelegramClient
<strong>from</strong> telethon <strong>import</strong> functions, types
<strong>with</strong> TelegramClient(name, api_id, api_hash) <strong>as</strong> client:
result = client(functions.messages.SendMultiMediaRequest(
peer=<em>'username'</em>,
multi_media=[types.InputSingleMedia(
media=types.InputMediaUploadedPhoto(
file=client.upload_file(<em>'/path/to/file.jpg'</em>),
spoiler=<strong>True</strong>,
stickers=[types.InputDocument(
id=-12398745604826,
access_hash=-12398745604826,
file_reference=<em>b'arbitrary\x7f data \xfa here'</em>
)],
ttl_seconds=42
),
message=<em>'Hello there!'</em>
)],
noforwards=<strong>True</strong>,
update_stickersets_order=<strong>True</strong>,
invert_media=<strong>True</strong>,
allow_paid_floodskip=<strong>True</strong>,
reply_to=types.InputReplyToMessage(
reply_to_msg_id=42,
top_msg_id=42,
reply_to_peer_id=<em>'username'</em>,
quote_text=<em>'some string here'</em>,
quote_entities=[types.MessageEntityUnknown(
offset=42,
length=42
)],
quote_offset=42
),
schedule_date=datetime.datetime(2018, 6, 25),
send_as=<em>'username'</em>,
quick_reply_shortcut=types.InputQuickReplyShortcut(
shortcut=<em>'some string here'</em>
),
effect=-12398745604826
))
print(result.stringify())</pre></details><textarea id="c" class="invisible"></textarea><script>function cp(t){var c=document.getElementById("c");c.value=t;c.select();try{document.execCommand("copy")}catch(e){}}</script></div><script>prependPath = "../../";</script><script src="../../js/search.js"></script></body></html>