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 |
|
Soulter
|
8e1885ffeb
|
Merge branch 'master' into master
|
2025-06-21 23:21:37 +08:00 |
|
Soulter
|
1057b4bc35
|
style: code quality
|
2025-06-21 23:12:50 +08:00 |
|
Soulter
|
efc0116595
|
feat: Verify Slack request signature using HMAC
|
2025-06-21 23:07:34 +08:00 |
|
lxfight
|
75a2803710
|
fix: 清空交互事件的 message_str,确保仅专门指令处理器响应;优化图片处理逻辑,支持多种图片来源
- 修复了@激活机器人时,指令无法正确处理的问题
- 修复了base64 图片无法发送的问题
注意:本次提交的代码功能还需要针对全部功能进行一次系统完整的测试,计划与6月22日下午完成。
|
2025-06-21 20:12:38 +08:00 |
|
Soulter
|
fb3169faa4
|
feat: add platform adapter support for Slack
|
2025-06-21 18:33:48 +08:00 |
|
lxfight
|
b9fab74edc
|
feat: 拆分Discord 适配器的部分代码,并处理一些小的问题。
- 基于最小权限原则,修改了 Bot 申请的权限范围
- 拆分了代码,使得文件结构更加清晰
|
2025-06-20 21:43:23 +08:00 |
|
lxfight
|
d0b10b9195
|
feat: 添加 Discord 平台适配器及相关组件,支持 Discord Bot 功能
- 添加了一个新的依赖 py-cord[speed]
- 添加了针对 Discord 平台的 Discord Bot 适配器
|
2025-06-20 21:22:04 +08:00 |
|
Soulter
|
2c47abea95
|
fix: 修复 WeChatPadPro 下,开启了会话隔离后,无法发送群聊消息的问题
fixes: #1766
|
2025-06-16 23:36:11 +08:00 |
|
Soulter
|
85aa28d724
|
perf: print traceback
|
2025-06-16 23:27:29 +08:00 |
|
Soulter
|
53a3736b04
|
fix: 修复可能的类型错误
fixes: #1778
|
2025-06-16 23:26:22 +08:00 |
|
Soulter
|
86ba3c230e
|
perf: 弱化 WeChatPadPro 的 WS 连接提示
fixes: #1779
|
2025-06-16 23:21:53 +08:00 |
|
Soulter
|
8d21126bd6
|
fix: 修复 WeChatPadPro 会话隔离模式下,会话 ID 显示为自身ID 的问题
|
2025-06-16 23:18:45 +08:00 |
|
Soulter
|
74ded91976
|
fix: 修复 WeChatPadPro 过期后无法正常的重新登录的问题。
|
2025-06-16 23:07:10 +08:00 |
|
zhx
|
ccb95f803c
|
feat: wechatpadpro 发送tts时 添加对mp3格式音频支持
|
2025-06-16 10:05:21 +08:00 |
|
Zhalslar
|
c7891385ca
|
Update dingtalk_event.py
|
2025-06-14 21:44:37 +08:00 |
|
Zhalslar
|
2059ddcadf
|
Update dingtalk_event.py
|
2025-06-14 21:39:33 +08:00 |
|
Zhalslar
|
ba1b68df20
|
Update dingtalk_event.py
|
2025-06-14 21:23:45 +08:00 |
|
Soulter
|
a26b494f7f
|
feat: 微信客服支持语音的收发
fixes: #1794
|
2025-06-12 10:57:16 -04:00 |
|
Soulter
|
c85dbb2347
|
fix: 修复某些情况下,会话控制无效的问题
|
2025-06-10 22:26:11 +08:00 |
|
Seayon
|
19022d67f8
|
Merge branch 'master' into fix-wechat-at-message-parsing
# Conflicts:
# astrbot/core/platform/sources/wechatpadpro/wechatpadpro_adapter.py
|
2025-06-09 09:30:09 +08:00 |
|
shuiping233
|
1ce95c473d
|
fix : 在stage.py中专门对qq_official的会话控制器消息进行处理
|
2025-06-08 10:20:09 +08:00 |
|
shuiping233
|
eb365e398d
|
fix: qq_official适配器使用SessionController(会话控制)功能时机器人回复消息无法发送到聊天平台
|
2025-06-08 10:20:09 +08:00 |
|
Seayon
|
a9dbff756b
|
✨ feat(wechatpadpro): 增强群聊消息中的@消息处理逻辑
添加对群聊消息中@机器人场景的精确识别和处理,提升了消息解析的准确性。
支持多种@格式的检测,包括 msg_source 和 push_content 的判断。
|
2025-06-06 16:53:31 +08:00 |
|
zhx
|
0d5825bda9
|
feat: wechatpadpro 添加语音接收和发送的适配
|
2025-06-06 10:30:06 +08:00 |
|