wgmv/laravel-slack-api

Slack.com WEB API 包装器。基于 Vagner do Carmo 的代码。

v0.5.0 2017-09-19 12:45 UTC

README

Latest Stable Version Total Downloads Latest Unstable Version License

StyleCI

此包提供了一种简单的方式使用 Slack API

该包是从 https://github.com/Vluzrmos/laravel-slack-api 分支出来的。原始包不再维护,我对其进行了几个修改,可能使此版本与原始版本不兼容。

所做的修改

  • 移除了按昵称查找用户的功能:此包提供基本功能
  • 移除缓存,因为它不再需要
  • 添加了基本测试
  • 更新了几个方法上的 Slack API 选项
  • 修复了少量错误

安装

composer require wgmv/laravel-slack-api

在 Laravel 5 上的安装

该包启用了自动发现功能。(Laravel 5.5 功能)

[
    'providers' => [
        Wgmv\SlackApi\SlackApiServiceProvider::class,
    ]
]

配置

此包使用 Slack 的旧版令牌。在此获取您的令牌

https://api.slack.com/custom-integrations/legacy-tokens

config/services.php 中配置您的 Slack 团队令牌

[
    //...,
    'slack' => [
        'token' => 'your token here'
    ]
]

在 Lumen 上的安装

我还没有测试 Lumen 的安装!以下是原始包的文档

bootstrap/app.php 中添加以下行

// $app->register('App\Providers\AppServiceProvider'); (by default that comes commented)
$app->register('Wgmv\SlackApi\SlackApiServiceProvider');

如果您想使用外观,请在 bootstrap/app.php 中添加这些行

class_alias('Wgmv\SlackApi\Facades\SlackApi', 'SlackApi');
//... and others

否则,只需使用单例快捷方式

/** @var \Wgmv\SlackApi\Contracts\SlackApi $slackapi */
$slackapi     = app('slack.api');

/** @var \Wgmv\SlackApi\Contracts\SlackChannel $slackchannel */
$slackchannel = app('slack.channel');

etc

示例用法

//Lists all users on your team
SlackUser::lists(); 

//Lists all channels on your team
SlackChannel::lists(); 

//List all groups
SlackGroup::lists();

//Invite a new member to your team
SlackUserAdmin::invite("example@example.com", [
    'first_name' => 'John', 
    'last_name' => 'Doe'
]);

// or just use the helper

//Autoload the api
slack()->post('chat.postMessage', [...]);

//Autoload a Slack Method
slack('Chat')->message([...]);
slack('Team')->info();

所有可注入合约

通用 API

Wgmv\SlackApi\Contracts\SlackApi

允许您使用以下 HTTP 方法对 API 进行通用请求: getpostputpatchdelete ... 所有您可以看到的允许的 API 方法: Slack Web API 方法

频道 API

Wgmv\SlackApi\Contracts\SlackChannel

允许您操作频道: invitearchiverenamejoinkicksetPurpose ...

聊天 API

Wgmv\SlackApi\Contracts\SlackChat

允许您使用 deletemessageupdate 方法发送、更新和删除消息。

文件 API

Wgmv\SlackApi\Contracts\SlackFile

允许您发送、获取信息、删除或仅列出文件: infolistsuploaddelete

组 API

Wgmv\SlackApi\Contracts\SlackGroup

与 SlackChannel 相同的方法,但操作的是组和具有额外的方法:openclosecreateChild

即时消息 API(直接消息)

Wgmv\SlackApi\Contracts\SlackInstantMessage

允许您管理团队成员的直接消息。

实时消息 API

Wgmv\SlackApi\Contracts\SlackRealTimeMessage

允许您列出所有频道和当前用户的存在。

搜索 API

Wgmv\SlackApi\Contracts\SlackSearch

查找消息或文件。

星标 API

Wgmv\SlackApi\Contracts\SlackStar

列出所有星标项。

团队 API

Wgmv\SlackApi\Contracts\SlackTeam

获取有关您的团队的信息。

用户 API

Wgmv\SlackApi\Contracts\SlackUser

获取有关您的团队中的用户的信息或仅检查您的存在或状态。

用户管理员 API

Wgmv\SlackApi\Contracts\SlackUserAdmin

邀请新成员加入您的团队。

许可证

DBAD 许可证.