大家好,我是公众号3分钟学堂的郭立员~
和朋友聊天说到怎么给QQ群引流,要解决一个核心问题就是别人为啥加群,我们要做的是提供一个“诱饵”,加群以后能够给对方需要的东西或者服务。
那我们做脚本的能提供什么诱饵?肯定是脚本啊,那么要解决的就是怎么把脚本和QQ群联系在一起的问题。
一个简单的方式是把脚本放到QQ群里面,别人进群才能下载,这是比较常用的方法。
不过别人进群后转发脚本给其他人,其他人使用脚本时其实和我们的QQ群就没有联系了。
为了增强关联性,我们把QQ群作为脚本运行的验证,只有在使用设备上登录过加群的QQ,才能验证通过使用脚本。
这种验证的原理是读取设备上的QQ数据库,查看当前QQ所加群中是否有我们的群。
具体步骤:
1,找到QQ数据库的路径:
/data/data/com.tencent.mobileqq/databases/QQ号.db
在路径中可以看到数据库名称是QQ号,这就是说要知道完整的路径,要获取到QQ号,可以是让用户自己填写,也可以遍历所有数据库文件,从中找到QQ号。
两种获取QQ号的方法中我个人是觉得让用户自己填写更好,因为当设备中登录过多个QQ的时候,遍历出来就是多个结果。这样就不准了。
2,读取数据库文件,查找群号做验证
Import "sqlite3.lua"Dim QQ="453485278" //做成输入框,让用户填写Dim q群号="242971687" //你自己的QQ群Dim DBpath = "/data/data/com.tencent.mobileqq/databases/"&QQ&".db"Dim ret = sqlite3.SQLSelect(DBpath, "FTSTroopTime")If Len(ret) = 0 Then TracePrint "验证失败,请加入QQ群"&q群号&"完成验证" EndScriptEnd IfFor i = 1 To Len(ret) TracePrint ret[i]["mUin"] If ret[i]["mUin"] = q群号 Then TracePrint "验证群通过" Exit For End If If i = Len(ret) Then TracePrint "验证失败,请加入QQ群"&q群号&"完成验证" EndScript End IfNext
我在测试的时候发现,这钟方法也是存在bug,比如进群后又退出群,在QQ数据库里面还是会有这个群记录。
在QQ数据库中还有很多其他的数据,但是是加密的,破解加密还没搞定,所以只能是用这个没加密的数据做验证,等以后把QQ加密破解了,在优化这个方法。
=正文完=