V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
HanSonJ

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

  •  4
     
  •   HanSonJ ·
    HanSon · Jan 19, 2017 · 9509 views
    This topic created in 3384 days ago, the information mentioned may be changed or developed.

    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

    Supplement 1  ·  Jan 19, 2017
    大家收藏信息真多,就是不绑定

    是因为我没喊口号么。

    PHP 是世界上最好的语言!

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

    @livid move to [/go/create](/go/create)
    Ricky123
        2
    Ricky123  
       Jan 19, 2017
    "防撤回"

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

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

    感谢你们提到这个问题,也让我意识到要真正实现商业价值持久化登录是必不可少的一点,我会针对这点去测试,感谢
    batnss
        11
    batnss  
       Jan 19, 2017
    @HanSonJ 每 5s 检查下是否还登录着, 被退了通过某种方式提醒该扫二维码了,通过某种方式发送新的二维码给用户,让他扫一下再次登录
    HanSonJ
        12
    HanSonJ  
    OP
       Jan 19, 2017
    @batnss 这个可以有,但如果一直不扫就会超时退出程序
    batnss
        13
    batnss  
       Jan 19, 2017
    @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  
       Jan 19, 2017
    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
       Jan 19, 2017
    @batnss 应该是 composer 的缓存问题,我 window 也是这样,换了 linux 虚拟机发现是没问题的

    [http://imgur.com/a/NaM6P]( http://imgur.com/a/NaM6P)
    HanSonJ
        16
    HanSonJ  
    OP
       Jan 19, 2017
    batnss
        17
    batnss  
       Jan 19, 2017
    @HanSonJ 嗯 我再试试
    HanSonJ
        18
    HanSonJ  
    OP
       Jan 19, 2017
    @batnss 前期尝试也可以直接 clone 然后跑 composer
    HanSonJ
        19
    HanSonJ  
    OP
       Jan 19, 2017
    大家收藏信息真多,就是不绑定

    是因为我没喊口号么。

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

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

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