新年礼物: 神器 通过QQ控制mushclient工具1.0
本帖最后由 suwuji 于 2019-2-17 03:29 AM 编辑Smart QQ 已于 2019 年 1 月 3 日停止服务,目前已无法使用
感谢 白林枫 提醒,现在有了这个QQ控制mushclient端的工具。
感谢https://github.com/pandolia/qqbot 提供了qqbot库
直接进入使用步骤(windows下):
1、安装python2.7 , 建议百度一下安装python官方版本。
2、按qqbot提示通过pip安装qqbot 。 友情提示:安装好环境后确认控制台下pip执行正确,如果不正确请cd 切换到有pip.exe的目录下再执行pip install qqbot。
3、把mybot.py拷贝到python的scripts目录,并修改内容中qq号为常用QQ号,注意其中的中转文件路径。
4、把qqbot.txt内容全选复制粘帖到游戏的Alias中 ,注意qqbot start这个alias中文件路径。
5、注册一个新的qq号(或不用的号,清空其他好友)作为qqbot号,并用手机登录,加上常用qq号为好友。
6、运行mybot.py并用qqbot号手机扫描登录,然后可以在手机上退出切换到正常使用号。
7、mushclient里命令行指令执行下qqbot start(用来启动mush端接消息服务,对应停止为qqbot stop)。
若qqbot start启动报错,99%是常用的wait模块没加载,请编辑qqbot start,顶部加上require "wait"这一行。
8、常用QQ发信息给qqbot号,即可控制,而mush发信息给QQ使用qbs这个alias发送qbs hello等等~,mush对接收的消息处理在qqbot_on_msg这个alias中完成
日常就是使用6·8这几步
注意:
我的mushclient放在c:\根目录,所以中转文件使用的是C:\\mushclient\mushclient.txt和qqbot.txt,目录不一致的请自行修改。特别建议用 / 符号在mush中替换\\ \之类表示路径
值得完善的地方,安全处理,以及多world处理(当前只能对一个world进行处理),有能力的可以自行完善。
特别注意:
没有做安全处理,不要泄漏自己的中转号码!!避免被其他人发送的信息干扰!!
更新一下,qqbot更新到2.1.21发现写法变化了,更新一下mybot.py
北大侠客行MUD,中国最好的MUD
github上的 python qqbot 更新啦,只支持python3了,所以上面提到的下python2.x就不用了,直接上active python 3.x吧
支持这个状态的mybot文件
,如果python qqbot更新导致无法运行请跟帖说明。 本帖最后由 hypnos 于 2017-1-28 08:20 PM 编辑
这个好,以后可以直接躺床上用手机QQ连MUD了,最适合俺这种懒人 由于一开始只向qq发了英文信息,mush发中文存在错误,请重新下载mybot.py 唉,自动化程度越高,离灭亡就越近。 回复 4# nrm
是这样的。 qbs功能更新了一下,原qbs 作为alias命令行只能支持一行内容输出,有输出多行需求的,请直接调用函数qbs(msg)来实现。请一楼下载qqbot.txt全选复制内容后粘帖(原先已有使用过的,先把mush里已有的qqbot整个Alias组删除了再重新粘帖上去) 最近出现qqbot.py库(2.0.4版本以下)无法登录的情况,是QQ换协议了
https://github.com/pandolia/qqbot/issues/43 请更新qqbot.py库
通过命令行操作:
先卸载
pip uninstall qqbot
再重装
pip install qqbot 我的怎么不行?
qq接受到了命令,qqbot中也有内容。
但是没有mushclient.txt文件,也没有回复。 回复 8# foolenough
我把路径里的\\改成/可以了。 鉴于有操作后回显需求,为此附上附加的一套方案。这只是我的实现方法,有能力的可以自行完善。
请对应复制粘帖
多加了个触发器:<triggers>
<trigger
group="qqbot"
keep_evaluating="y"
match="(.*)"
name="qbdo"
regexp="y"
send_to="12"
sequence="100"
>
<send>--
if qbdo_mark==true then
if qbdo_msg == nil then qbdo_msg = "" end
--简单过滤掉状态信息
if string.find("%1","#")==nil then
qbdo_msg = qbdo_msg .. "%1\\n"
end
end
</send>
</trigger>
</triggers>这个作用是在规定范围内抓去所有行
alias
---------------------------第一个--------------------------------<aliases>
<alias
match="^qbdo (.*)"
enabled="y"
group="qqbot"
regexp="y"
send_to="12"
sequence="100"
>
<send>qbdo_mark = true
qbdo_msg = nil
EnableTrigger("qbdo",true)
Execute("%1")
--这个时间控制了多少时间内的信息被抓取
DoAfterSpecial(0.1,"qb_echo",10)
</send>
</alias>
</aliases>------------------------第二个--------------------------------<aliases>
<alias
match="qb_echo"
enabled="y"
group="qqbot"
send_to="12"
sequence="100"
>
<send>EnableTrigger("qbdo",false)
if qbdo_msg~=nil then
qbdo_msg = string.gsub(qbdo_msg,"&gt;","")
qbdo_msg = string.gsub(qbdo_msg,">","")
qbs(qbdo_msg)
end
qbdo_mark = nil
qbdo_msg = nil
</send>
</alias>
</aliases>好了,这样当你用qq发信息控制时,如果同时想要mush端回显,只需要qbdo hp,qbdo look之类,可以看见回显信息了,如果嫌qbdo 麻烦可以自行修改完善。
页:
[1]
2