美文网首页
利用QQ机器人操作网站功能,要注意什么

利用QQ机器人操作网站功能,要注意什么

作者: 项小月 | 来源:发表于2019-07-17 13:35 被阅读0次

    用QQ的人很多,QQ机器人很有趣。
    如果能利用QQ机器人,把用户引到网站上,那更好了!
    CQHTTP这个插件,文档写的很好,如果要写机器人处理程序,可以试试它。
    原理是监听消息,然后上报到一个地址,你需要自己写一个处理程序,监听这个地址,收消息。
    根据消息的不同,处理程序作出不同的反应。
    CQHTTP是插件,你写的处理程序不是。

    一、有API比没有更好

    ⒈机器人上报指令给处理程序,程序对API发起请求即可。

    ⒉如果不用API,处理程序就要自己操作数据库了。

    假如开发处理程序的人和开发网站的不是同一人,或者用的也不是同一种编程语言。
    
    你需要知道网站程序是怎么操作数据库的,自己也得那样操作。这就麻烦多了。
    

    ⒊因为只对API接口进行请求,可以无视编程语言的区别。也不必知道API是怎么操作数据库的。

    二、功能流程

    以“签到”功能来说。

    ⒈此时你在QQ群里发了条消息(指令),如“#签到”,机器人收到了你的消息(指令)。

    ⒉机器人上报指令给处理程序(这个程序要自己写)。

    ⒊处理程序知道你要签到,于是向地址:“www.example.com/actions/sign”发起POST请求。

    ⒋API端收到这个请求,验证用户信息,然后操作数据库,返回消息。

    ⒌处理程序收到API返回的消息,再将它和其他东西组合起来,返回到QQ群里。

    三、用户验证

    如果是登录网站,API端已经写好认证了。

    那么对QQ机器人发指令,API端怎么认证?

    ㈠思考如下:

    ⒈用户肯定要在网站上绑定自己的QQ号,把用户名(用户ID)和QQ号绑定到一起,这样才知道谁是谁。

    ⒉在网站登录,会生成session信息,用这样标识用户。若是用QQ发指令,不必再弄个session验证。

    因为可以确定QQ号是用户本人在用(盗号就不管了)。
    
    当然还有一种选择,就是用QQ发指令,假装是用QQ登录,也给用户一个session信息。
    

    ⒊如果不用session,在“验证中间件”里加个判断:如果是QQ机器人指令,就算通过验证。同时要在请求头里加个标识,标识自己是QQ机器人指令。

    ⒋如果用session,就要向"/login"路由发起POST请求,生成一个session,处理程序那边要记录session信息。然后再发送“签到”请求。

    ⒌我选择不用session,默认用户不会被盗QQ号。这样比较好写,也能省点流量。

    ㈡过程如下:

    ⒈在网站个人资料里绑定自己的QQ号,也就是用来发指令的QQ号,这样在数据库里有了相关记录。

    ⒉向QQ机器人发一条指令,机器人把指令传给你的处理程序,处理程序向API发起请求。

    ⒊验证中间件查看请求头,发现是利用QQ机器人发送的指令,于是验证是否在网站上绑定了,通过则继续。

    四、利用QQ机器人,能在网站上做什么?

    能做很多,而且可以加些限制,比如只有会员才能这样那样,或者等级达到多少级才能这样那样......

    “签到”只是一个例子,除此之外,还有:

    ⒈“商品交易”(如果网站有商城)

    ⒉随机换一个自己在网站的个人头像(指令“#头像”,机器人帮你在图库里随便找一个换上去)

    ⒊查询文章元信息(发布时间、修改时间、阅读量、收藏量、举报量、评论数量、喜欢和反对的数量等。)

    ⒋网站排名及其他信息(网管理员可用,本质是向某些网站请求数据,然后返回)

    ⒌本人信息(多少人关注我,我关注了多少人,我关注了谁,谁关注了我,我举报了谁,谁举报了我等等。)

    ⒍转送金币、积分、验证(如果能转的话)

    ⒎一些简单的命令,如“#生成卡密 100”,“#清理缓存”,“#全站通知 空一格之后就是全站通知的内容”等等。

    ⒏待补充......

    五、总结

    每天一水,圆满完成!

    相关文章

      网友评论

          本文标题:利用QQ机器人操作网站功能,要注意什么

          本文链接:https://www.haomeiwen.com/subject/xxeqlctx.html