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
邀请新成员加入您的团队。