1.4 KiB
1.4 KiB
NapCat
将回应抽象为event模型 将请求抽象为request模型
InvitationCodesModule 模块设计时序表
sequenceDiagram
participant User as 用户
participant Bot as 机器人
participant DB as 数据库视图/表
participant API as Token API
User->>Bot: 发送消息触发关键词
Bot->>DB: 根据QQ查询 qualified_user_info 获取id, effective, is_used, token
alt id不存在
DB-->>Bot: 无记录
Bot-->>User: 提示无法查询id,请联系管理员
else id存在
alt effective=1 && is_used=1
Bot-->>User: 提示邀请码已使用,勿重复发送
else effective=1 && is_used=0
DB-->>Bot: 返回token
Bot->>User: 构造邮件并发送token
Bot-->>User: 邮件已发送
else effective=0
Bot->>API: 请求生成新Token
alt API返回 success=false
API-->>Bot: 返回错误信息
Bot-->>User: 提示API错误消息
else API返回 success=true
API-->>Bot: 返回新Token
Bot->>User: 构造邮件并发送新Token
Bot-->>User: 邮件已发送
Bot->>DB: 查询邀请码数据库获取 token_id
DB-->>Bot: 返回 token_id
Bot->>DB: 写入/更新 invitation_code_ascription 映射
end
end
end