就直白的简单说一下增删改查,看懂就可以编写简单的插件了。
前提:会点Python,不会的就GPT,其次能看懂middleware.py中间件键(可根据下面的理解)
*数据桶:*相当于数据库,存放数据,通过插件设置桶名(
Bucket),数据键,数据值
头注:放在插件头部的注释,而autMan用来读取这些注释,形成插件的元数据。根据元数据,autMan相应的加载关适时激活插件。自己查看论坛相应帖子
# [disable: false]
# [title: 插件名]
# [platform: qq]插件在哪个渠道可以使用qq,wx等
# [price: 1]#上架价格
# [service: 你的账号]
# [rule: ^美女(.*)$]正则,例如美女添加,美女在后面作为相应函数调用
# [admin: false]
# [version: 1.0.0]版本
import middleware #必备依赖
我这里就用类写,如果不会类的话照猫画虎
class A:#随便一个类名
def __init__(self, user, sender):
self.user = user#获取的用户id
self.sender = sender#获取的middleware.py里面的sender类
def T0(self):#增
*'''*
*查询桶数据:tong = middleware.bucketGet("桶名", "键")*
*没有数据则返回‘’,数据类型为str字符串*
*=======*
*添加桶数据,键名一般可以用用户id,按自己需求*
*middleware.bucketSet("桶名", "键", "值")*
*self.sender.getUserID()获取用户id*
*self.sender.getUserName()获取用户名*
*例如:tong = middleware.bucketSet("T0",self.sender.getUserID(),"值")*
*'''*
#添加数据实例
self.sender.reply("请输入---翠花")#机器人回复用户
user_input = self.sender.listen(120000)#监听用户输入内容,监听时间为毫秒级
if user_input == "q":
#如果用户输入q,则退出
self.sender.reply("退出")
exit(0)
#存储用户发送的内容,在数据桶里面会出现一个T0的数据名
middleware.bucketSet("T0", self.sender.getUserID(),f"{user_input}")
self.sender.reply(f"{self.sender.getUserName()}:添加【{user_input}】成功啦")
def remove(self):
tong = middleware.bucketGet("T0", self.sender.getUserID())
if tong == "":
self.sender.reply("没有数据")
exit()
else:
middleware.bucketDel("T0",self.sender.getUserID())#删除该用户的数据
self.sender.reply("删除成功")#或者判断一下数据还在不在,不在才返回成功
def search(self):
#查询
tong = middleware.bucketGet("T0", self.sender.getUserID())
if tong == "":
self.sender.reply("数据为空")
exit()
self.sender.reply(tong)
def change(self):
*'''*
*tong = middleware.bucketGet("T0", self.sender.getUserID())*
*假如数据桶的值是字典,则根据字典修改,前提先把获取的数据转化为字典*
*不会就GPT,这里不教了,不安全的写法可以用eavl()*
*eavl(tong)把字符串数据自动匹配接近的类型*
*'''*
#例子只是简单的存储,所以直接提交就会改变数据
self.sender.reply("请输入---卢本伟") # 机器人回复用户
user_input = self.sender.listen(120000) # 监听用户输入内容,监听时间为毫秒级
if user_input == "q":
# 如果用户输入q,则退出
self.sender.reply("退出")
exit(0)
middleware.bucketSet("T0", self.sender.getUserID(), f"{user_input}")
self.sender.reply("修改成功")
if name == "main":
senderID = middleware.getSenderID()
sender = middleware.Sender(senderID)
user = sender.getUserID()
A = A(user, sender)#类
message = sender.getMessage()
#上面的可以固定,类名自己改
if "添加" in message:
A.T0()#用户发送美女添加,就会匹配这个条件,在调用函数
elif "删除" in message:
A.remove()
elif "查询" in message:
A.search()
elif "修改" in message:
A.change()
基础功能就这样,自己摸索中间件,调用即可,要用到接口类的跟平常写法一样
上面例子完整代码:
# [disable: false]
# [title: 测试]
# [platform: qq,wx]
# [price: 1]
# [service: 你的账号]
# [rule: ^美女(.*)$]
# [admin: false]
# [version: 1.0.0]版本
import middleware
class A:#随便一个类名
def __init__(self, user, sender):
self.user = user#获取的用户id
self.sender = sender#获取的middleware.py里面的sender类
def T0(self):#增
*'''*
*查询桶数据:tong = middleware.bucketGet("桶名", "键")*
*没有数据则返回‘’,数据类型为str字符串*
*=======*
*添加桶数据,键名一般可以用用户id,按自己需求*
*middleware.bucketSet("桶名", "键", "值")*
*self.sender.getUserID()获取用户id*
*self.sender.getUserName()获取用户名*
*例如:tong = middleware.bucketSet("T0",self.sender.getUserID(),"值")*
*'''*
#添加数据实例 self.sender.reply("请输入---翠花")#机器人回复用户 user_input = self.sender.listen(120000)#监听用户输入内容,监听时间为毫秒级 if user_input == "q": #如果用户输入q,则退出 self.sender.reply("退出") exit(0) #存储用户发送的内容,在数据桶里面会出现一个T0的数据名 middleware.bucketSet("T0", self.sender.getUserID(),f"{user_input}") self.sender.reply(f"{self.sender.getUserName()}:添加【{user_input}】成功啦") def remove(self): tong = middleware.bucketGet("T0", self.sender.getUserID()) if tong == "": self.sender.reply("没有数据") exit() else: middleware.bucketDel("T0",self.sender.getUserID())#删除该用户的数据 self.sender.reply("删除成功")#或者判断一下数据还在不在,不在才返回成功 def search(self): #查询 tong = middleware.bucketGet("T0", self.sender.getUserID()) if tong == "": self.sender.reply("数据为空") exit() self.sender.reply(tong) def change(self): *'''*
*tong = middleware.bucketGet("T0", self.sender.getUserID())*
*假如数据桶的值是字典,则根据字典修改,前提先把获取的数据转化为字典*
*不会就GPT,这里不教了,不安全的写法可以用eavl()*
*eavl(tong)把字符串数据自动匹配接近的类型*
*'''*
#例子只是简单的存储,所以直接提交就会改变数据
self.sender.reply("请输入---卢本伟") # 机器人回复用户
user_input = self.sender.listen(120000) # 监听用户输入内容,监听时间为毫秒级
if user_input == "q":
# 如果用户输入q,则退出
self.sender.reply("退出")
exit(0)
middleware.bucketSet("T0", self.sender.getUserID(), f"{user_input}")
self.sender.reply("修改成功")
if name == "main":
senderID = middleware.getSenderID()
sender = middleware.Sender(senderID)
user = sender.getUserID()
A = A(user, sender)#类
message = sender.getMessage()
#上面的可以固定,类名自己改
if "添加" in message:
A.T0()#用户发送美女添加,就会匹配这个条件,在调用函数
elif "删除" in message:
A.remove()
elif "查询" in message:
A.search()
elif "修改" in message:
A.change()