QQ机器人{退出/回复设置/日志记录篇}

来源:互联网 发布:mac 资料库在哪 编辑:程序博客网 时间:2024/04/30 05:22

之前聊过了QQ机器人{登录流程篇},那么今天来聊聊怎么退出,怎么设置回复选项以及日志记录。

退出:登录流程篇中说过,用户登录后就是一个线程在轮询收发消息,如果退出,当然是把这个线程干掉了~用户的线程对象引用以QQ号为键,存储在map中,所以用户登陆后,取消线程是一件很简单的事。即使session失效,那么再次登录,获取到QQ号,然后退出就可以了。再退一步说,万一用户无法主动退出,那么只要知道用户的QQ号,管理员也可以踢出用户(有另外提供管理员操作接口)。

回复设置:有两张回复表:robot_auto_reply、robot_auto_reply_list。robot_auto_reply是控制全局的。比如:是否允许机器人自动回复、是否回复全部联系人;robot_auto_reply_list是记录允许回复的联系人。当全部回复开关关闭,则会提示用户自定义回复。选择允许回复的联系人,点击提交即设置成功。两张表是一对多的关系,这些设置数据将会在用户登录时加载一次。

其他设置:为管理员提供了统计在线人数的接口,其实就是统计map中存储的轮询线程数(不一定准确,因为线程对象存在并不保证线程一定运行);还有一个默认参数设置接口,也是提供给管理员的。比如默认自动回复开关打开,默认全部回复。

日志记录:日志记录有两部分:登录日志和系统日志。登录日志就是建了日志表记录下用户的登录信息,当用户退出时也会记录退出时间;系统日志采用logback,服务调用、消息收发、异常信息等都会记录到数据库或日志文件,便于排查(线上服务采用腾讯的云服务器)。

我知道文字描述不如流程图来的清晰,不过画图比较麻烦,而且这部分逻辑也不麻烦,所以就这样啦~如果不了解的可以先看下QQ机器人{功能介绍篇}。

好了,整个应用好像介绍的差不多了,下次可能会针对一些技术点展开吧,下回见~

0 0
原创粉丝点击