默尘科技 发表于 2018-12-15 17:39:38

晨风机器人如何设置插件菜单

本帖最后由 大恩恩 于 2019-10-18 17:20 编辑


如图
怎么写插件能在插件设置里面建立一个插件菜单
晨风使用说明里面有这么一条:
每个插件都可以把自己的界面设置附加到机器人的第四个菜单“插件设置”下面。在插件的startdllfun函数返回值中,如果包含了“|”符号,则表示用|分割了此插件下多个子菜单的名字(一个插件最多支持20个子菜单),如果只有一个子菜单,则startdllfun函数的返回内容就是诸如“功能设置|”,如果没有菜单的话,则返回的内容不包含“|”即可。
用户点了哪个菜单,就会把那个菜单的名字作为参数值传到dllmenu函数中,插件开发者可捕获传入的menuname参数对应的文字不同,而弹出不同的窗口让用户进行配置。

但对于我这个插件小白来说,看不懂。。。
求个插件大佬写个源码,或者发个例子源码

默尘科技 发表于 2018-12-15 18:17:38

我只是路过打酱油的。

257471 发表于 2018-12-15 20:57:05

易语言插件

.版本 2

.子程序 startdllfun, 文本型, 公开, 机器人在第一次加载本插件时会调用改子程序
.参数 传入, 文本型, , 机器人调用文本中的cmdstr参数
.参数 类型, 文本型, , 类型(1为好友消息 2为群消息 3为群友私聊消息)
.参数 群号, 文本型, , 触发消息的人的群号
.参数 QQ, 文本型, , 触发消息的人的QQ号
.参数 完整, 文本型, , 完整的传入参数
.局部变量 需要加载菜单, 逻辑型

需要加载菜单 = 真

.如果真 (需要加载菜单)
    返回 (“插件菜单示例|这是一个菜单|这也是一个菜单”)
.如果真结束
返回 (“”)


.版本 2

.子程序 dllmenu, 文本型, 公开
.参数 传入, 文本型, , 机器人调用文本中的cmdstr参数
.参数 类型, 文本型, , 类型(1为好友消息 2为群消息 3为群友私聊消息)
.参数 群号, 文本型, , 触发消息的人的群号
.参数 QQ, 文本型, , 触发消息的人的QQ号
.参数 完整, 文本型, , 完整的传入参数
.局部变量 左位置, 整数型
.局部变量 右位置, 整数型
.局部变量 菜单名, 文本型

完整 = 完整 + “&”
左位置 = 寻找文本 (完整, “menuname=”, , 真)
右位置 = 寻找文本 (完整, “&”, 左位置, 真)
菜单名 = 取文本中间 (完整, 左位置 + 9, 右位置 - 左位置 - 9)
.判断开始 (菜单名 = “插件菜单示例”)
    信息框 (“这是第一个菜单”, 0, , )
.判断 (菜单名 = “这是一个菜单”)
    信息框 (“这是第二个菜单”, 0, , )
.判断 (菜单名 = “这也是一个菜单”)
    信息框 (“这是第三个菜单”, 0, , )
.默认

.判断结束
返回 (“”)


来自晨风官方插件示例

不言. 发表于 2018-12-15 23:38:29

强烈支持楼主ing……

皮百万 发表于 2018-12-16 10:27:28

本帖最后由 大恩恩 于 2018-12-17 11:33 编辑

257471 发表于 2018-12-15 20:57
易语言插件

.版本 2

亲测无效,.会导致主程序打不开:(

千の域 发表于 2018-12-16 11:34:29

本帖最后由 大恩恩 于 2018-12-17 11:35 编辑

例程

257471 发表于 2018-12-16 15:27:15

本帖最后由 257471 于 2018-12-16 15:31 编辑

皮百万 发表于 2018-12-16 10:27
亲测无效,会导致主程序打不开
不可能,你直接复制粘贴到易语言里,改一下菜单名就可以了,子程序名不能改,把插件名放到自动加载的dll列表

皮百万 发表于 2018-12-16 21:30:35

257471 发表于 2018-12-16 15:27
不可能,你直接复制粘贴到易语言里,改一下菜单名就可以了,子程序名不能改,把插件名放到自动加载的dll列 ...

的确,弄了就打不开主程序了

257471 发表于 2018-12-16 22:44:14

皮百万 发表于 2018-12-16 21:30
的确,弄了就打不开主程序了
你楼上的楼上有插件,照着弄

机管 发表于 2018-12-17 08:17:14

搜百度秒知道去哦
页: [1] 2
查看完整版本: 晨风机器人如何设置插件菜单