功能:通过 HTTP API 实现 Danding_QqPush 插件,用于 QQ 群通知

- 增加了通过外部 HTTP API 向 QQ 群组发送消息的核心功能。
- 实现了对长文本消息的图片渲染,以避免被认定为垃圾信息。
- 支持在消息中提及特定的 QQ 用户。
- 创建了用于 API 令牌和图片渲染设置的配置选项。
- 开发了一个测试脚本以验证 API 功能。
- 对现有代码进行了重构,以提高组织性和可维护性。
This commit is contained in:
2026-01-20 21:19:05 +08:00
parent 4a944316fe
commit dedc872f1b
14 changed files with 1065 additions and 48 deletions

View File

@@ -383,25 +383,16 @@ async def handle_triple_gacha(bot: Bot, event: MessageEvent, state: T_State):
# 如果抽到SSR/SP处理奖励发放
if ssr_count > 0:
# 为每张SSR/SP处理奖励
auto_rewards = 0
manual_rewards = 0
# 这里简化处理,只处理一次奖励(因为每次抽卡都是独立的)
# 如果需要为每张SSR/SP都发放奖励可以循环处理
auto_success, reward_msg = await process_ssr_sp_reward(user_id)
if auto_success:
auto_rewards += 1
else:
manual_rewards += 1
auto_success, reward_msg = await process_ssr_sp_reward(user_id, ssr_count)
msg.append(f"\n\n{reward_msg}")
# 通知管理员
admin_msg = f"🎉 用户 {user_name}({user_id}) 在三连抽中抽到了 {ssr_count} 张 SSR/SP"
if auto_rewards > 0:
admin_msg += f" 已自动发放 {auto_rewards} 张奖励!"
if manual_rewards > 0:
admin_msg += f" 需要手动发放 {manual_rewards} 张奖励!"
if auto_success:
admin_msg += f" 已自动发放 {ssr_count} 张奖励!"
else:
admin_msg += f" 需要手动发放 {ssr_count} 张奖励!"
await notify_admin(bot, admin_msg)
await triple_gacha_matcher.finish(msg)