send_video_note
Send round video messages to Telegram chats using URL or file ID, with options for duration, size, and silent delivery.
Instructions
Send a video note (round video) to a Telegram chat.
Args: chat_id: Target chat ID. video_note_url: URL or file_id of the video note. duration: Duration in seconds. length: Video width and height (diameter of the circle). disable_notification: Send silently.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chat_id | Yes | ||
| video_note_url | Yes | ||
| duration | No | ||
| length | No | ||
| disable_notification | No |
Implementation Reference
- aiogram_mcp/tools/media.py:365-402 (handler)The implementation of the send_video_note tool, which handles the logic for sending a video note to a Telegram chat, including permissions, rate limiting, and execution via the bot context.
async def send_video_note( chat_id: int, video_note_url: str, duration: int | None = None, length: int | None = None, disable_notification: bool = False, ) -> SendMediaResult: """Send a video note (round video) to a Telegram chat. Args: chat_id: Target chat ID. video_note_url: URL or file_id of the video note. duration: Duration in seconds. length: Video width and height (diameter of the circle). disable_notification: Send silently. """ if not ctx.is_chat_allowed(chat_id): result = SendMediaResult(ok=False, error=f"Chat {chat_id} is not allowed.") if ctx.audit_logger: ctx.audit_logger.log( "send_video_note", {"chat_id": chat_id, "video_note_url": video_note_url}, result.ok, result.error, ) return result try: if ctx.rate_limiter: await ctx.rate_limiter.acquire() msg = await ctx.bot.send_video_note( chat_id=chat_id, video_note=video_note_url, duration=duration, length=length, disable_notification=disable_notification, ) result = SendMediaResult(ok=True, message_id=msg.message_id, chat_id=msg.chat.id)