一款基于PHP开发的微信机器人程序(个人号非公众号),仅供个人学习及研究
环境 | 版本 |
---|---|
PHP | >=7.0 |
Swoole 扩展 | >=1.9.* |
Fileinfo 扩展 | >=1.0.* |
Posix 扩展 | - |
- 支持扫码后5分钟内免扫码登录
- 异步回复消息(基于swoole的process)
- 扫码登录后,支持以守护进程运行
- 自动保存撤回消息文本及资源类型数据
- 支持定时任务 (类似Crontab)
- 目前可识别的类型
- 文本消息
- 图片消息
- 动画表情消息
- 语音消息
- 视频消息
- 小视频消息
- 红包消息
- 撤回消息
- 转账消息
- 群系统消息
- 逐步提升稳定性
- 增加异常退出、程序崩溃的observer
- 增加database和cache相关组件支持
- 提供HTTP协议API
- 下载
git clone https://github.com/im050/wechat.git
- 更新依赖包
composer update
composer require im050/wechat
php example/example.php
- Q: 无法通过getContactByNickName获取到指定群?
A: 将群聊保存至通讯录
- Q: 同步消息失败等无法获取最新消息
A: 尝试删除临时文件目录下的cookies.txt后重新登录
- Q: 免扫码登录不起作用
A: 经测试发现,未绑定手机号的微信账号无法免扫码登录
$config = [
'log' => [
'level' => Logger::INFO, //日志级别
'path' => '', //常规日志路径
'message_log_path' => '' //消息日志路径
],
'robot' => [
'tmp_path' => '', //临时文件目录
'save_qrcode' => true, //是否保存二维码
'auto_download' => true, //是否自动下载
'daemonize' => false, //守护进程
'task_process_num' => 1, //任务进程数
'providers' => [], //服务提供注册类
'max_message_items' => 2048 //最大消息保留数
],
'cookies' => [
'file' => '' //cookie存放文件, 默认tmp路径+cookies.txt
],
'http' => [
'timeout' => 60,
'connect_timeout' => 10,
'cookies' => true,
'headers' => [
'User-Agent' => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',
'Accept' => 'application/json',
'Accept-Encoding' => 'gzip'
],
'allow_redirects' => false,
'verify' => true,
]
];