radutopala/skype-bot-php

Skype Bot CLI & 库客户端

v1.3.0 2018-02-14 14:39 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:19:59 UTC


README

API 文档: https://developer.microsoft.com/en-us/skype/bots/docs

安装

有两种安装方式

  • 下载 Phar
  • 作为 Composer 包安装

下载 Phar

版本发布部分或从命令行下载最新版本

$ wget https://github.com/radutopala/skype-bot-php/releases/download/1.0.0/skype.phar && chmod +x skype.phar

作为 Composer 包安装

$ composer require radutopala/skype-bot-php

用法

程序化

<?php

use Skype\Client;

$client = new Client([
    'clientId' => '<yourClientId>',
    'clientSecret' => '<yourClientSecret>',
]);
$api = $client->authorize()->api('conversation');   // Skype\Api\Conversation
$api->activity('29:<skypeHash>', 'Your message');

命令行界面

以下是一些用法示例。

$ bin/skype auth <yourClientId>
$ bin/skype conversation:activity <to> <message>

或者使用 Phar 文件。

php skype.phar auth <yourClientId>
php skype.phar conversation:activity <to> <message>

提示

  • 如果用作库,当 access_token 在接下来的 10 分钟内即将过期时,HTTP Guzzle 客户端将自动尝试使用 Guzzle 中间件进行重新认证。

  • 如果用作 Phar,您可以使用 skype.phar self-update 命令更新到最新版本。

  • 如果用作库,您可以将令牌配置存储在您自己的首选文件路径中,如下所示

    $client = new Client([
         'clientId' => '<yourClientId>',
         'clientSecret' => '<yourClientSecret>',
         'fileTokenStoragePath' => '<yourOwnPath>',
    ]);
    
  • 您也可以编写自己的 TokenStorageInterface::class

    $client = new Client([
        'clientId' => '<yourClientId>',
        'clientSecret' => '<yourClientSecret>',
        'tokenStorageClass' => DatabaseTokenStorage::class
    ]);
    
  • 您还可以传递自定义的 tokenStorageService,这是一个必须实现 TokenStorageInterface 的服务;适用于 Symfony 场景

    $client = new Client([
        'clientId' => '<yourClientId>',
        'clientSecret' => '<yourClientSecret>',
        'tokenStorageService' => $service
    ]);