客户端消息回复方案

艾因项目DiscordBot System大约 2 分钟

客户端消息回复方案

当Client产生一条消息后或产生一个交互,Discord GateWay将拦截到该消息或者交互,并将该消息通知到后端服务器

当后端接收到一个交互时

  • 交互为command时,后端查询缓存的command,如果有该command,则执行该command,没有则丢弃该消息
  • 交互为其他时,将根据交互内容进行reply。

当后端收到消息时

将根据消息类型判断

  • 如果是机器人产生的消息,丢弃

  • 如果是@机器人的,将进行强制回复,将进行以下逻辑

    • 判断是否包含头级关键词,如果不包含,将调用seeDaoAi接口回复

    • 包含头级关键词则进行二级关键词判断,如果不包含二级关键词,将调用seeDaoAi接口回复

    • 包含二级关键词,则进行三级关键词判断,如果不包含三级关键词,将调用seeDaoAi接口回复

    • 包含三级关键词,则根据关键词寻找数据库内容进行结果返回。

  • 如果是正常的消息,则进行以下的逻辑

    • 判断是否为问句,如果不是问句,则不进行回复

    • 判断是否包含头级关键词,如果不包含,则不进行回复

    • 判断是否包含二级关键词,如果不包含,则不进行回复

    • 判断是否包含三级关键词,如果不包含,则调用seeDaoAi接口回复

    • 如果包含三级关键是,则数据库定位进行回复。

具体的流程图如下所示: