shangxue
9119f7166f
feat: satori 适配器支持 video、reply 消息类型 ( #3035 )
...
* Update satori_event.py
* style: format
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-10-15 10:45:35 +08:00
Soulter
80fccc90b7
feat: 支持接入企业微信智能机器人平台 ( #3034 )
...
* stage
* stage
* feat: 支持图片收发
* feat: add support for wecom_ai_bot in getPlatformIcon function
2025-10-14 23:20:56 +08:00
u0_ani-nya.com
5eaf03e227
perf: 对于 Telegram 群聊,将回复机器人的消息视为唤醒机器人 ( #2926 )
...
* reply as at for tg
Add handling for bot replies in group messages.
* style: type checking and ruff format
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-10-01 19:04:37 +08:00
Seayon
a8437d9331
feat: 支持在 Telegram 和飞书下请求 LLM 前预表态功能 ( #2737 )
...
* ✨ feat(platform): 为 Telegram 和飞书添加消息表情回应功能
支持在收到命令时自动添加表情回应,提升用户交互体验
新增平台特异配置项,允许自定义启用状态和表情列表
* Update astrbot/core/platform/astr_message_event.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* style: ruff format
* fix: 优化平台特异配置的预回应表情处理逻辑
---------
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Soulter <905617992@qq.com >
2025-09-30 17:29:34 +08:00
Raven95676
d10b542797
chore: format
2025-09-26 11:05:32 +08:00
Raven95676
ce4e4fb8dd
fix: add missing id field
2025-09-26 10:59:11 +08:00
shangxue
fc76665615
feat: Satori适配器引用消息无法正确识别 ( #2686 )
...
* Update PlatformPage.vue
* Update PlatformPage.vue
* Update PlatformPage.vue
* Update satori_adapter.py
* Update satori_event.py
* Update default.py
* Update satori_adapter.py
* Update satori_adapter.py
* style: format code
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-09-21 21:45:35 +08:00
Soulter
3a044bb71a
fix: 修复 Telegram 下流式传输时,第一次输出的内容会被覆盖掉的问题 ( #2838 )
...
fixes : #2481
2025-09-21 21:24:47 +08:00
anka
a4b43b884a
fix: 修复aiocqhttp适配器at会获取群昵称而消息不会获取的逻辑不一致 ( #2769 )
...
* fix: 修复at会获取群昵称而消息不会获取的逻辑不一致
* style: format code
2025-09-19 13:04:51 +08:00
PaloMiku
824c0f6667
feat: 新增 Misskey 平台适配器 ( #2774 )
...
* feat: add Misskey platform adapter
* fix: 修复 Misskey 配置项的大小写问题
* feat: 添加消息链序列化功能和可见性解析逻辑
* chore: 删除损坏的 Misskey 平台适配器工具函数文件
* docs: 更新 Misskey 消息适配器设置描述信息
* feat: Misskey 单用户连续上下文对话支持
* feat: 为 Astrbot 添加 Misskey 平台适配器的 ID 配置
* feat: 重构 Misskey 平台适配器,提取通用工具函数并优化消息处理逻辑
* refactor: 清理 Misskey 平台适配器和 API 代码,移除冗余注释
* fix: 修复了使用中和使用者反馈的多个问题
* fix: 修改提及格式,确保提及在新行开始,提升帖子美观和易读性。
* feat: 添加默认可见性和本地仅限设置,优化 Misskey 平台适配器的配置
* fix: 更新 Misskey 平台适配器配置,使用前缀以防止和其他适配器未来可能的冲突问题
* chore: rename 'misskey' to 'Misskey' in config
* feat: Misskey 适配器添加聊天消息响应功能,重构接收和发送逻辑为 Websockets 处理
* fix: 增强 Misskey WebSocket 消息日志输出
* refactor: 优化 Misskey 适配器的消息处理和日志输出
* fix: 增强 Misskey WebSocket 重连接逻辑
* feat: 增强 Misskey 适配器的消息处理,支持房间消息和相关功能,重构通用函数,清理代码重复冗余
* fix: 不屏蔽唤醒前缀对默认 LLM 的唤醒
* fix: 透传所有的群聊消息事件
* fix: 修复 message_type
* perf: 实现 send_streaming 以支援流式请求
* docs(README): update README.md
* fix: super().send(message) 被忽略
* fix: 修正 session 结构
: 作为分隔符可能会导致 umo 组装出现问题
---------
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
Co-authored-by: Soulter <905617992@qq.com >
2025-09-18 23:34:41 +08:00
anka
9d9917e45b
feat: 增加群名称识别到 system prompt, 并提供相应的配置 ( #2770 )
...
* feat🤖 : 增加群名称识别到system prompt, 并提供相应的配置
* feat: 优化实现方式, 重构AstrBotMessage, 向后兼容
* style: format
2025-09-16 10:23:08 +08:00
Soulter
7740e1e131
ci: add ci stage of code format checking ( #2750 )
...
* style: ruff format
* ci(dashboard-ci): ensure GitHub Release action only runs on push events
* ci(code-format): ruff format and ruff check
2025-09-14 18:05:58 +08:00
Soulter
2c3c3ae546
fix: 移除无用的调试日志以简化命令注册逻辑
2025-09-07 11:37:34 +08:00
shangxue
17aee086a3
feat: 添加 Satori 协议适配器支持 ( #2633 )
...
* Create satori_adapter.py
* Add files via upload
* Update default.py
* Update manager.py
* Update platform_adapter_type.py
* Update PlatformPage.vue
* Add files via upload
* Update default.py
* Update manager.py
* Update platform_adapter_type.py
* Update PlatformPage.vue
* Add files via upload
* Update default.py
* chore: format code
* feat: 修复 Image, Audio 的解析,修复 message_str 的解析
* perf: 增强鲁棒性
* feat: 添加 Satori 配置项描述,移除适配器默认配置
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-09-06 23:52:00 +08:00
anka
2920279c64
Fix: 修正 QQ 群成员昵称获取 ( #2626 )
...
* feat: 修正群昵称获取
* fix: 增加兜底机制
2025-09-06 19:16:57 +08:00
Zhalslar
0f8b550d68
fix: aiocqhttp优先使用session_id发送消息 ( #2623 )
...
* fix: aiocqhttp优先使用session_id发送消息
当前aiocqhttp依赖raw_message来发送消息,raw_message为空时也无法有效回退到用group_id或user_id来发送,更符合逻辑的应该:优先使用session_id(group_id or user_id),raw_message兜底
* Update aiocqhttp_message_event.py
* fix: validate session_id as integer and improve send_message docstring
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-09-04 11:34:40 +08:00
Soulter
8f4625f53b
Merge remote-tracking branch 'origin/master' into releases/4.0.0
2025-08-31 20:37:53 +08:00
xiewoc
5872f1e017
feat: 支持官方 QQ 接口发送语音 ( #2525 )
...
* Update dingtalk_event.py
* Add files via upload
* Add files via upload
* Update qqofficial_platform_adapter.py
* Add files via upload
* chore: clean comments
* chore: clean code
---------
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
2025-08-26 20:40:59 +08:00
Soulter
64bcbc9fc0
refactor: 重构 SharedPreference 类并采用数据库存储替换 json 存储 ( #2482 )
2025-08-18 19:12:26 +08:00
Soulter
f0359467f1
chore: remove adapters of wechat personal account
2025-07-23 10:50:43 +08:00
Soulter
bd270aed68
fix: handle event construction errors in message reply processing
2025-07-20 22:52:14 +08:00
Soulter
5c60dbe2b1
fix: 修复 WebChat 下可能消息错位的问题
2025-07-10 16:52:16 +08:00
Soulter
88f130014c
perf: streamline message dispatching logic in AiocqhttpMessageEvent
2025-07-09 12:10:18 +08:00
Soulter
6f6a5b565c
fix: active message cannot handle forward type message properly in aiocqhttp adapter
2025-07-09 11:19:32 +08:00
Zhenyi Wang
3e4917f0a1
refactor: 重构 wechatpadpro 授权码生成并增强安全性
...
- 将 generate_auth_key 方法中的授权码提取逻辑重构为新的辅助方法 _extract_auth_key ,以提高代码的可读性和可测试性。
- 在访问 data.get('authKeys') 之前添加 isinstance(data, dict) 检查,以防止潜在的 AttributeError 。
- 移除了 auth_key 的明文日志记录,以避免敏感信息泄露。
- 在生成新密钥之前,将 self.auth_key 初始化为 None ,以避免在失败时保留旧值。
2025-07-06 16:34:55 +08:00
Zhenyi Wang
1674653a42
fix(wechatpadpro): 修复授权码提取逻辑以兼容新旧接口格式
...
新接口返回多了一层authKeys字段,同时兼容二者
2025-07-06 16:18:31 +08:00
Soulter
5f0d601baa
feat: add support for selecting provider and models in webchat
2025-07-03 10:42:20 +08:00
Soulter
6a503b82c3
refactor: web chat queue management and streamline chat route handling
2025-07-01 22:34:17 +08:00
Soulter
714d4af63d
Merge pull request #1963 from AstrBotDevs/refactor-llm-request
...
Refactor: 将 LLM Request 部分抽象为 AgentRunner 并优化多轮工具调用
2025-06-29 21:38:43 +08:00
Soulter
8203fdb4f0
fix: webchat show tool call
2025-06-29 21:35:39 +08:00
Soulter
2f941de65b
feat: 支持展示工具使用过程
2025-06-29 21:19:40 +08:00
Soulter
010f082fbb
Merge pull request #1914 from HakimYu/master
...
fix(AiocqhttpAdapter): 修复at_info.get("nick", "")的错误
2025-06-28 21:52:01 +08:00
Soulter
073cdf6d51
perf: also consider nick
2025-06-28 21:51:10 +08:00
Soulter
863a1ba8ef
Merge pull request #1922 from SXP-Simon/master
...
[feat] (discord_platform_adapter) 增加了对机器人 Role Mention 方法的响应,并且修复了控制面板上 Discord 平台无法优雅重载的 Bug
2025-06-27 14:59:37 +08:00
Soulter
cb04dd2b83
chore: remove unnecessary codes
2025-06-27 14:59:08 +08:00
Soulter
8c7cf51958
chore: code format
2025-06-27 14:46:23 +08:00
Soulter
244fb1fed6
chore: remove useless logger
2025-06-27 14:38:31 +08:00
Soulter
25f7a68a13
Merge pull request #1709 from shuiping233/fix-qq-offical-session-bug
...
fix: qq_official适配器使用SessionController(会话控制)功能时机器人回复消息无法发送到聊天平台
2025-06-27 14:35:54 +08:00
Soulter
62d8cf79ef
fix: remove deprecated pre_send and post_send calls for specific platforms
2025-06-27 14:31:35 +08:00
Soulter
80fca470f2
fix: cannot make active reply in telegram
...
Co-authored-by: youtiaoguagua <cloudcranesss@210625568+cloudcranesss@users.noreply.github.com >
2025-06-27 00:04:25 +08:00
Soulter
51b015a629
Merge pull request #1830 from zhx8702/feat-wechat-tts-mp3towav
...
feat: wechatpadpro 触发tts时 添加对mp3格式音频支持
2025-06-25 22:46:10 +08:00
回归天空
cebcd6925a
[fix] (discord_platform_adapter) 解决了 “Discord 平台无法优雅重载” 的 bug
...
#### 问题现象(AI总结)
- 在通过 Web 面板或配置变更热重载 Discord 平台时,适配器的 terminate() 方法会被调用,但经常出现“卡死”或长时间无响应,导致 Discord 平台无法优雅重载。
- 日志显示停留在“正在清理已注册的斜杠指令...”等步骤,甚至出现超时或异常。
#### 2. 原因分析
- 适配器的 terminate() 方法中,涉及多个异步操作(如取消 polling 任务、清理斜杠指令、关闭客户端)。
- 某些 await 操作(如 await self.client.sync_commands() 或 await self.client.close())在网络异常、事件循环被取消等情况下,可能会阻塞或抛出 CancelledError,导致整个重载流程卡住。
- 之前的实现没有对这些 await 操作加超时保护,也没有分步日志,难以定位具体卡点。
#### 3. 修复措施
- 分步日志:在 terminate() 的每个关键步骤前后都加了详细日志,便于定位卡点。
- 超时保护:对所有关键 await 操作(如 polling 任务取消、指令清理、客户端关闭)都加了 asyncio.wait_for(..., timeout=10),防止无限阻塞。
- 健壮性提升:先 cancel polling 任务,再清理指令,最后关闭客户端。每一步都捕获异常并输出日志,保证即使某一步失败也能继续后续清理。
- 避免重复终止:移除了 run() 方法中的 finally: await self.terminate(),只允许外部统一调度,防止重复调用导致资源冲突或日志重复。
#### 4. 修复效果
- 现在 Discord 平台适配器在热重载或终止时,能优雅地依次完成所有清理步骤,不会因某一步阻塞导致整个流程卡死。
2025-06-25 11:46:49 +08:00
回归天空
e7b4357fc7
[feat] (discord_platform_adapter) 增加了对机器人 Role Mention 方法的响应
2025-06-25 11:41:55 +08:00
HakimYu
0760cabbbe
feat(AiocqhttpAdapter): 修复reply类型的 Event.from_payload报错
2025-06-24 17:20:30 +08:00
HakimYu
3b149c520b
fix(AiocqhttpAdapter): 修复at_info.get("nick", "")的错误,并在message_str中针对At类型添加QQ号
2025-06-24 16:30:23 +08:00
Soulter
7b25495463
style: code quality
2025-06-22 22:11:28 +08:00
HakimYu
3d4b651c1f
fix: 修复 send_by_session 的 message_obj 为 None 的错误
...
fix: 修复 determine_messagee_type 会获取到服务器id的错误,并拆分成两个函数
2025-06-22 20:33:26 +08:00
HakimYu
ac4f3d8907
feat: 添加 Discord 斜杠指令注册功能及相关配置项
...
feat: 添加 Activity 设置项
fix: 修复 At Reply 未处理的问题
2025-06-22 16:29:02 +08:00
Soulter
5c0c9f687e
style: code quality
2025-06-21 23:52:17 +08:00
Soulter
99e47540d5
styles: code quality
2025-06-21 23:33:47 +08:00