词库lua基础代码教程

发布时间:2021年12月24日 阅读:10053 次

首先我发布这个帖子的教程我先说一下

这个帖子简直就是送给开发者的福利,只要你学会了代码,你的词库代码甚至高级的骚操作完全都能解决、

再此首先看此教程前你一定要保存lua的教程

lua教程里面百度也能搜到

不过有些代码是不需要也用不到的,你只需要了解运算符 基础语法 循环 等等 核心代码

下面上链接 https://www.runoob.com/lua/lua-basic-syntax.html

你如果学会了这些,后面的就简单了、

好了不多说开始上教程

第一步词库指令和lua代码

首先如果要写lua代码 词库lua指令内容里面不能掺杂任何其他的词库代码 lua只能执行lua的

下面看参考


你好

哈哈%随机数1-100%


呵呵

lua代码


你很清楚的看到 你好指令 里面是有词库代码的 随机数那个 就属于词库代码

那么如果你要写lua代码的话 就不能掺杂你以前写的任何词库代码在里面 否则就会异常 或者代码不回复


现在开始发lua代码的结构 跟着我写


你好

哈哈%随机数1-100%


呵呵

--lua编程


呵呵下面有一个--lua编程 标识 切记这很重要

这是词库检测这个指令的内容是否为lua代码 你如果不加这个 lua就会被检测为词库 最后无法执行lua代码 切记 每一个指令的第一行 一定要加这个


下面进行下一步


你好

哈哈%随机数1-100%


呵呵

--lua编程

function main(m)
n=m
msg=n.msg--获取机器人的消息
sendid=n.sendid--获取发言人的QQ
groupid=n.groupid--获取机器人的群号
robot=n.robort--获取机器人QQ
nick=n.nick--获取机器人昵称
zhu=n.zhu--获取主人
ATQ=n.ATQ--获取艾特QQ

end


现在这里先不说lua结构 很重要的一点就是会写词库的都发现了 词库指令内容里面不能回车 一旦回车就会变成两个指令 最后无法检测到

那么会lua的对你们说一下 你们如果写过脚本什么的 lua调用方法啥的 或者 回车了 当然没什么事

但是在我这里 词库代码就不一样了 lua代码切记 千万不能有回车 否则就完蛋 轻者代码不回复 重者代码完全废了

那么怎么解决弥补回车呢? 有些人就会问了 那么lua方法函数之间互相调用一定要回车才行啊

那么很容易解决啊 就是回车的地方添加 lua的注释代码不就轻易解决了吗 看代码

注释代码是 --内容 这个既能弥补词库检测的问题又能弥补lua的问题 多好

好了 不多说 你们知道这个就行

现在进入下一个环节

你们看上面的代码 呵呵里面的代码 现在来解说一下 这个结构


function main(m)

end


这个就是lua的函数方法

main是我这边的指令启动入口 main不可改变名字 

那么m 是什么呢 对象 

你可以改成其他的英文 都行

因为 是赋值 不要紧的

那么


function main(m)

n=m

end


n=m的意思就是 创建一个n对象 获取m的对象变成 n

你们会说这个对象干嘛的呀

这个对象 是调用程序的 java代码的方法接口库 你不需要了解太多 知道一点就行了


--lua编程

function main(m)
n=m
msg=n.msg--获取机器人的消息
sendid=n.sendid--获取发言人的QQ
groupid=n.groupid--获取机器人的群号
robot=n.robort--获取机器人QQ
nick=n.nick--获取机器人昵称
zhu=n.zhu--获取主人
ATQ=n.ATQ--获取艾特QQ

end


msg=n.msg--获取机器人的消息
sendid=n.sendid--获取发言人的QQ
groupid=n.groupid--获取机器人的群号
robort=n.robort--获取机器人QQ
nick=n.nick--获取机器人昵称
zhu=n.zhu--获取主人
ATQ=n.ATQ--获取艾特QQ

这段是赋值 

msg这些事全局变量 不知道变量的我就不多解释了

自己百度 lua全局变量即可


那么这些是机器人的参数 会写词库的都知道了吧

旁边用--符号注释的后面的内容解说的很清楚了


好了基本框架写好了

现在如何发送消息呢? 首先 我说一下 发送消息参数部分 跟词库一样 json: 发送json框架 card:1 发送 xml卡片 文本就写字就行了 回车的话就不是词库的\r了 而是 \n 记住了啊

先开开始上 发送代码

--lua编程

function main(m)
n=m
msg=n.msg--获取机器人的消息
sendid=n.sendid--获取发言人的QQ
groupid=n.groupid--获取机器人的群号
robot=n.robort--获取机器人QQ
nick=n.nick--获取机器人昵称
zhu=n.zhu--获取主人
ATQ=n.ATQ--获取艾特QQ

s("你好\nmsg="..msg.."\nsendid="..sendid)

end

--s是发言用的
function s(s)
n:send(s,groupid)
end


下面s这个函数方法就是 发送端口

首先说一下这个代码

s("你好\nmsg="..msg.."\nsendid="..sendid)

s() 括号里面要填写 字符串 "" 这个符号中间写的东西就是字符串

\n 是回车

"你好\nmsg="..

后面 .. 是链接符号 你不懂的话 自己百度 lua链接符号

之后 s() 括号内 就是发送消息端口


那么s是什么呢 是调用的函数名方法


function s(s)
n:send(s,groupid)
end


前面这个说过了 你不懂 自己百度 lua函数调用


s(s) 里面的s就是 接收传递过来的字符串 变量


