Commit Graph

2651 Commits

Author SHA1 Message Date
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
回归天空 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
Soulter 3d19fc89ff docs: 10k star banner 2025-06-24 02:07:23 +08:00
Soulter cd1b1919f4 docs: 10k star banner 2025-06-24 01:51:46 +08:00
邹永赫 c0c5859c99 Merge pull request #1905 from zouyonghe/master
使用定义的Plain类型代替原始基础类型str,保持代码统一性
2025-06-23 18:52:56 +09:00
邹永赫 a47121b849 使用定义的Plain类型代替原始基础类型str,保持代码统一性 2025-06-23 18:49:47 +09:00
邹永赫 d9dd20e89a Merge pull request #1904 from zouyonghe/master
修复代码重构造成的无法向前兼容在node中发送简单文本信息的问题
2025-06-23 18:20:52 +09:00
邹永赫 ed4609ebe5 修复代码重构造成的无法向前兼容在node中发送简单文本信息的问题 2025-06-23 18:17:37 +09:00
Soulter cd4802da04 Merge pull request #1902 from railgun19457/master
修复plugin_enable配置无法保存的问题
2025-06-23 13:30:31 +08:00
Misaka Mikoto 2aca65780f Merge branch 'AstrBotDevs:master' into master 2025-06-23 13:29:31 +08:00
Soulter 2c435f7387 Merge pull request #1899 from IGCrystal/branch-1
🐞 fix: 显示运行时长国际化
2025-06-23 13:21:59 +08:00
Soulter cc1afd1a9c Merge pull request #1900 from AstrBotDevs/fix-hc-jwt
Fix: JWT secret issue
2025-06-23 13:16:08 +08:00
railgun19457 6f098cdba6 修复plugin_enable配置无法保存的问题 2025-06-23 13:06:46 +08:00
Soulter d03e9fb90a fix: jwt secret 2025-06-23 12:36:11 +08:00
IGCrystal 9f2966abe9 Merge branch 'branch-1' of https://github.com/IGCrystal/AstrBot into branch-1 2025-06-23 12:09:10 +08:00
IGCrystal 4e28ea1883 🐞 fix: 显示运行时长国际化 2025-06-23 12:08:27 +08:00
Soulter 289214e85c Merge pull request #1898 from IGCrystal/branch-1
🐞 fix(WebUI): 修复platform的logo路径问题
2025-06-23 11:59:58 +08:00
IGCrystal a20d98bf93 🐞 fix(WebUI): 修复platform的logo路径问题 2025-06-23 11:57:20 +08:00
Soulter 7c3d98acbe 📦 release: v3.5.17
因为 pypi 不允许上传相同的文件名的 wheel
v3.5.17
2025-06-23 01:17:38 +08:00
Soulter 7311786f48 fix(dependencies): remove optional 'speed' from py-cord dependency v3.5.16 2025-06-23 01:03:43 +08:00
Soulter 82de9c926e docs: update readme 2025-06-23 00:40:34 +08:00
Soulter 7fd86d4de3 docs: update readme 2025-06-23 00:38:52 +08:00
Soulter 724da29e2a 📦 release: bump to v3.5.16 2025-06-23 00:15:30 +08:00
Soulter 54113d7b94 Merge pull request #1896 from AstrBotDevs/perf-webui-dialog-logo
Improve: improve styles of creating adapter dialog
2025-06-23 00:03:50 +08:00
Soulter 66396e8290 perf(webui): improve styles of creating adapter dialog in platform and provider page 2025-06-23 00:01:04 +08:00
Soulter 72be76215f Merge pull request #1822 from IGCrystal/branch-1
 feat(WebUI): complete dashboard internationalization system refactor
2025-06-22 22:22:33 +08:00
Soulter ace86703a9 Merge pull request #1888 from HakimYu/master
Discord 实现 SlashCommand 的注册、添加对 At 与 Reply 的支持、设置机器人 Activity
2025-06-22 22:19:19 +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 d305ae064d Merge branch 'AstrBotDevs:master' into master 2025-06-22 16:29:38 +08:00
HakimYu ac4f3d8907 feat: 添加 Discord 斜杠指令注册功能及相关配置项
feat: 添加 Activity 设置项
fix: 修复 At Reply 未处理的问题
2025-06-22 16:29:02 +08:00
Soulter af2687771b ci: update dashboard ci to support pull request 2025-06-22 10:38:09 +08:00
Soulter a67b7f909a Merge branch 'master' into branch-1 2025-06-22 10:28:44 +08:00
Soulter f9c3e4cdb0 Merge pull request #1821 from Zhalslar/gsv-tts-selfhost
Feature: 新增 GPT_SoVIS 的 TTS 服务商
2025-06-21 23:58:07 +08:00
Soulter dc62c1f8d4 style: code format 2025-06-21 23:56:06 +08:00
Soulter 0441b51a68 Merge pull request #1867 from lxfight/master
Feature: 添加 Discord 平台适配器及相关组件,支持 Discord Bot 功能
2025-06-21 23:52:54 +08:00
Soulter 5c0c9f687e style: code quality 2025-06-21 23:52:17 +08:00
Soulter e049c54043 chore: update uv.lock 2025-06-21 23:33:58 +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 8501a0c205 perf: replace slack requirements 2025-06-21 23:19:39 +08:00
Soulter 797f2a3173 Merge pull request #1877 from AstrBotDevs/feat-adapter-slack
Feature: Add platform adapter support for Slack
2025-06-21 23:13: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
Soulter cdc560fad0 chore: remove useless codes 2025-06-21 22:58:30 +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
Soulter d587bd837e Merge pull request #1845 from RC-CHN/master
feat:在用户未为服务商配置key时添加二次警告确认
2025-06-20 23:27:27 +08:00