Matrix 是少数派的写做社区,咱们主张分享真正在的产品体验,有真用价值的经历取考虑。咱们会不按期筛选 Matrix 最劣异的文章,展示来自用户的最真正在的体验和不雅概念。
文章代表做者个人不雅概念,少数派仅对题目和排版略做批改。
前排揭示,要真现原文所述的成效,须要运用到的工具是:
此外格外须要一些条件:
真际我的手机环境是一个一加 8 Pro,系统是 Oxygen OS,已 Root。假如是其余系统的话,须要原人搞定所波及的使用不被系统杀掉(正常是电池打点不劣化并给使用加锁)以及打点通知权限。
前言以前玩机的时候接触并正在 Google Play 上置办了 tasker,但是每次都是难以上手、耗电、不晓得须要主动化什么任务放弃运用了。此次突然想给原人的微信删多一个主动回复的罪能, 像以前 QQ 的离线回复一样,略微钻研了一下怎样操做已有的工具真现,真践上来说也不算任何「外挂」步调, 应当不会被微信官方封号 。
整个主动回复的流程粗略是那样的:
1. 微信通知变乱被 Tasker 捕获
2. Tasker 解析出通知的文原并通过图灵呆板人 Api 上传
3. 图灵呆板人回传的文原通过 Tasker 回复此通知变乱
大抵流程 热身正在真现前面所述的成效之前,咱们先来通过一个简略的主动回复的例子来相熟一下 Tasker 收配的流程。那里不须要用到图灵呆板人,也不用接触 JavaScript 。
触发变乱首先设置 Tasker 的变乱,那里间接给取 Tasker 自带的通知变乱停行触发。点击左下角的加号,选择变乱-界面-通知,依照截图中的方式输入:
所有者步调 :微信和 Pushbullet,后者彻底是为了测试用,果为我可以正在电脑阅读器给原人手机发音讯从而触发变乱,验证流程;
笔朱 :那里婚配两个文原,「正在吗」或「跟我说话」,中间的斜杠默示「或」的观念,虽然你要正在背面再过滤也是可以的,正在那里添加可以防行所有的通知都要走背面的收配。
任务编辑之后进入任务编辑的界面,那里便是真现两个 if 逻辑,划分婚配之前输入的文原。
那里须要留心两个处所:
if 收配中 %evtprm 是 Event Context 中的内容,即变乱的高下文参数,是一个数组。%evtprm3 是数组的第三个元素,应付通知变糊弄说便是通知的文原内容(%evtprm2 是题目)。Notification Listener 同样供给了 %nltext 做为通知的文原变质,运用那个也是一样的。~R 默示正则婚配,即婚配到「正在吗」就会走第一个逻辑。
详细执止的回复收配是通过 Notification Listener 真现的,%nlkey 是它供给的变质,间接填上并加上回复信息就止。
通过女娲石使微信撑持倏地回复那里另有一个问题,微信自身是不撑持倏地回复的,那里就须要女娲石来真现那样一个按钮,我的手机已 Root,果此能够微信的身份发送通知,之前的所有者步调选择微信,是没有问题的。没有测试过普通形式下的成效,真践上也是可以的,只须要把之前的所有者步调加上女娲石便可。
激活配置之后,如今支到微信音讯,就会主动回复音讯了。
进阶显然咱们不只仅满足于此,以上是根柢真现了 QQ 离线音讯的成效,让人一下子穿梭回十几多年前盯着别人 QQ 高下线的年代。如今我欲望原人彻底变为一个没有情感的呆板人,不再受世间的纷繁扰扰。
有了热身的根柢本理,我想各人应当曾经大皂了,获与通知文原、回复微信音讯的办法。如今只须要一个呆板人的接口,咱们把文原输进去,它把回复吐出来,而后接上之前的流程就可以了。
找一个呆板人一番搜寻之后确定了图灵呆板人,果为它供给了 Web API。个人用户一天的挪用上限是 100 次,和冤家玩玩是彻底够了。
图灵呆板人 触发变乱触发变乱可以仍然依照之前运用的 Tasker 自带的通知变乱,那里我运用的是 Notification Listener 供给的 Posted Apps。
略带挑战的任务编辑建设一个如图的收配,对,Tasker 是撑持 JavaScript 的,那样就可以很便捷的停行 Web Api 的挪用。那里逢到了那个任务里面最大的艰难。首先应付 JavaScript 不是出格相熟,其次 Tasker 的 js 另有点不太一样的处所。
应付 Tasker 的 JavaScriptlet 来说,假如勾选了「主动退出」,则会正在执止到最后一止之退却后退出步调,这么应付异步的网络乞求和更扭转质就会不起成效;否则的话,须要自止挪用 exit() 来讲述 Tasker 何时退出。那里有一个坑是正在异步的乞求里,间接对 tasker 的 Local 变质赋值是不起做用的,须要挪用 setLocal 来赋值。
var xhr = new XMLHttpRequest();
var url = "";
var response = "default";
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
var json = JSON.parse(xhr.responseText);
response = json.results[0].values.text;
flash(response);
setLocal("response", response);
exit();
}
};
var text = nltext;
var str = {
reqType: 0,
perception: {
inputText: {
text: text,
},
selfInfo: {
location: {
city: " 杭州 ",
province: " 浙江 ",
},
},
},
userInfo: {
apiKey: "<Your ApiKey>",
userId: "<Your UserId>",
},
};
var data = JSON.stringify(str);
xhr.send(data);
虽然可以彻底疏忽上一段,间接把那段代码中的 apiKey 和 userId 变动为你的呆板人的 API 密钥以及用户名。假如你风趣味,咱们可以简略形容一下那段代码的细节:
var test = nltext,那里是把 Notification Listener 的 %nltext 变质赋值并背面拼接正在 JSON 乞求里面。尽管显得有点多余,但是你可以把 nltext 变为确定的字符串,来测试你的代码能否能准确从效逸器拿回乞求(按下编辑页面里面的播放键)。
flash() 会生成一个 Toast 提示,也便是每次回复的音讯会正在下方提示内容。
JSON 乞求里面的 location 是呆板人的默许地址,也便是说假如问它天气怎样样,会讲述我杭州的天气。
测试成效🎉如今就可以找个小搭档测试一下你的呆板人啦,正在工做时段打开静音形式,让呆板人来回复这些音讯吧。
留心事项虽然 最后一个揭示 ,假如有群聊通知没有开免打扰、大概正在群里被 @,还是会回复的,免得再工做群里回复一些莫明其妙的话,可以思考像热身那一节所讲的,作正在通知题目 %nltitle 上作一些过滤,制订一个皂名单。
> 下载少数派 客户端 、关注 少数派公寡号 ,理解更出色的数字糊口 🍃
【置顶】旺财宝盒独家揭秘:菜鸟如何快速在网上赚到第一桶金!...
浏览:6269 时间:2022-08-25北辰区人民法院签发人身安全保护令 ( 义乌物流网www.y...
浏览:410 时间:2021-11-20抖音生活服务“扶持复苏计划”全面启动 为企业商家提供扶持政策...
浏览:437 时间:2022-04-25灵犀触控技术全球首发,一加 Ace 2获首个南德 TUV 精...
浏览:370 时间:2023-02-042023离散行业自动化(逻辑算法)六部十层电梯程序设计思路与...
浏览:3 时间:2024-05-14债券业务中联席主承与牵头主承的法律责任差异 债券业务中 ...
浏览:6 时间:2024-05-14