在一定时间内检测用户发言,怎么写?

[复制链接]
查看: 85   回复: 15
日月星辰 发表于 2020-10-25 21:52:48 | 显示全部楼层 |阅读模式
300栗子
本帖最后由 星云 于 2020-10-25 23:18 编辑

例如,我想在60秒内,检测某位用户有没有发过“你好”的消息,如果有,执行A子程序;60内秒没有发送“你好”就立即执行B子程序。要怎么写?

最佳答案

查看完整内容

有可能是我想多了。 收到群消息 判断是否正在检测并且是需要检测的用户 内容满足条件执行A(结束检测) 线程1倒计时结束执行B或者关闭检测开关。 大概是这样?
小栗子官网www.xiaolz.cn 小栗子程序更新请到官网下载
回复 关闭延时

使用道具 举报

许微末 发表于 2020-10-25 21:52:49 | 显示全部楼层
星云 发表于 2020-10-26 23:25
那新的消息怎么传到第二条线程?

有可能是我想多了。
收到群消息
    判断是否正在检测并且是需要检测的用户
        内容满足条件执行A(结束检测)
线程1倒计时结束执行B或者关闭检测开关。

大概是这样?
小栗子官网www.xiaolz.cn 小栗子程序更新请到官网下载
回复

使用道具 举报

许微末 发表于 2020-10-25 22:16:10 | 显示全部楼层
如果是我的话,大概在获得消息的时候,把用户QQ,数据.消息接收时间,存下来,然后需要判断的时候计算时间然后判断。
如果需要,也可以在收到消息的时候删除已经“过期”的信息
小栗子官网www.xiaolz.cn 小栗子程序更新请到官网下载
回复

使用道具 举报

许微末 发表于 2020-10-25 22:17:51 | 显示全部楼层
其实在data\log文件夹下,有日志,里面可以看到消息,直接操作日志文件来读取应该也可以
但是我不太习惯操作文件,并且他这个log日志怎么分的页没研究过
小栗子官网www.xiaolz.cn 小栗子程序更新请到官网下载
回复

使用道具 举报

ChongCiYT 发表于 2020-10-25 22:17:58 | 显示全部楼层
等他发言的时候判断下设备说你好的消息要是不是的话就执行b咯,还是看看有没有超过60秒
要是超过了就执行别的子程序
或许给时钟1给他一秒,然后在内部1+1=直到60,要是玩家没发言就执行别的咯
小栗子官网www.xiaolz.cn 小栗子程序更新请到官网下载
回复

使用道具 举报

许微末 发表于 2020-10-25 22:19:09 | 显示全部楼层
我个人还是习惯把数据存到数据库,然后把要搜索的逻辑放在sql语句里来写
小栗子官网www.xiaolz.cn 小栗子程序更新请到官网下载
回复

使用道具 举报

 楼主| 日月星辰 发表于 2020-10-25 22:26:13 | 显示全部楼层
本帖最后由 星云 于 2020-10-25 23:15 编辑
许微末 发表于 2020-10-25 22:16
如果是我的话,大概在获得消息的时候,把用户QQ,数据.消息接收时间,存下来,然后需要判断的时候计算时间 ...

那用户很久之后再发怎么办?我是想已超过60秒,他没发“你好”就立刻执行B子程序。
小栗子官网www.xiaolz.cn 小栗子程序更新请到官网下载
回复

使用道具 举报

佩佩 发表于 2020-10-25 22:51:48 | 显示全部楼层
等别人发 不如自己主动发内容引导人家。。至于人家发没发 靠时间判断 那闲的 关键字判断就行了  我自己写过类似的插件 。具体参考 https://bbs.xiaolz.cn/thread-1099-1-1.html  功能
小栗子官网www.xiaolz.cn 小栗子程序更新请到官网下载
回复

使用道具 举报

佩佩 发表于 2020-10-25 22:53:33 | 显示全部楼层
这就是一个简单的 触发关键字 你好 回复什么 没触发回复什么的 功能  无视时间多久发
小栗子官网www.xiaolz.cn 小栗子程序更新请到官网下载
回复

使用道具 举报

阳光小子 发表于 2020-10-26 08:37:24 | 显示全部楼层
按照正常思路 应该就是保存聊天记录到数据库, 按条件查询结果,等待其他思路
小栗子官网www.xiaolz.cn 小栗子程序更新请到官网下载
回复

使用道具 举报

12下一页
您需要登录后才可以回帖   登录 立即注册

高级模式

日月星辰

楼主

|Archiver|手机版|小黑屋|小栗子机器人社区

Powered by 小栗子机器人社区 X3.4 © 2001-2020 Comsenz Inc.