lisennk/laravel-slack-web-api

Slack Web API 的轻量级 Laravel 包装器

0.1.1 2016-08-16 22:19 UTC

This package is not auto-updated.

Last update: 2024-09-21 13:17:28 UTC


README

Latest Stable Version Total Downloads License Build Status

这是一个轻量级的 Laravel 5 包装器,用于 Slack Web API,包括外观和配置选项。

请注意,这种实现非常轻量,这意味着你需要做比平时更多的工作,但作为回报,你会得到更多的灵活性。此包不提供像 Chat::postMessage(string $message) 这样的方法,它只提供一种方法:SlackApi::execute(string $method, array $parameters)

👍 使用此包的原因

  • 内置符合 Slack API 速率限制
  • 轻量级,灵活
  • 现代 Laravel 集成
  • 测试覆盖率
  • 文档中有许多表情符号(甚至有猫!🐈)

🌎 安装

1) 使用 Composer 安装包

composer require lisennk/laravel-slack-web-api

2) 打开 config/app.php 并将 \Lisennk\Laravel\SlackWebApi\Providers\SlackApiServiceProvider::class 添加到 providers[] 数组中

例如

  // ...
  
  'providers' => [
    // ...
    // A whole bunch of providers
    // ...
    
    \Lisennk\Laravel\SlackWebApi\Providers\SlackApiServiceProvider::class
  ],
  
  // ...

3) 如果你想使用外观,请将 \Lisennk\Laravel\SlackWebApi\Facades\SlackApi::class 添加到 config/app.php 中的 aliases[] 数组中

例如

  // ...
  
  'aliases' => [
    // ...
    // A whole bunch of aliases
    // ...
    
    'SlackApi' => \Lisennk\Laravel\SlackWebApi\Facades\SlackApi::class
  ],
  
  // ...

4) 发布配置文件

php artisan vendor:publish

5) 打开 config/slack.php 并插入你的 令牌 以进行 API 请求

'token' => 'your-token-here'

🍴 使用

要发出 Slack API 请求,你需要调用 SlackApi 类的 execute 方法,并传递 Slack Web API 方法名称和任何参数。例如

$api->execute('method.name', [
  'parameter_one' => 'some-data',
  'parameter_two' => 'some-other-data'
  // ...
];

这将返回包含 Slack 响应数据的纯 PHP 数组。

####1) 控制器中的基本用法示例

use \Lisennk\Laravel\SlackWebApi\SlackApi;
use \Lisennk\Laravel\SlackWebApi\Exceptions\SlackApiException;

// ...

public function postMessage(SlackApi $api)
{
  try {
    $response = $api->execute('users.info', [
      'user' => 'U1234567890'
    ]);
    $name = $response['user']['name'];
    // Do something amazing with data from Slack...
  } catch (SlackApiException $e) {
    return 'Error:' . $e->getMessage();
  }
}

// ...

####2) 使用外观的基本用法

use \Lisennk\Laravel\SlackWebApi\Exceptions\SlackApiException;

// ...

public function postMessage()
{
  try {
    $response = SlackApi::execute('users.info', [
      'user' => 'U1234567890'
    ]);
    $name = $response['user']['name'];
    // Do something amazing with data from Slack...
  } catch (SlackApiException $e) {
    return 'Error:' . $e->getMessage();
  }
}

// ...

🌺 贡献

请随意创建拉取请求或问题,并报告错误。

📚 参考