qqbot-media

Sends and receives images, voice, video, and files in QQBot chats using qqmedia tags.

Updated Jun 19, 2026
One-click install
npx skills add https://github.com/AmirulAndalib/Vilvona-AI --skill qqbot-media-amirulandalib
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: qqbot-media
Source: https://github.com/AmirulAndalib/Vilvona-AI/tree/main/extensions/qqbot/skills/qqbot-media
Command: npx skills add https://github.com/AmirulAndalib/Vilvona-AI --skill qqbot-media-amirulandalib

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Handling rich media in QQBot conversations requires knowing which attachment types are supported, how to route files by extension, and where files must be stored before the platform will accept them. This Skill encodes those rules so media messages are sent and received correctly. ## Core Features & Use Cases - Media Sending via Tags: Wrap an absolute path or URL in <qqmedia> tags and the media type is inferred automatically from the file extension (images, voice, video, or generic files). - Media Receiving: Incoming images are downloaded locally with paths exposed in the conversation context, and voice messages can be transcribed when STT is available. - Use Case: A user asks the bot to generate a chart and send it to a QQ group. The file is written to ~/.openclaw/media/qqbot/ and sent with <qqmedia>/path/to/chart.png</qqmedia>. ## Quick Start Send the image at ~/.openclaw/media/qqbot/chart.png to this QQ chat using the qqmedia tag.

Frequently Asked Questions about qqbot-media

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send an image or file in a QQBot chat?

Wrap the absolute path or URL in opening and closing qqmedia tags, such as <qqmedia>/path/to/image.png</qqmedia>. The media type is inferred from the file extension, and multiple attachments are sent by using multiple tags.

How does QQBot determine the media type of an attachment?

The type is inferred from the file extension: jpg, png, gif, webp, and bmp map to images; silk, wav, mp3, ogg, aac, and flac map to voice; mp4, mov, avi, mkv, and webm map to video. Other extensions are treated as files, and extensionless URLs default to images.

Why is my QQBot media upload blocked or not sending?

Uploads are blocked when the file is not under a trusted root. Local files must be placed in ~/.openclaw/media/qqbot/ or another path under ~/.openclaw/media/; files left in workspace directories like ~/.openclaw/workspace/ are rejected by platform security policy.

What are the file size limits for QQBot media?

Images are limited to 30MB, videos to 100MB, generic files to 100MB, and voice messages to 20MB. Files exceeding these limits cannot be sent through the qqmedia tag mechanism.

Can QQBot receive and reply with media from users?

Yes. Images sent by users are downloaded locally and their paths appear in the conversation context as attachments, which can be sent back directly with a qqmedia tag. Voice message paths are also provided and are transcribed first when STT capability is enabled.