# astrbot_plugin_meme_responder **Repository Path**: seasmall/astrbot_plugin_meme_responder ## Basic Information - **Project Name**: astrbot_plugin_meme_responder - **Description**: AI 表情包回复:概率触发,AI 思考输出表情关键词,免费 API 抓图发送 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-29 - **Last Updated**: 2026-08-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # astrbot_plugin_meme_responder(AI 表情包回复) 一个 [AstrBot](https://github.com/AstrBotDevs/AstrBot)(4.x)插件:**用户发消息时按概率触发,AI 在回答的同时"思考"当前情境并输出一个表情包关键词,插件用关键词调用免费表情包搜索 API,随机抓一张表情包图片发给用户**,让回复更有趣。 ## ✨ 功能 - 🎲 **概率触发**:默认 50%(可配),用户每条普通消息有一定概率附带表情包; - 🧠 **AI 思考表情**:通过提示词注入,让 AI 在回答末尾输出 `{{MEME_KEYWORD}}关键词{{/MEME_KEYWORD}}`(不告诉用户),如"无语""开心""干得漂亮"; - 🖼️ **免费表情包 API**(多源降级,全免费免 Key): 1. **tangdouz**(主源,无限频):`https://api.tangdouz.com/a/biaoq.php?return=json&nr={关键词}`,返回 `thumbSrc` 图片链接数组; 2. **apihz 搜狗版**(备用,需 id/key):`https://cn.apihz.cn/api/img/apihzbqbsougou.php?id=&key=&words=`; 3. **apihz 百度版**(备用):`https://cn.apihz.cn/api/img/apihzbqbbaidu.php?id=&key=&words=`; - 📥 **随机取图发送**:从搜索结果随机挑一张下载并发送; - 🚫 **优雅降级**:AI 判断不需要表情包时输出"无"→ 跳过;API 全挂 → 静默跳过,不影响正常回复。 ## 📦 安装 AstrBot WebUI → 插件 → 通过 Git 地址安装: ``` https://github.com/SeaSmall/astrbot_plugin_meme_responder ``` 零第三方依赖(仅标准库),安装后启用即可。 ## ⚙️ 配置说明 | 配置项 | 类型 | 默认值 | 说明 | | --- | --- | --- | --- | | `enabled` | bool | `true` | 总开关 | | `trigger_prob` | float | `0.5` | 触发概率(0~1) | | `meme_prompt` | text | 见默认值 | 注入给 AI 的表情关键词提示词模板 | | `api_url_tangdouz` | string | `https://api.tangdouz.com/a/biaoq.php` | 主接口(免费免 Key) | | `api_url_apihz_sogou` / `api_url_apihz_baidu` | string | 见默认值 | 备用接口(apihz,需 id/key) | | `apihz_id` / `apihz_key` | string | 空 | apihz 备用源 ID/KEY,留空则跳过该源 | | `meme_count` | int | `10` | 每次搜索取前 N 条(apihz 源用),随机挑一张 | ## 🎮 行为说明 - 指令消息(`/`开头)不触发;空消息不触发; - 触发后 AI 回复文本照常发送,表情包图片作为**第二条消息**随后发出; - AI 输出"无"或未输出关键词时跳过; - 表情包搜索/下载失败均静默跳过,不影响 AI 正常回复。 ## ⚠️ 免责声明 - 表情包来源为第三方免费接口,图片版权归原作者;请合理使用。 - 接口可能随第三方调整而失效,插件已做多源降级,可自行更换接口地址。 ## 更新日志 - **v1.0.1**:修复两个问题—— - 表情包图片发送失败(`Plain text str type expected`):`MessageChain().message(Image)` 改为 `MessageChain(chain=[Image])`; - AI 回复文本残留 `{{MEME_KEYWORD}}` 标记:`on_llm_response` 先剥离标记再放行回复;收紧关键词解析(仅认显式标记,避免把正常回复误判为关键词)。