send_audio()#
- Client.send_audio()#
Send audio files.
For sending voice messages, use the
Usable by ✅ Users ✅ Botssend_voice()
method instead.- Parameters:
chat_id (
int
|str
) – Unique identifier (int) or username (str) of the target chat. For your personal cloud (Saved Messages) you can simply use “me” or “self”. For a contact that exists in your Telegram address book you can use his phone number (str).audio (
str
|io.BytesIO
) – Audio file to send. Pass a file_id as string to send an audio file that exists on the Telegram servers, pass an HTTP URL as a string for Telegram to get an audio file from the Internet, pass a file path as string to upload a new audio file that exists on your local machine, or pass a binary file-like object with its attribute “.name” set for in-memory uploads.caption (
str
, optional) – Audio caption, 0-1024 characters.parse_mode (
ParseMode
, optional) – By default, texts are parsed using both Markdown and HTML styles. You can combine both syntaxes together.caption_entities (List of
MessageEntity
) – List of special entities that appear in the caption, which can be specified instead of parse_mode.duration (
int
, optional) – Duration of the audio in seconds.performer (
str
, optional) – Performer.title (
str
, optional) – Track name.thumb (
str
|io.BytesIO
, optional) – Thumbnail of the music file album cover. The thumbnail should be in JPEG format and less than 200 KB in size. A thumbnail’s width and height should not exceed 320 pixels. Thumbnails can’t be reused and can be only uploaded as a new file.file_name (
str
, optional) – File name of the audio sent. Defaults to file’s path basename.disable_notification (
bool
, optional) – Sends the message silently. Users will receive a notification with no sound.reply_parameters (
ReplyParameters
, optional) – Description of the message to reply tomessage_thread_id (
int
, optional) – If the message is in a thread, ID of the original message.business_connection_id (
str
, optional) – Unique identifier of the business connection on behalf of which the message will be sent.send_as (
int
|str
) – Unique identifier (int) or username (str) of the chat or channel to send the message as. You can use this to send the message on behalf of a chat or channel where you have appropriate permissions. Use theget_send_as_chats()
to return the list of message sender identifiers, which can be used to send messages in the chat, This setting applies to the current message and will remain effective for future messages unless explicitly changed. To set this behavior permanently for all messages, useset_send_as_chat()
.message_effect_id (
int
64-bit
, optional) – Unique identifier of the message effect to be added to the message; for private chats only.schedule_date (
datetime
, optional) – Date when the message will be automatically sent.protect_content (
bool
, optional) – Pass True if the content of the message must be protected from forwarding and saving; for bots only.allow_paid_broadcast (
bool
, optional) – Pass True to allow the message to ignore regular broadcast limits for a small fee; for bots onlyreply_markup (
InlineKeyboardMarkup
|ReplyKeyboardMarkup
|ReplyKeyboardRemove
|ForceReply
, optional) – Additional interface options. An object for an inline keyboard, custom reply keyboard, instructions to remove reply keyboard or to force a reply from the user.progress (
Callable
, optional) – Pass a callback function to view the file transmission progress. The function must take (current, total) as positional arguments (look at Other Parameters below for a detailed description) and will be called back each time a new file chunk has been successfully transmitted.progress_args (
tuple
, optional) – Extra custom arguments for the progress callback function. You can pass anything you need to be available in the progress callback scope; for example, a Message object or a Client instance in order to edit the message with the updated progress status.
- Other Parameters:
current (
int
) – The amount of bytes transmitted so far.total (
int
) – The total size of the file.*args (
tuple
, optional) – Extra custom arguments as defined in theprogress_args
parameter. You can either keep*args
or add every single extra argument in your function signature.
- Returns:
Message
|None
– On success, the sent audio message is returned, otherwise, in case the upload is deliberately stopped withstop_transmission()
, None is returned.
Example
# Send audio file by uploading from file await app.send_audio("me", "audio.mp3") # Add caption to the audio await app.send_audio("me", "audio.mp3", caption="audio caption") # Set audio metadata await app.send_audio( "me", "audio.mp3", title="Title", performer="Performer", duration=234) # Keep track of the progress while uploading async def progress(current, total): print(f"{current * 100 / total:.1f}%") await app.send_audio("me", "audio.mp3", progress=progress)