Commit Graph
13 Commits
Author SHA1 Message Date
meoacgx be1a6db30a 修复Bot频道同步:手动同步支持新增+清理,缓存回放my_chat_member 2025-12-23 23:21:12 +08:00
meoacgx 4a601570d1 fix(bot): manual sync reconciles stale channels 2025-12-23 16:37:49 +08:00
meoacgx 7e06556d8d feat(settings): add timezone support 2025-12-23 13:35:24 +08:00
meoacgx 1758680f3d fix: stabilize bot polling and simplify tasks 2025-12-22 19:07:31 +08:00
meoacgxandClaude 987be180d0 feat: BOT频道增强 - 踢人/封禁功能及用户ID获取提示
新增功能:
- Bot频道支持批量踢人/封禁用户(支持两种模式:仅踢出 or 永久封禁)
- 踢人对话框支持选择操作模式(默认仅踢出,可选永久封禁)

体验优化:
- 踢人和设置管理员对话框添加"如何获取用户ID"的详细步骤提示
- 统一用户ID输入方式(使用纯文本输入框,移除数字增减按钮)

技术改动:
- BotTelegramService: 新增 BanChatMemberAsync 支持踢人/封禁
- BotTelegramService: 新增 CanBotBanMembersAsync 权限检查
- 新增 BotBanMemberDialog 踢人对话框组件
- BotChannelsHome: 添加踢出用户按钮及批量处理逻辑

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-20 22:36:47 +08:00
meoacgxandClaude 1f805ace84 实现Bot频道批量设置分类功能
新增功能:
- 在Bot频道页面工具栏添加"批量设置分类"按钮
- 支持多选频道后批量修改分类
- 显示当前选中的频道数量(实时更新)

新增组件:
- BotBatchSetCategoryDialog.razor - 批量设置分类对话框
  - 显示选中频道数量的信息提示
  - 下拉选择目标分类(包含"未分类"选项)
  - 简洁的确认/取消操作

功能特点:
- 支持设置为"未分类"(取消分类)
- 批量操作时显示成功/失败统计
- 操作完成后自动刷新列表并清空选择
- 错误处理:部分失败不影响其他频道
- 与现有批量操作保持一致的交互体验

用户体验改进:
- 按钮动态显示选中数量:批量设置分类(N)
- 未选中频道时按钮禁用
- 操作后显示详细的成功/失败统计

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-20 22:07:18 +08:00
meoacgxandClaude ce8ee3dd4c 优化Bot频道分类管理UI
改进内容:
- 将"新建分类"功能从页面底部移至顶部工具栏
- 在分类筛选器旁添加"+"按钮,点击打开对话框
- 新增 BotChannelCategoryDialog 对话框组件
  - 支持创建分类(输入名称和描述)
  - 保留编辑模式接口(待后续实现)
- 删除原有页面底部的分类创建表单
- 提升用户体验,操作更集中便捷

UI改进:
- 分类筛选器 + 新建按钮 紧密集成
- 对话框使用 MudDialog 标准样式
- 保持与现有对话框一致的交互体验

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-20 21:55:44 +08:00
meoacgxandClaude 654a8fe1a3 修复 BotChannelsHome 页面类型转换崩溃问题
问题:
- MudSelect 泛型类型是 int?(可空整数)
- MudSelectItem 的 Value 使用了 int 类型
- 导致类型不匹配,运行时崩溃

修复:
- 将分类选择下拉框中的 Value="@(c.Id)" 改为 Value="@((int?)c.Id)"
- 确保类型一致性

错误信息:
Unable to cast object of type 'MudBlazor.MudSelect`1[System.Nullable`1[System.Int32]]'
to type 'MudBlazor.MudSelect`1[System.Int32]'

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-20 21:47:55 +08:00
meoacgx 0e08a18f51 修复Bot频道页面编译:选择机器人切换回调 2025-12-19 19:12:14 +08:00
meoacgx 34bda77560 Bot频道支持批量设置管理员 2025-12-19 19:07:07 +08:00
meoacgx ff944b1c1e 新增Bot频道详情与编辑:支持查看管理员与修改标题简介 2025-12-19 19:05:22 +08:00
meoacgx eb26b9b7ef 重构Bot频道页面:单页切换机器人 2025-12-19 19:00:18 +08:00
meoacgx 341e072188 机器人管理优化:菜单直达 Bot 频道,并后台自动同步 2025-12-19 18:10:34 +08:00