机器人 (Bot)

Bot参考中包含了Bot对象的所有属性和方法。

获取Bot对象

Bot对象代表了机器人自身,通常获取 Bot 对象有以下方法:

单独构造

使用 Bot 方法构造Bot对象

示例:
local bot = Bot(qq 账号, "qq 密码", "device.json")
bot:login() -- 登录

由于手动构造的 bot 不会自动登录,需要手动调用 login 函数进行登录。

参数列表:
参数类型描述可空
accountnumber账号False
passwordstring密码False
configstring/table构造信息True

当 config 为 string 时,代表设备信息路径,如文件不存在则自动创建。

当 config 为 table 时,该table代表bot附加构造信息,table可取以下成员

参数类型描述
protocolstring登录协议,可能的取值如下
"ANDROID_PHONE" 安卓手机协议
"ANDROID_PAD" 安卓平板协议
"ANDROID_WATCH" 安卓手表协议
fileBasedDeviceInfostring设备信息路径
heartbeatPeriodMillisnumber心跳周期(毫秒,默认为60000)
heartbeatTimeoutMillisnumber每次心跳时等待结果的时间(毫秒,默认为5000)
firstReconnectDelayMillisnumber心跳失败后的第一次重连前的等待时间(毫秒,默认为5000)
reconnectPeriodMillisnumber重连失败后, 继续尝试的每次等待时间(毫秒,默认为5000)
reconnectionRetryTimesnumber最多尝试多少次重连,默认为2147483648次
noBotLogBoolean值为true时,不输出bot的log信息
noNetworkLogBoolean值为true时,不输出network的log信息
botLoggerFunctionbot日志拦截器,接收一个字符串参数。
networkLoggerFunctionnetwork日志拦截器,接收一个字符串参数。

示例1:

local bot = Bot(qq 账号,"qq 密码","device.json")
bot:login() -- 登录

示例2:

local bot = Bot(qq 账号, "qq 密码", {
        protocol = "ANDROID_WATCH", --使用手表协议登录
        fileBasedDeviceInfo = "device.json", --指定设备信息路径
        noNetworkLog = true --不显示网络日志
    })
bot:login() -- 登录

获取已创建的bot对象(适合作为插件情况下使用)

对于上述使用Bot函数创建的对象,Bot对象创建完毕后,该对象会保存入名为Bots的全局表中

示例:
for id, bot in pairs(Bots) do --遍历所有的bot对象
    prnumber(id .. ":" .. tostring(bot))
end
Last Updated:
Contributors: only52607