jigarakatidus / php-signal
此包已被废弃且不再维护。未建议替代包。
signal-cli的精简PHP包装器
2.1.0
2021-12-17 14:29 UTC
Requires
Requires (Dev)
- php: >=7.2
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2022-10-20 18:36:24 UTC
README
此项目不再积极维护。如果有人正在积极维护分支,我会在此处链接并归档。
php-signal
php-signal是signal-cli的精简PHP包装器
功能
- 向个人、群组发送消息
- 链接主设备(智能手机)
- 管理群组
- 管理个人资料
- 管理设备
- 接收消息(非守护进程模式)
- 检查号码是否存在于Signal服务器上
- 注册、验证和注销号码
如何安装signal-cli
请参考官方安装文档
注意:请确保将.so|.dylib库与可执行文件放在同一目录下
安装
composer require jigarakatidus/php-signal
用法
require 'vendor/autoload.php';
use jigarakatidus\Signal;
$client = new Signal(
'/Users/jigar.d/signal-cli/bin/signal-cli', // Binary Path
'+919664*****', // Username/Number including Country Code with '+'
Signal::FORMAT_JSON // Format
);
// Register the Number (username)
$client->register()
// Verify the Number
$client->verify('112-360');
// Unregister the Number
$client->unregister();
// Check if number(s) exist on Signal Server
$client->getUserStatus(['+91966xxxxxxx', '+91961xxxxxxx']);
// Send Message
$client->send(['+91966xxxxxxx', '+91961xxxxxxx'], "Hi, testing from' PHP Library");
// Receive Messages - More details in DocBlock
$client->receive();
// Update Name, Avatar, etc
$client->updateProfile('Jigar D');
// Link this signal-cli as secondary device
$client->link('MacBook');
// Link other devices to this one.
// Works only when this is master
$client->addDevice('tsdevice:/?uuid=6dNLUdpVTdCV-q_eN6TJtA&pub_key=BUCL9Jq64r1yLvNeyzS0mJgMjz2u82he3B5Wr%2BtrMitx');
// List Devices
$client->listDevices();
// Remove Device, works only when this is master
$client->removeDevice(2);
// Update the account attributes on the signal server
$client->updateAccount();
// Create Group
$client->createGroup('Test', ['+91961xxxxxxx']);
// List Groups
$client->listGroups();
// Join Group
$client->joinGroup('https://signal.group/#CjQKIEBNZJkVK5IMtoQZt46O-ZIdhOqeQCwtrZQsag_3FUoIEhBrN_ht_mr6Dbe5vR-EWpVm');
// Quit Group
$client->quitGroup('usPpOsVTgDTt8JE8UKedMhYXteL2YE5WzYzMnJEp/gI=');
输出和错误
可以从命令中获取更多详细信息。例如
$client->getCommand()->getOutput();
$client->getCommand()->getError();
$client->getCommand()->getExitCode();
测试
- 此版本与signal-cli 0.9.2兼容
- 在PHP 7.3上测试过
待办事项
- 单元测试
- 更好地处理设备链接
许可证
此项目使用
根据GPLv3许可: https://gnu.ac.cn/licenses/gpl-3.0.html