Skip to content

Latest commit

 

History

History
212 lines (150 loc) · 5.8 KB

File metadata and controls

212 lines (150 loc) · 5.8 KB

搭建微信自动回复机器人

如果你是产品经理,或者运维人员,或者微信数据分析人员,你可通过下面的三种工具可以让你轻松掌握微信账号和微信公众号的运营情况。假若你懂技术,也喜爱技术,也可以看直接跳转到技术书都实现微信自动回复的内容。做一款可以聊天的微信机器人。

非技术手段

1.八条腿微信助手

2.聊天狗

3.邦宁群发助手

注:这些工具都是收费的,为了你的工作更便捷,也尊重版权,付费升级会员我觉你应该可以接受的!当下的知识付费,内容付费,产品付费也慢慢被大家所接受。我上个月就加入了很多付费“知识星球”,为我的成长投资!

技术手段

1.itchat实现聊天

itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单。

使用不到三十行的代码,你就可以完成一个能够处理所有信息的微信机器人。

  • 技术栈:python基础

  • 安装

可以通过本命令安装itchat:

pip install itchat
  • 简单入门实例

有了itchat,如果你想要给文件传输助手发一条信息,只需要这样:

import itchat

itchat.auto_login()

itchat.send('Hello, filehelper', toUserName='filehelper')

如果你想要回复发给自己的文本消息,只需要这样:

import itchat

@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
    return msg.text

itchat.auto_login()
itchat.run()
  • 运行效果:

2.Koa + webchaty

听你话的私人小秘书,帮你创建定时任务,每日提醒,纪念日提醒,当日提醒 。

  • 技术栈:

    node.js (基于 Chrome V8 引擎的 JavaScript 运行环境 )

    koa.js(web开发框架)

    mongoDb(非关系型数据库)

    mongoose (连接 mongodb的一个库 )

    webchaty (提供网页版微信相关操作api接口 )

    node-schedule (定时任务 )

3.php7版微信机器人

Vbot 是基于微信web版的接口,使用http协议以及轮询方式实现。Vbot的亮点在于通过匿名函数,能够实现多种有趣的玩法。通过 API,更方便的打造属于自己的网页版微信 。

  • 技术栈:

    PHP >= 7.0 PHP fileinfo 拓展 储存文件需要用到 PHP gd 拓展 控制台显示二维码 PHP SimpleXML 拓展 解析XML

  • 配置:

    mkdir vbot
    cd vbot
    composer require hanson/vbot
    
  • 撸码:

# run.php

require_once __DIR__.'/vendor/autoload.php';

$path = __DIR__.'/tmp/';

$options = [
   'path'     => $path,
   /*
    * swoole 配置项(执行主动发消息命令必须要开启,且必须安装 swoole 插件)
    */
   'swoole'  => [
       'status' => true,
       'ip'     => '127.0.0.1',
       'port'   => '8866',
   ],
   /*
    * 下载配置项
    */
   'download' => [
       'image'         => true,
       'voice'         => true,
       'video'         => true,
       'emoticon'      => true,
       'file'          => true,
       'emoticon_path' => $path.'emoticons', // 表情库路径(PS:表情库为过滤后不重复的表情文件夹)
   ],
   /*
    * 输出配置项
    */
   'console' => [
       'output'  => true, // 是否输出
       'message' => true, // 是否输出接收消息 (若上面为 false 此处无效)
   ],
   /*
    * 日志配置项
    */
   'log'      => [
       'level'         => 'debug',
       'permission'    => 0777,
       'system'        => $path.'log', // 系统报错日志
       'message'       => $path.'log', // 消息日志
   ],
   /*
    * 缓存配置项
    */
   'cache' => [
       'default' => 'redis', // 缓存设置 (支持 redis 或 file)
       'stores'  => [
           'file' => [
               'driver' => 'file',
               'path'   => $path.'cache',
           ],
           'redis' => [
               'driver'     => 'redis',
               'connection' => 'default',
           ],
       ],
   ],
   /*
    * 拓展配置
    * ==============================
    * 如果加载拓展则必须加载此配置项
    */
   'extension' => [
       // 管理员配置(必选),优先加载 remark_name
       'admin' => [
           'remark'   => '',
           'nickname' => '',
       ],
   ],
];

$vbot = new Hanson\Vbot\Foundation\Vbot($options);

$vbot->messageHandler->setHandler(function ($message) {
    Hanson\Vbot\Message\Text::send($message['from']['UserName'], 'Hi, I\'m Vbot!');
});

$vbot->server->serve();
  • 执行 :
php run.php --session=vbot

结语:

技术只是一种手段,通过技术能解决实际的问题才是有价值的东西。程序员的角色久了经常会有一种想法,一切事情都可以通过技术来把它实现!一个人是什么样的人,你看看他周围的朋友是什么性格,就知道这个人是什么性格!周围的朋友和你的角色基本相同,这对你个人的成长是没有帮助的,所以说要跳出自己固有的圈子,尝试接触不同行业的朋友,沟通交流获得不一样的思考!也许你是做程序开发的,如果懂一些产品知识,你的代码中就少了很多bug;也许你是做销售的,如果懂得数据分析的一些知识,可能会让你更具市场的洞察力,签更多的单子。