欢迎您光临巅峰下载,海量设计资源供您办公娱乐日常所需

听说你还在等QQ版MJ开放申请?不如直接把MJ放在微信里


最近看一个大佬分享文里面学到用RPA工具(机器人流程自动化,听着很高级,其实就是低代码开发,解决一些重复操作电脑软件或者网页的工具)。
他讲了三个案例,无人值守给MJ批量跑prompt,用微信控制sd画图,用rpa自动爬取c站漂亮小姐姐图片和prompt。
但我总觉得MJ批量跑图/下载别人的图片和Prompt其实没啥意思,因为需要不断的调试和迭代prompt,才能慢慢接近自己想要的效果。
若只是要好看的图,随便借鉴别人的prompt也能画出很多。
而微信控制sd画图并返回图片到微信群,也不如直接用远程工具控制SD画图,因为有太多参数和设置项,微信对话框操作参数太麻烦了。
而且一不小心画出瑟瑟的图,还容易被封群封号,难绷。
然后最近看到很多人在刷Mid Journey最近在QQ频道开放公测的消息。
我就想,不妨咱也自己用rpa做一个微信控制mj画图的小工具?那就不用去等别人给我开名单了,我自己爱咋画咋画。
说干就干,于是我也试着开发了一个小小的程序,实现直接用微信群发送指令和拿图。这样随时随地都可以用mj作画了,手机不用上外网。
甚至你还可以拉朋友进来一起画画。这样200多的月费会员,总算是没有太浪费了。


下面是步骤
(注意,你需要有MJ订阅账号以及上网能力)
1.下载安装RPA工具。
市面上常见的有unibot还有影刀两款工具。
我这里以影刀为例(下载地址https://www.winrobot360.com/)。另一款其实用法也是类似的。
2.新建一个pc自动化应用,比如叫做mj_in_wechat。接着创建一个无限循环。
因为我们这个程序需要持续读取微信的聊天框信息,所以需要创建一个无限循环,每隔五秒查看一下有没有收到画图指令。
如果有就开始画图,如果没有就跳过,继续循环监控。

3. 新建一个微信群聊,比如叫做rpatest,然后把这个群聊单独打开成一个小窗口,方便影刀捕捉和操作。

4.在无限循环里面新增一个获取窗口对象命令。
标题右侧点下拉框,就能找到自己刚刚设置并单独打开的群聊窗口名字,rpatest。同时保存实例至wechat_group_window (也可以改成其他名字,但要易识别的名字)

5.获取相似元素列表(win)来读取分析群消息
这一步需要获取微信群聊的聊天框文本信息,识别画图指令,用于后续mj画图使用。

操作目标是需要“去元素库选择”,然后“捕获新元素”,捕捉选择rpatest群聊里面的任意一个对话框。
接着再点击捕获相似元素,再点rpatest里面的另一个对话框。
这样软件才能识别你要选择的元素原来是一系列的对话框(不然他只会识别某个特定的对话框)。
接着改元素名称为wechat_msg,然后点击校验元素,看是否选择正确(影刀会有红框,红框中多个该群聊对话框就对了)。
元素设置好后,再回来把获取相似元素列表(win)的设置窗口,把“操作目标”设定为刚刚新建的元素(wechat_msg)。
6.下面我们来判定消息中是否含有画图指令
逻辑是,如果刚刚获取的群消息内容中含有特定指令,则获取画图指令,发送到mj,再把mj返回的图片,发送图片到微信群。
所以我们新建一个if多条件的指令,用来判定群消息是否满足要求。如果满足再往下执行画图,否则跳过不执行。
我设置的if条件是,如果群消息不为空,且群里最后一条消息是“画图”,则执行后面的画图指令。(这里你也可以用其他指令,比如开始,画图,或者特定的人名,都行)

注意:条件列表要先点左侧的python十字标志,点击成了彩色之后,再来输入后面的指令。
Len()函数代表测量某个元素的长度。长度不为0代表群消息不为空(有消息)。
Msg_list[-1]代表最后一条信息要是“画图”。当然如果你喜欢别的触发词也可以改成其他指令。
7.让mj作图
因为很多设置和上面的类似,就不每个指令都详细说了。
具体作用都用红字写在了后面。基本设置在左侧蓝字也有展示。

8.从mj复制最新一张预览图并发送给微信群,同时附上结束语:您要的图已经画好啦,亲爱的主人~
(当然你也可以写其他语句,比如“图已生成,请查收”,“欧尼酱,图好啦”之类。)

9.结尾

这里end if就是代表if语句的结束标志。(If和end if中间的语句就是满足条件时要执行的东西。)
等待5秒是让机器每隔五秒钟检查一下微信群,看看有没有人给他发送新的画图指令。如果没有就等待5秒再检查一次。
你也可以按照自己的需求去设置得更长或者更短。
循环结束标记,就是代表从“无限循环”到“循环结束标记”之间的内容,如果无人干预,没有报错,它会一直执行下去,永不停歇。

三.
好了,辛苦那么久,终于弄好了,下面来看一下效果吧。
(电脑端效果,右下角是rpa正在执行的指令,有加速和剪辑)
(手机端效果,有加速和剪辑)
当然,现在还仅仅是最基本的功能,就是传递prompt和结果图片。
后续的优化空间还有很多,比如如何传递特定一张图片(而不是4张预览图),如何使用v1-v4功能,u1-u4等其他功能,甚至/describe,/setting等。
这些都可以按照和上面类似的流程去调试和设置即可。时间问题我就不详细说了,大家可以自行调试和玩耍。

四.
答疑环节
1. 作者你开发的程序能否分享学习?
可以,https://api.winrobot360.com/redirect/robot/share?inviteKey=a11fb9532276dbac。有兴趣的同学自己可以玩玩看。
2. 很多不会的地方,怎么办?
每一个控件右上角都有“使用说明”按钮,点击后会有这个控件的用法文档,有的甚至有视频说明。
也可以去b站看官方教程,看多几个案例基本上就能上手了。然后多尝试多搜索即可。

<End>

发表评论