function s(s) 跟 end 就是开头与结尾 就跟你的词库 如果 返回如果差不多 只不过这个比你那个高级百倍


现在讲里面的这个

n:send(s,groupid)


n前面说了是对象 现在 n: 加这个符号代表通过对象 调用我主程序里面的 java已经写好的方法 意思就是执行我程序里面的 java方法


send() 就是java 发送端口 的方法 第一个参数为字符串类型 第二个参数 都不多说 就是群号参数变量



 好了基本代码框架解说好了 你们现在直接把下面的代码复制到词库 然后发送  呵呵 指令 试试看吧



你好

哈哈%随机数1-100%


呵呵

--lua编程

function main(m)
n=m
msg=n.msg--获取机器人的消息
sendid=n.sendid--获取发言人的QQ
groupid=n.groupid--获取机器人的群号
robot=n.robort--获取机器人QQ
nick=n.nick--获取机器人昵称
zhu=n.zhu--获取主人
ATQ=n.ATQ--获取艾特QQ

s("你好\nmsg="..msg.."\nsendid="..sendid)

end

--s是发言用的
function s(s)
n:send(s,groupid)
end



如果你发送成功了 那么你在仔细看看我上面说的吧 其他的不多说了 

实在听不懂我说的话 直接百度 lua基础教程


下面送你们一些可以调用的接口把

还有一些基本语法


lua几个基本语法 如下 下面的并不全面哦 不懂得 自己百度去搜


if正则匹配语法


呵呵

--lua编程

function main(m)
n=m
msg=n.msg--获取机器人的消息
sendid=n.sendid--获取发言人的QQ
groupid=n.groupid--获取机器人的群号
robot=n.robort--获取机器人QQ
nick=n.nick--获取机器人昵称
zhu=n.zhu--获取主人
ATQ=n.ATQ--获取艾特QQ

if string.find(msg, '你好') ~= nil then

s("对的")

else

s("不对")

end--if结尾

end

--s是发言用的
function s(s)
n:send(s,groupid)
end


是正则判断 指令的

这个指令大概意思就是如果 msg消息 为你好 就会执行里面的代码

你实在不懂 百度 lua正则匹配



--lua的替换
--x = string.gsub("hello world", "hello", "lua")


大概意思就是 hello world 免得 hello 替换为 lua 跟你那个词库替换差不多

实在不懂  百度 lua替换字符串


举例如下

呵呵

--lua编程

function main(m)
n=m
msg=n.msg--获取机器人的消息
sendid=n.sendid--获取发言人的QQ
groupid=n.groupid--获取机器人的群号
robot=n.robort--获取机器人QQ
nick=n.nick--获取机器人昵称
zhu=n.zhu--获取主人
ATQ=n.ATQ--获取艾特QQ

if string.find(msg, '你好') ~= nil then

x = string.gsub(msg, "你", "我")

s("对的"..x)

else

s("不对")

end--if结尾

end

--s是发言用的
function s(s)
n:send(s,groupid)
end


--lua的循环
--for i=10,1,-1 do
执行内容
--end


具体的意思就是 for里面 循环10次啦 你不懂的话 百度 lua for循环


举例如下

呵呵

--lua编程

function main(m)
n=m
msg=n.msg--获取机器人的消息
sendid=n.sendid--获取发言人的QQ
groupid=n.groupid--获取机器人的群号
robot=n.robort--获取机器人QQ
nick=n.nick--获取机器人昵称
zhu=n.zhu--获取主人
ATQ=n.ATQ--获取艾特QQ

for i=3,1,-1 do

s("对的")

end

end

--s是发言用的
function s(s)
n:send(s,groupid)
end


下面就是随机数代码

local nn= math.random(50,100)

意思就是随机50 到 100 之间 不会的 百度 lua范围随机数


举例如下

呵呵

--lua编程

function main(m)
n=m
msg=n.msg--获取机器人的消息
sendid=n.sendid--获取发言人的QQ
groupid=n.groupid--获取机器人的群号
robot=n.robort--获取机器人QQ
nick=n.nick--获取机器人昵称
zhu=n.zhu--获取主人
ATQ=n.ATQ--获取艾特QQ

for i=3,1,-1 do

local nn= math.random(50,100)

s("对的"..nn)

end

end

--s是发言用的
function s(s)
n:send(s,groupid)
end


还有运算符什么的乱七八糟的就不多说了太多了


下面提供lua调用java的接口代码如下


有些代码太多了

我正好写了一个游戏词库 就是lua的 下载里面大部分接口代码都在里面 导入到x6词库里面去就直接可以用

链接 http://clousx6.icu/kun.zip



下面发一些 

上面游戏词库没有的代码





n:ban(groupid,sendid,120)

这个是禁言代码 第一个参数是 群号 第二个是qq 第三个是禁言 秒为单位的禁言时间

n:kick(groupid,QQ)

这是踢人代码 第一个是群号参数 第二个是 踢人QQ


n:TH("ma",n.ss.."/Clousx6/配置数据库/代码库/接口.lua")

这个TH是调用外部 lua文本 代码 

你如果不了解的话 直接去x6下载 lua群管配置 然后发送下载 你就会知道你怎么用了


n:get("httpxxxxxx")

这是访问网址get代码


2019年11月30日代码更新

新增lua调用词库指令

新增lua json数组解析

新增lua json生成数组

新代码链接:http://clousx6.icu/lapp.zip



还有其他的下次多多更新吧

lua教程到此结束


Tag:
相关文章
发表评论

发表评论: