wgmv / laravel-slack-api
Slack.com WEB API 包装器。基于 Vagner do Carmo 的代码。
Requires
- php: >=5.5.9
- guzzlehttp/guzzle: ~5.3|~6.0
- illuminate/cache: ~5.0
- illuminate/support: ~5.0
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~6.0
README
此包提供了一种简单的方式使用 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 进行通用请求: get、post、put、patch、delete ... 所有您可以看到的允许的 API 方法: Slack Web API 方法。
频道 API
Wgmv\SlackApi\Contracts\SlackChannel
允许您操作频道: invite、archive、rename、join、kick、setPurpose ...
聊天 API
Wgmv\SlackApi\Contracts\SlackChat
允许您使用 delete、message、update 方法发送、更新和删除消息。
文件 API
Wgmv\SlackApi\Contracts\SlackFile
允许您发送、获取信息、删除或仅列出文件: info、lists、upload、delete。
组 API
Wgmv\SlackApi\Contracts\SlackGroup
与 SlackChannel 相同的方法,但操作的是组和具有额外的方法:open、close、createChild
即时消息 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
邀请新成员加入您的团队。