微信自动群发(有图有真相) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tianzhidao28
V2EX    微信

微信自动群发(有图有真相)

  •  
  •   tianzhidao28 2015-12-13 08:20:23 +08:00 12727 次点击
    这是一个创建于 3590 天前的主题,其中的信息可能已经有所发展或是发生改变。

    信群发助手

    标签(空格分隔): 微信 chrome 插件


    前天偶然看了下 angularjs
    发现 微信网页版 已经改成是 angularjs 写的了
    那我原来写的 JS 版群发岂不是没用了,fuck!

    于是在一个弹幕扩展上改写成了 微信群发助手

    使用方法

    1.安装插件
    2.登录 web 微信
    3.点击 右上角小人
    4.输入群发文字
    5.如果第一次没成功 就再试一次

    此处输入图片的描述

    此处输入图片的描述

    原理

    • angular js 操作页面元素

    等哥写好了 angular js 脚本群发成功后,发现插件运行的环境和页面运行的环境根本是隔离的,换言之插件根本取不到页面上的 angular js 对象,

    再者就是 插件和页面该怎么通讯呢.

    后期

    • 群发消息:(加各种分组群发)(假如你是 hr,一大波人需要你在微信回复 面试消息地点什么的,假如你要发个什么通知什么的)
    • 个性化消息回复. (对于 一些常见问题的答案,比如你是某个活动方举办单位,就有人在某个你特别忙的时间点问你 时间 地点啊 具体安排啊什么的,)
    • 自动问答 客服什么的

    赞助

    email:[email protected]

    下载地址在 1 楼

    第 1 条附言    2015-12-15 14:23:14 +08:00

    忘了 打广告了 失策!

    qrcoe

    50 条回复    2016-01-14 13:49:22 +08:00
    tianzhidao28
        1
    tianzhidao28  
    OP
       2015-12-13 08:26:21 +08:00
    nimingyonghu
        2
    nimingyonghu  
       2015-12-13 08:56:49 +08:00 via iPhone
    好奇下载地址在一楼是哪里的传统啊?
    welly
        3
    welly  
       2015-12-13 08:59:00 +08:00
    收藏了 谢谢~
    oott123
        4
    oott123  
       2015-12-13 09:11:38 +08:00 via Android
    @nimingyonghu 贴吧吧
    SourceMan
        5
    SourceMan  
       2015-12-13 09:37:46 +08:00 via iPhone
    其他论坛
    nimingyonghu
        6
    nimingyonghu  
       2015-12-13 10:16:23 +08:00 via iPhone
    @oott123 一楼给 Livid 娘?
    dreammes
        7
    dreammes  
       2015-12-13 10:33:49 +08:00 via iPhone
    有图有真相
    zxb
        8
    zxb  
       2015-12-13 10:35:25 +08:00 via Android   1
    楼主的通讯录亮了
    wuxiaomo
        9
    wuxiaomo  
       2015-12-13 10:52:09 +08:00
    @zxb 我也觉得~~~
    wuxiaomo
        10
    wuxiaomo  
       2015-12-13 10:52:45 +08:00
    东西很亮,不过通信录更亮
    jaylong
        11
    jaylong  
       2015-12-13 11:23:36 +08:00
    确认这不是陌陌通讯录?^_-
    @wuxiaomo
    ether
        12
    ether  
       2015-12-13 12:47:44 +08:00
    Sex=1 是上过一次, Sex=2 是上过两次?
    miao
        13
    miao  
       2015-12-13 12:53:41 +08:00 via Android
    微信默认不就有群发功能?
    tianzhidao28
        14
    tianzhidao28  
    OP
       2015-12-13 13:04:14 +08:00
    这个是给每一个最近联系人一人一人的自动发消息,暂时 限定为最近联系人,可以随便改的,累了 懒得写前端去改了
    tianzhidao28
        15
    tianzhidao28  
    OP
       2015-12-13 13:05:18 +08:00
    @ether 我擦 很显然 是 男和 女的区别
    tianzhidao28
        16
    tianzhidao28  
    OP
       2015-12-13 13:10:00 +08:00
    核心功能代码:
    原谅一个刚看 angularjs 写的 js 代码:


    $editAreaScope=angular.element('#editArea').scope();
    $_00dScope=angular.element('#navContact>div').scope();
    $_00dScope.dblclickCallback(contact); //用简单的 JS 也可以让其自动点击
    $_00dScope.$apply();

    $editAreaScope.editAreaCtn = msg;
    $editAreaScope.$apply();
    $editAreaScope.sendTextMessage();

    tianzhidao28
        17
    tianzhidao28  
    OP
       2015-12-13 13:16:00 +08:00
    @nimingyonghu 是刚好写完 markdown 说明的文档发现忘了没地方下载;
    本想发布在官网的,好吧 第一次用要支付 5 刀 发现我没蛮夷们的支付方式 ,遂弃之
    cyio
        18
    cyio  
       2015-12-13 13:47:14 +08:00
    @tianzhidao28 可以先把源码扔在 github ,反正给个 crx , chrome 也是拒绝直接安装的。我都是 clone 或者解压出来,顺便看下源码。
    think2011
        19
    think2011  
       2015-12-13 14:31:40 +08:00
    想起两年前写的微信群发,是模拟行为的方式做的。
    https://github.com/think2011/webchatHelper/blob/master/img/demo.gif
    tianzhidao28
        20
    tianzhidao28  
    OP
       2015-12-13 14:34:10 +08:00
    @think2011 看到你这个了 写的不错,我刚看 angular js
        21
    tianzhidao28  
    OP
       2015-12-13 14:40:03 +08:00
    @think2011 你自己注入了 angular js 挺不错的 当时看了一些插件说明 哎 发现我写的直接在浏览器里运行的的代码 难以写成插件,然后用了一个感觉不怎么好的方式,直接把基于页面 angular js 的代码 注入到页面里去了 然后通过页面上 聊天页元素的变化 让插件知道有消息要发,感觉不怎么好,暂时没想到 怎么也插件的运行环境里 得到 页面上的 angular 对象,感觉这个也做不到
    tianzhidao28
    Daddy
        22
    Daddy  
       2015-12-13 14:48:23 +08:00   1
    @tianzhidao28 我更擦 男和 女的区别很显然是用 0 和 1 ,不单形象还符合计算机逻辑,用 1 和 2 完全不懂
    tianzhidao28
        23
    tianzhidao28  
    OP
       2015-12-13 14:50:20 +08:00
    @cyio
    $chatScope=angular.element('div[nav-chat-directive]').scope();

    var chatListArr=$chatScope.chatList ;得到联系人列表

    再写个 for 循环 + 上面的 发送代码 ,这个也是可以直接运行的

    就等价整个插件的代码
    tianzhidao28
        24
    tianzhidao28  
    OP
       2015-12-13 14:50:59 +08:00
    @cyio 花了 2-3 边学边写 太烂 就不献丑了
    tianzhidao28
        25
    tianzhidao28  
    OP
       2015-12-13 14:52:19 +08:00
    @Daddy 解析的网页啊 不是我啊 我的话 就 0 男 1 女喽 那是微信上定义的 0 代表 群
    tianzhidao28
        26
    tianzhidao28  
    OP
       2015-12-13 14:54:02 +08:00
    @miao 微信上那个群发 是 建个临时群 发送 1 条消息 ???
    miao
        27
    miao  
       2015-12-13 14:59:12 +08:00
    @tianzhidao28 不是, 安卓版 --> 我 --> 设置 --> 通用 --> 功能 --> (开启)群发助手 --> 开始群发.
    可以有选择性的群发所有微信好友
    tianzhidao28
        28
    tianzhidao28  
    OP
       2015-12-13 15:13:26 +08:00
    @miao 我都不知道有这个按钮饿 哦 这个也是 类似 js 操作网页 也有 hook 什么的操作 Android 上的按钮。。。也是个插件 app ?
    miao
        29
    miao  
       2015-12-13 15:48:10 +08:00
    @tianzhidao28 微信默认功能. 至于它怎么开发,用什么开发的, 我就不清楚了
    Showfom
        30
    Showfom  
    PRO
       2015-12-13 17:02:18 +08:00 via iPhone
    不错
    wuhanpizi
        31
    wuhanpizi  
       2015-12-13 18:07:20 +08:00
    不错 很赞
    tianzhidao28
        32
    tianzhidao28  
    OP
       2015-12-13 18:58:38 +08:00
    @miao 不可能 我的 Android 微信怎么没有这个选项。。。。。
    tianzhidao28
        33
    tianzhidao28  
    OP
       2015-12-13 18:59:36 +08:00
    @cyio 从这个页面 chrome://extensions/ 拖进去
    BROWNURSIDAE
        34
    BROWNURSIDAE  
       2015-12-13 19:06:24 +08:00
    @tianzhidao28 有的。。。你要开启功能里面的群发助手。。。
    miao
        35
    miao  
       2015-12-13 20:05:52 +08:00
    @tianzhidao28 安卓版微信 --> 我 --> 设置 --> 通用 --> 功能 --> (未启用的功能 下面) --> 群发助手

    https://ooo.0o0.ooo/2015/12/13/566d5f7c126d6.jpg
    septxiao
        36
    septxiao  
       2015-12-13 20:25:58 +08:00
    @ether
    哈哈哈哈哈哈!!!
    Daddy
        37
    Daddy  
       2015-12-14 00:17:07 +08:00   1
    @tianzhidao28 汗,怎么可能是 0 男 1 女这么定义,肯定是 0 女 1 男,这么形象的事情,还会弄错,羞羞
    nareix
        38
    nareix  
       2015-12-14 00:17:41 +08:00
    好货!

    另外 lz 给解释下 sex=1 , sex=2 ,还有那个 not in 是啥意思吧
    nareix
        39
    nareix  
       2015-12-14 00:22:07 +08:00
    插件的 popup.html 和页面通信用 chrome.runtime.sendMessage 和 onMessage
    tianzhidao28
        40
    tianzhidao28  
    OP
       2015-12-14 00:48:23 +08:00
    @Daddy 原来。。。。。。。。 那啥我从记事起 就是 0 男 1 女 天地良心 我这么纯洁的少年
    tianzhidao28
        41
    tianzhidao28  
    OP
       2015-12-14 00:51:48 +08:00
    @nareix 哦 我标示下不同的人的数据特征作的记号 not in 是我不在其好友列表 sex=0 代表微信群组 sex=1 女 sex=2 代表男

    chrome.runtime.sendMessage 这个是插件自己和自己通信 如果要和页面里注入的那段代码通信呢
    tianzhidao28
        42
    tianzhidao28  
    OP
       2015-12-14 01:02:56 +08:00
    @miao 居然真有。。。。。一直没发现
    nareix
        43
    nareix  
       2015-12-14 01:02:57 +08:00
    页面注入的那段代码属于插件的一部分,也是可以的
    tianzhidao28
        44
    tianzhidao28  
    OP
       2015-12-14 01:06:50 +08:00
    @nareix 不是 我是说,比如 我注入的说 xx.js 是 xx.js 里面和插件的通讯...这个梗
    nareix
        45
    nareix  
       2015-12-14 01:27:09 +08:00
    @tianzhidao28 你是通过 ContentScript 的方式把 xx.js 注入进去的对吧?
    tianzhidao28
        46
    tianzhidao28  
    OP
       2015-12-14 11:12:27 +08:00
    @nareix 1. ContentScript 的运行环境 和 页面的 JS 应该不是一个环境 ? (不是很熟 我也不确定,按道理应该不是)
    2 xx.js 我是直接 写到 xx.js 所在页面里了 $(body).append("<script ......></>") 这个
    nareix
        47
    nareix  
       2015-12-14 13:14:53 +08:00
    @tianzhidao28

    是一个环境的,应该可以获取到 angular 的啊
    可能是因为延迟加载的机制吧
    tanteng
        48
    tanteng  
       2015-12-16 22:17:16 +08:00
    我怎么没收到
    tianzhidao28
        49
    tianzhidao28  
    OP
       2015-12-17 01:58:38 +08:00
    @tanteng 哥测试 肯定用小号啊 擦 ,已经被无数人拉黑 深更半夜从凌晨 0 点到凌晨 8 点 隔几分钟就发几十条
    kandahai
        50
    kandahai  
       2016-01-14 13:49:22 +08:00
    灰常的厉害啊
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5989 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 06:13 PVG 14:13 LAX 23:13 JFK 02:13
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86