php7 版本的微信机器人来了!(这应该是最灵活的版本了) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
HanSonJ
V2EX    分享创造

php7 版本的微信机器人来了!(这应该是最灵活的版本了)

  •  4
     
  •   HanSoJ
    HanSon 2017-01-19 10:02:57 +08:00 9158 次点击
    这是一个创建于 3188 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Vbot是基于微信 web API 实现的机器人,通过实现匿名函数能够实现多种自定义的效果

    例如:

    • 消息转发
    • 红包提醒(有点鸡肋)
    • 留言统计
    • 自定义回复
    • 防撤回
    • 特殊关键词触发事件

    等等,这里就不一一列举,可以参考 详细例子

    安装

    composer require hanson/vbot

    使用

    require_once __DIR__ . './../vendor/autoload.php'; use Hanson\Vbot\Foundation\Vbot; function reply($reply){ return http()->post('http://www.tuling123.com/openapi/api', [ 'key' => 'your tuling api key', 'info' => $reply ], true)['text']; } $robot->server->setMessageHandler(function ($message) { // 文字信息 if ($message instanceof Text) { // 联系人自动回复 if ($message->fromType === 'Contact') { return reply($message->content); // 群组 @我回复 } elseif ($message->fromType === 'Group' && $message->isAt) { return reply($message->content); } } }); $robot->server->run(); 

    项目地址:https://github.com/hanson/vbot

    欢迎大家提交 issue 和 PR 让 vbot 更加完善

    也可以加我刚新建的 QQ 群进行交流: 492548647

    第 1 条附言    2017-01-19 11:37:40 +08:00
    大家收藏信息真多,就是不绑定

    是因为我没喊口号么。

    PHP 是世界上最好的语言!

    顺带附个文档链接 https://github.com/HanSon/vbot/wiki
    第 2 条附言    2017-01-19 20:42:00 +08:00
    感谢大家支持, https://github.com/trending/php ,现在 github php 上升榜中第一了
    52 条回复    2017-06-09 00:31:13 +08:00
    HanSonJ
        1
    HanSonJ  
    OP
       2017-01-19 10:04:04 +08:00
    尴尬,太激动发错分类了

    @livid move to [/go/create](/go/create)
    Ricky123
        2
    Ricky123  
       2017-01-19 10:07:32 +08:00
    "防撤回"

    这个不太好吧?
    HanSonJ
        3
    HanSonJ  
    OP
       2017-01-19 10:08:37 +08:00
    @Ricky123 功能是有的,如何使用就看开发者了
    Livid
        4
    Livid  
    MOD
    PRO
       2017-01-19 10:08:49 +08:00   1
    @HanSonJ 为你移动好了。
    HanSonJ
        5
    HanSonJ  
    OP
       2017-01-19 10:09:28 +08:00
    @Livid 谢谢
    NxnXgpuPSfsIT
        6
    NxnXgpuPSfsIT  
       2017-01-19 10:19:37 +08:00   1
    帮顶:)
    HanSonJ
        7
    HanSonJ  
    OP
       2017-01-19 10:22:44 +08:00
    @NxnXgpuPSfsIT 谢谢!感谢曾对本人耐心解答!
    blackFool
        8
    blackFool  
       2017-01-19 10:25:38 +08:00   1
    可以一直登陆着吗 比如十天八天的?
    loserwn
        9
    loserwn  
       2017-01-19 10:27:58 +08:00   1
    @HanSonJ 之前用了几个微信机器人,功能问题都不大。但是,如果做服务化的时候。微信帐号持久登录都遇到问题。感觉 keeplive 这个功能大家都没有怎么提及。
    不知道你这个版本是否有明确的测试。

    需求就是,不需要其他手机维持登录的前提下,单独靠业务代码自身维持账户登录状态,能坚持多久在线?
    HanSonJ
        10
    HanSonJ  
    OP
       2017-01-19 10:30:40 +08:00
    @loserwn
    @wangruijie2009

    感谢你们提到这个问题,也让我意识到要真正实现商业价值持久化登录是必不可少的一点,我会针对这点去测试,感谢
    batnss
        11
    batnss  
       2017-01-19 10:35:04 +08:00
    @HanSonJ 每 5s 检查下是否还登录着, 被退了通过某种方式提醒该扫二维码了,通过某种方式发送新的二维码给用户,让他扫一下再次登录
    HanSonJ
        12
    HanSonJ  
    OP
       2017-01-19 10:36:56 +08:00
    @batnss 这个可以有,但如果一直不扫就会超时退出程序
    batnss
        13
    batnss  
       2017-01-19 10:51:19 +08:00
    @HanSonJ

    $ composer require "hanson/vbot"


    [InvalidArgumentException]
    Could not find package hanson/vbot at any version for your minimum-stability (stable). Check the package spelling or your minimum-stability


    - -
    batnss
        14
    batnss  
       2017-01-19 10:51:35 +08:00
    composer require hanson/vbot


    [InvalidArgumentException]
    Could not find package hanson/vbot at any version for your minimum-stability (stable). Check the package spelling or your minimum-stability
    HanSonJ
        15
    HanSonJ  
    OP
       2017-01-19 10:58:54 +08:00
    @batnss 应该是 composer 的缓存问题,我 window 也是这样,换了 linux 虚拟机发现是没问题的

    [http://imgur.com/a/NaM6P]( http://imgur.com/a/NaM6P)
    HanSonJ
        16
    HanSonJ  
    OP
       2017-01-19 10:59:41 +08:00
    batnss
        17
    batnss  
       2017-01-19 11:03:25 +08:00
    @HanSonJ 嗯 我再试试
    HanSonJ
        18
    HanSonJ  
    OP
       2017-01-19 11:04:20 +08:00
    @batnss 前期尝试也可以直接 clone 然后跑 composer
    HanSonJ
        19
    HanSonJ  
    OP
       2017-01-19 11:36:02 +08:00
    大家收藏信息真多,就是不绑定

    是因为我没喊口号么。

    PHP 是世界上最好的语言!
    ty89
        20
    ty89  
       2017-01-19 13:37:26 +08:00
    有转账提醒吗?有的话就可以做一个 callback 来实现在线支付自动发货啦
    HanSonJ
        21
    HanSonJ  
    OP
       2017-01-19 13:40:11 +08:00
    @ty89 消息类型有转账类型( transfer ),然后可以实现 callback 去实现你要实现的逻辑
    sunorg
        22
    sunorg  
       2017-01-19 14:28:31 +08:00
    用图灵机器人呀。。
    HanSonJ
        23
    HanSonJ  
    OP
       2017-01-19 14:34:51 +08:00
    @sunorg 哈哈哈,感觉图灵比较好用,你喜欢也可以用别的,包里没有图灵的相关代码
    HanSonJ
        24
    HanSonJ  
    OP
       2017-01-19 15:55:07 +08:00
    沉得有点快,手动置顶
    hzwei
        25
    hzwei  
       2017-01-19 16:01:20 +08:00 via Android
    技术小白一个, lz ,这个,这个我怎么使用啊?没有 APP 吗?
    odirus
        26
    odirus  
       2017-01-19 16:08:38 +08:00
    人工置顶,哈哈哈
    mansur
        27
    mansur  
       2017-01-19 16:12:03 +08:00
    从屁眼交易到拍黄片
    HanSonJ
        28
    HanSonJ  
    OP
       2017-01-19 16:14:34 +08:00
    @hzwei 这个是纯命令行的
    HanSonJ
        29
    HanSonJ  
    OP
       2017-01-19 16:35:09 +08:00
    @odirus 谢谢!也算是前辈了!
    fuxkcsdn
        30
    fuxkcsdn  
       2017-01-19 17:14:57 +08:00
    @wangruijie2009
    @loserwn
    @batnss
    @HanSonJ
    要想长时间挂机,你需要的是一台 iPhone
    我自己写的微信机器人已稳定挂机 16 天,期间我登入帐号用的 iPhone 还因为电量用光了而关机半小时,关机期间看了下机器人,既然还挂机着...

    反观另一个用 Android 登入的帐号,经常莫名其妙掉线( 1101 或 1102 ),有时候又莫名其妙提示帐号已在手机登出( 1100 )
    最后修改的版本中 Android 登入的帐号已挂机 6 天,但并不是我添加的防掉线代码起作用了

    P.S. 等仿掉线代码验证通过后再开源
    cxydhd
        31
    cxydhd  
       2017-01-19 17:15:33 +08:00
    图灵机器人..
    HanSonJ
        32
    HanSonJ  
    OP
       2017-01-19 17:43:45 +08:00
    @fuxkcsdn 好的,期待,最近我也测试一下登录的持久性问题
    gabri
        33
    gabri  
       2017-01-19 18:36:00 +08:00 via Android
    mark ,回家再 star
    HanSonJ
        34
    HanSonJ  
    OP
       2017-01-19 19:04:54 +08:00
    @gabri 感谢
    HanSonJ
        35
    HanSonJ  
    OP
       2017-01-19 21:17:10 +08:00
    @batnss 不知道你现在 composer 能安装了没有,刚刚提供了直接下载的方式 https://github.com/HanSon/vbot/releases ,在 v1.0.13 版本提供直接下载执行的方式
    batnss
        36
    batnss  
       2017-01-19 21:20:20 +08:00 via Android
    @HanSonJ 我直接 git clone + composer update
    不过运行有问题 提示联系人..成功后 用小号发消息不自动回啊 当然我改了图灵机器人那段..
    HanSonJ
        37
    HanSonJ  
    OP
       2017-01-19 21:22:10 +08:00
    @batnss 有疑问可以加群问或者提 issue 都欢迎,不然这样不清楚问题
    zjqzxc
        38
    zjqzxc  
       2017-01-20 08:38:56 +08:00
    前几天有同学因为在 x86 安卓(不是虚拟机 /模拟器)上登陆了微信,然后被微信封号且不可申诉,理由是违反用户行为规范;自己的主要微信号用这个可能需要慎重?
    HanSonJ
        39
    HanSonJ  
    OP
       2017-01-20 08:59:50 +08:00
    @zjqzxc 不轰炸就不会有事情了,你一秒钟发几条消息持续很久肯定触发违规了
    koodai
        40
    koodai  
       2017-01-20 13:22:59 +08:00 via iPad
    收到文件的信息和视频差不多吗?想改一个工具。我们行业里很多商家提供微信群的 excel 报价单,希望能自动值守,获取,导入数据库
    HanSonJ
        41
    HanSonJ  
    OP
       2017-01-20 13:25:06 +08:00
    @koodai 你可以提个 issue ,接收文件这块还为完善,但是你说的是可以做到的
    run2
        42
    run2  
       2017-01-20 14:22:29 +08:00
    撤回-Recall 这个最后时间是多久,超过了时间发出撤回会不会被识别为非官方的,然后被 ban
    HanSonJ
        43
    HanSonJ  
    OP
       2017-01-20 14:54:56 +08:00
    @sobigfish 撤回是指一种消息类型,并非实现撤回功能
    run2
        44
    run2  
       2017-01-20 15:01:33 +08:00
    @HanSonJ 哦哦,就是处理对方发出了撤回这个消息啊-。-
    主动撤回消息有 API 么?
    HanSonJ
        45
    HanSonJ  
    OP
       2017-01-20 15:11:26 +08:00
    @sobigfish 主动撤回也是会受到这个“撤回消息”的,只不过来源变成你自己而已
    RangerWolf
        46
    RangerWolf  
       2017-01-22 10:52:32 +08:00
    不知道能不能有获取当前账号收藏的内容 API?
    HanSonJ
        47
    HanSonJ  
    OP
       2017-01-22 13:05:26 +08:00   1
    @RangerWolf 这个应该可以,我尝试一下
    RangerWolf
        48
    RangerWolf  
       2017-01-22 16:54:41 +08:00
    @HanSonJ 希望可以 哈哈
    HanSonJ
        49
    HanSonJ  
    OP
       2017-01-26 11:19:54 +08:00
    @koodai #40 已发布最新版, v1.0.16 , 支持 文件下载
    eric13517
        50
    eric13517  
       2017-02-28 16:18:45 +08:00
    我用的一个 python 版的,下载视频有个奇怪问题, iphone 拍摄发送的小视频能正常下载, android 拍的视频下载就是 0 字节, LZ 的这个有没有这个问题?
    HanSonJ
        51
    HanSonJ  
    OP
       2017-02-28 16:22:23 +08:00
    @eric13517 #50 也有,有可能是微信网页端的问题
    hobbyliu
        52
    hobbyliu  
       2017-06-09 00:31:13 +08:00
    mac termnal 不显示二维码,确认已经开起 ANSI COLOR
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     854 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 20:21 PVG 04:21 LAX 13:21 JFK 16:21
    Do have faith in what you're doing.
    button class="scroll-top" data-scroll="up" type="button"> 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