tg_send_audio
Send audio files through Telegram bots to share voice messages, podcasts, or recordings with specified chats using URLs and optional captions.
Instructions
Send audio via telegram bot
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| audio | Yes | Audio URL | |
| chat_id | No | Telegram chat id, Default to get from environment variables | |
| caption | No | Audio caption, 0-1024 characters after entities parsing | |
| parse_mode | No | Mode for parsing entities in the caption. [text/MarkdownV2] | |
| reply_to_message_id | No | Identifier of the message that will be replied to |
Implementation Reference
- mcp_notify/tgbot.py:106-122 (handler)The asynchronous handler function that implements the logic to send an audio file via the Telegram Bot API.async def tg_send_audio( audio: str = Field(description="Audio URL"), chat_id: str = Field("", description="Telegram chat id, Default to get from environment variables"), caption: str = Field("", description="Audio caption, 0-1024 characters after entities parsing"), parse_mode: str = Field("", description=f"Mode for parsing entities in the caption. [text/MarkdownV2]"), reply_to_message_id: int = Field(0, description="Identifier of the message that will be replied to"), ): if parse_mode == TELEGRAM_MARKDOWN_V2: caption = telegramify_markdown.markdownify(caption) res = await bot.send_audio( chat_id=chat_id or TELEGRAM_DEFAULT_CHAT, audio=audio, caption=caption or None, parse_mode=parse_mode if parse_mode in [TELEGRAM_MARKDOWN_V2] else None, reply_to_message_id=reply_to_message_id or None, ) return res.to_json()
- mcp_notify/tgbot.py:102-105 (registration)The @mcp.tool decorator that registers the tg_send_audio tool with the FastMCP instance.@mcp.tool( title="Telegram send audio", description="Send audio via telegram bot", )
- mcp_notify/__init__.py:20-20 (registration)Invocation of tgbot.add_tools(mcp) which triggers the registration of Telegram tools, including tg_send_audio.tgbot.add_tools(mcp)
- mcp_notify/tgbot.py:107-111 (schema)Pydantic Field definitions providing input schema, descriptions, and defaults for the tg_send_audio tool parameters.audio: str = Field(description="Audio URL"), chat_id: str = Field("", description="Telegram chat id, Default to get from environment variables"), caption: str = Field("", description="Audio caption, 0-1024 characters after entities parsing"), parse_mode: str = Field("", description=f"Mode for parsing entities in the caption. [text/MarkdownV2]"), reply_to_message_id: int = Field(0, description="Identifier of the message that will be replied to"),
- mcp_notify/tgbot.py:24-28 (helper)Creation of the shared Telegram Bot instance used by tg_send_audio and other Telegram tools.bot = Bot( TELEGRAM_BOT_TOKEN, base_url=f"{TELEGRAM_BASE_URL}/bot", base_file_url=f"{TELEGRAM_BASE_URL}/file/bot", ) if TELEGRAM_BOT_TOKEN else None