Skip to content

tiagomichaelsousa/slack-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

14 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Slack Client

GitHub Workflow Status (main) Total Downloads Latest Version License


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.

About

A Slack Client for PHP ๐Ÿš€

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages