微信机器人 index
<?php
require_once ('src/wechat.php');
$wechat = new wechat();
$act = isset($_GET['act'])?$_GET['act']:'index';
session_start();
/*$res = $wechat->getLoginStatus();
print_r($res);die;*/
switch ($act) {
case 'index':
//登录页
$uuid = $wechat->getUuid();
$qrcode = "https://login.weixin.qq.com/qrcode/{$uuid}?t=webwx";
include_once('tpl/qrcode.php');
break;
case 'status':
//获取登录状态
$uuid = $_GET['uuid'];
$res = $wechat->getLoginStatus($uuid);
if($res == 201){
//已扫描,待确认
$data = array('status' => 1);
}elseif (substr_count($res, 'http')) {
//确认成功
$data = array('status' => 2);
}else{
//待扫描
$data = array('status' => 0);
}
$data['msg'] = $res;
exit(json_encode($data));
break;
case 'cookies':
//获取用户uin 和 sid
$url = $_POST['url'];
$wxinfo = $wechat->getCookies($url);
$wxinfo['status'] = 1;
exit(json_encode($wxinfo));
break;
case 'chat':
//主聊天框页面
include_once('tpl/chat.php');
break;
case 'init':
//初使化微信信息
$json_info = $wechat->initWebchat();
exit($json_info);
break;
case 'users':
//获取所有好友列表
$users = $wechat->getContact();
echo $users;
break;
case 'sync':
//服务器同步
$synckey = $_POST['synckey'];
$message = $wechat->wxsync($synckey);
exit($message);
break;
case 'send':
$toUsername = $_POST['toUsername'];
$content = $_POST['content'];
$res = $wechat->sendMessage($toUsername, $content);
exit($res);
break;
case 'avatar':
$uri = $_GET['uri'];
$res = $wechat->getAvatar($uri);
header('Content-Type: image/jpeg');
imagejpeg($res);
break;
case 'tuling':
//图灵机器人接管消息
$toUsername = $_POST['toUsername'];
$content = $_POST['content'];
if($toUsername != $_SESSION['username']){
$mes = $wechat->sendMessageToTuling($content);
$res = $wechat->sendMessage($toUsername, $mes);
//拼接上机器人的回话
$tlCon = json_decode($res,true);
$tlCon['tlc'] = $mes;
$tlCon['status'] = 1;
exit(json_encode($tlCon));
}
exit(json_encode(array('status' => 0)));
break;
default:
# code...
break;
}
?>
微信机器人 index的更多相关文章
- 使用nodejs + wecharty打造你的个人微信机器人
开源地址:https://github.com/isnl/wechat-robot 注: 从2017年6月下旬开始,使用基于web版微信接入方案存在大概率的被限制登陆的可能性. 主要表现为:无法登陆W ...
- Golang 微信机器人包
一. 最近用在学习golang,写了个小工具练练手.通过golang模拟微信网页端,接收微信服务器的消息并定制.可接入图灵机器人的api实现一个微信机器人的小玩具,当然了,可以有更多更好玩的玩法. 二 ...
- 这是一款借助chrome 插件的微信机器人
1.chrome kit微信机器人简介 借助chrome 插件 js注入来实现消息的发送 chrome devtool api的调用来监听https请求 打开微信登录界面,在扫码登录前必须先打开too ...
- python使用itchat库实现微信机器人
itchat是一个开源的微信个人号接口,可以使用该库进行微信网页版中的所有操作,比如:所有好友.添加好友.拉好友群聊.微信机器人等等.详细用户请看文档介绍,在这里. 本文主要使用该库完成一个能够处理微 ...
- Python创建微信机器人
微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地,今天我们要将便是如何用Python来生成一个微信机器人,突然想起鲁迅先生曾经说过的一句话:因为是微信机器人系列的 ...
- 第一讲 新手如何学习HTTP协议之实践项目多开微信机器人
上一篇做了一个smart qq机器人. 前几天,因为突然上不了 smart qq,以为TX 要抛弃了..所以就没有接着完善smart 机器人.应朋友要求,做一个多开微信. 做了几天已经做好了,理论上 ...
- 微信机器人 返现机器人 pc版本 移动版本 java开发 小范省钱
微信机器人 返现机器人 pc版本 移动版本 java开发 小范省钱 微信搜索微信号 fanli-x 或 扫描下方二维码,可查看效果. 非web版微信,pc/移动版微信 支持新号24小时 不封号! 有任 ...
- Python自制微信机器人:群发消息、自动接收好友
运营公众号也有半年了,今年5月份开始的,之前一直用一款windows工具来运营自动接受好友请求.群发文章.自动回复等操作,但颇有不便. 举几个场景: 突然在外面看到一篇文章很好,临时写了一篇,想群发一 ...
- Git操作自动触发企业微信机器人webhook
[本文出自天外归云的博客园] 背景 在git做一些merge或push的操作,我们希望可以自动在企业微信群发送自定义的通知. 服务代码 这里选用php作为网络服务的开发语言,关键的代码如下(githo ...
随机推荐
- 19-05【icloud】照片备份
icloud提供了免费的存储空间,5G,超过这个量需要单独购买空间:我用的是50G,每月6元. 如果在mac或者iphone上开启了本地的照片流,则会自动同步到icloud,同时各个设备的客户端(ip ...
- Python学习笔记5程序的控制结构
1.分支结构 (1)单分支结构 (2)二分支结构 (3)多分支结构 条件判断 (4)程序的异常处理 2.实例:身体质量指数BMI 思路一(国内,稍作修改就是国际): 思路二: height,weigh ...
- Python基础-python流程控制之顺序结构和分支结构(五)
流程控制 流程:计算机执行代码的顺序,就是流程 流程控制:对计算机代码执行顺序的控制,就是流程控制 流程分类:顺序结构.选择结构(分支结构).循环结构 顺序结构 一种代码自上而下执行的结构,是pyth ...
- XML Linq 学习笔记
XML如下: <?xml version="1.0" encoding="utf-8"?> <Dishes> <Dish> ...
- iOS多图上传
iOS多图上传涉及到多线程问题,个人比较喜欢使用GCD操作,下边是最近写的一个多图上传代码,附带相关注释 __block BOOL allSucc = YES; __block int m = 0; ...
- 项目中的Launch_getSecurityEntitle_postlaunch
研究透彻这个launch和postlaunch的执行过程才能改进他: //AppVTTicket.js ,launch:function(){ Ticketing.inciTick={}; this. ...
- centos/RHEL 7.6 使用yum安装php7.3(方便wordpress的php7.3需求,并解决了libphp7.so缺失问题)
我最近想安装一个wordpress, 但是官网介绍需要php7.3以上版本,但是百度了一下,都是要编译安装. 为此,我想,centos..., php... 两大当红辣子鸡没有yum安装方式,简直不可 ...
- Finance财务软件帮助
我们在凭证录入的时候可以使用这些快捷键增加效率: 单元格 快捷键 功能 摘要 F7 弹出摘要选择框 科目 F7 弹出科目选择框 科目 F8 弹出扩展字段编辑界面 金额 Esc/小键盘- 清空 金额 = ...
- java中的 java.util.concurrent.locks.ReentrantLock类中的lockInterruptibly()方法介绍
在java的 java.util.concurrent.locks包中,ReentrantLock类实现了lock接口,lock接口用于加锁和解锁限制,加锁后必须释放锁,其他的线程才能进入到里面执行, ...
- keepalived高可用简介与配置
keepalived简介 keepalived介绍 Keepalived 软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP ...