tiagomichaelsousa / slack-client
A slack sdk for php
Requires
- php: ^8.1.0
- nesbot/carbon: ^2.67
- nyholm/psr7: ^1.8
- php-http/discovery: ^1.18.1
- php-http/multipart-stream-builder: ^1.3.0
- psr/http-client: ^1.0.2
- psr/http-client-implementation: ^1.0.1
- psr/http-factory-implementation: *
- psr/http-message: ^1.1.0|^2.0.0
- symfony/http-client: ^6.2
Requires (Dev)
- guzzlehttp/guzzle: ^7.6.1
- guzzlehttp/psr7: ^2.5.0
- laravel/pint: ^1.10.0
- nunomaduro/collision: ^7.5.2
- pestphp/pest: ^2.6.1
- pestphp/pest-plugin-arch: ^2.1.2
- pestphp/pest-plugin-mock: ^2.0.0
- phpstan/phpstan: ^1.10.15
- rector/rector: ^0.17.0
- symfony/var-dumper: ^6.2.10
This package is auto-updated.
Last update: 2024-11-02 02:22:59 UTC
README
Slack Client is a non-official PHP API client that allows you to interact with the Slack API ⚡️
This package is still under development. There may have methods that are still not implemented.
Get Started
The official documentation for the Slack Client will be available soon. 👀
Until there you can still explore the SDK development experience with the users()
, conversations()
and reminders()
methods 🚀
Requires PHP 8.1+
First, install Slack Client via the Composer package manager:
composer require tiagomichaelsousa/slack-client
After that, you can interact with Slacks's API:
$client = Slack::client($token); $conversations = $client->conversations()->create('foo'); echo $conversations->channel->name;
If necessary, it is possible to configure and create a separate client.
$client = Slack::factory() ->withApiKey($token) ->withBaseUri('slack.com/api/v2') // default: slack.com/api ->withHttpClient($client = new \GuzzleHttp\Client([])) // default: HTTP client found using PSR-18 HTTP Client ->withHttpHeader('X-My-Header', 'foo') ->withQueryParam('foo', 'bar') ->withStreamHandler(fn (RequestInterface $request): ResponseInterface => $client->send($request, [ 'stream' => true // Allows to provide a custom stream handler for the http client. ])) ->make();
Testing
This client provides a way to easily fake the API responses through Slack\Client
class.
Before using this feature please ensure that you swap the Slack\Client
with Slack\Testing\ClientFake
in your test case.
Besides this useful test class, you can also easily generate response objects and provide relevant information based on your use case. All responses have a fake()
method to easily overwrite the objects.
use Slack\Testing\ClientFake; use Slack\Responses\Conversation\CreateConversationResponse; $client = new ClientFake([ CreateConversationResponse::fake([ 'channel' => [ 'name' => 'foo', ], ]); ]); $conversations = $client->conversations()->create('foo'); expect($conversations->channel)->name->toBe('foo');
The official documentation for the Slack Client will be available soon. 👀
Slack Client is an open-sourced software licensed under the MIT license.