mskarbek48/teamspeakframework
Composer 安装命令:
composer require mskarbek48/teamspeakframework
包简介
TeamSpeak framework to manage TeamSpeak 3/5 servers.
README 文档
README
This is a PHP framework for web and console applications that interact with the TeamSpeak 3 server query interface.
Installation
- Install the package via composer:
composer require mskarbek48/teamspeakframework
Features
- Access to all TeamSpeak 3 and TeamSpeak 5 server query commands.
- Event handling for default TeamSpeak "notifyevents" and custom events from logs.
- Compatibility with TeamSpeak 3 and TeamSpeak 5 servers.
- Compatibility with PHP 8.3 and higher.
Tests
- To run the tests, you need to install the package via composer and run the following command:
php vendor/bin/phpunit
Getting Started
- Connecting to TeamSpeak ServerQuery interface:
<?php use mskarbek48\TeamspeakFramework\TeamSpeak; require_once __DIR__ . '/../vendor/autoload.php'; try { $TeamSpeak = TeamSpeak::factory() ->setHost('localhost') ->setPort(10011) ->connect(); } catch (\mskarbek48\TeamspeakFramework\Exception\TransportException $e) { echo $e->getMessage(); }
- To get ServerQuery instance and login:
$instance = $TeamSpeak->getInstance(); $instance->login('username', 'password');
- To select server instance by port:
$server = $instance->selectServerByPort(9987);
- To select server instance by id:
$server = $instance->selectServerById(1);
- To listen for TeamSpeak events:
$server->serverNotifyRegister('server'); $server->serverNotifyRegister('channel',0); $server->serverNotifyRegister('textprivate'); while($server->getParent()->isConnected()) { if(time() - $server->getParent()->getLastExecutedCommandTime() > 60) { $server->getParent()->version(); # Prevent timeout } $event = $server->getParent()->waitForEvents(1); # Set to zero, to disable blocking switch(key($event)) { case "notifyclientmoved": echo "Client moved: " . $event['clid'] . " to " . $event['ctid'] . PHP_EOL; break; } }
Real life examples
<?php use mskarbek48\TeamspeakFramework\TeamSpeak; require_once __DIR__ . '/../vendor/autoload.php'; try { $TeamSpeak = TeamSpeak::factory() ->setHost('localhost') ->setPort(10011) ->connect(); } catch (\mskarbek48\TeamspeakFramework\Exception\TransportException $e) { echo $e->getMessage(); } $instance = $TeamSpeak->getInstance(); $instance->login('username', 'password'); $server = $instance->selectServerByPort(9987); # Kick all clients from the server with a specific nickname: foreach($server->clientList()->toAssocArray() as $client) { if($client['client_nickname']== 'iwanttobekicked') { $server->clientKick($client['clid'], TeamSpeak::TEAMSPEAK_KICK_SERVER, 'Bye bye!'); } }
License
This project is licensed under the MIT License - see the LICENSE.md file for details.
mskarbek48/teamspeakframework 适用场景与选型建议
mskarbek48/teamspeakframework 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 5 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 07 月 06 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 mskarbek48/teamspeakframework 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 mskarbek48/teamspeakframework 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 5
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 15
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-07-06