PHP code example of craftyx / slack-api

1. Go to this page and download the library: Download craftyx/slack-api library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

craftyx / slack-api example snippets


 

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




[
    'aliases' => [
        'SlackApi'              => Craftyx\SlackApi\Facades\SlackApi::class,
        'SlackChannel'          => Craftyx\SlackApi\Facades\SlackChannel::class,
        'SlackChat'             => Craftyx\SlackApi\Facades\SlackChat::class,
        'SlackGroup'            => Craftyx\SlackApi\Facades\SlackGroup::class,
        'SlackFile'             => Craftyx\SlackApi\Facades\SlackFile::class,
        'SlackSearch'           => Craftyx\SlackApi\Facades\SlackSearch::class,
        'SlackInstantMessage'   => Craftyx\SlackApi\Facades\SlackInstantMessage::class,
        'SlackUser'             => Craftyx\SlackApi\Facades\SlackUser::class,
        'SlackStar'             => Craftyx\SlackApi\Facades\SlackStar::class,
        'SlackUserAdmin'        => Craftyx\SlackApi\Facades\SlackUserAdmin::class,
        'SlackRealTimeMessage'  => Craftyx\SlackApi\Facades\SlackRealTimeMessage::class,
        'SlackTeam'             => Craftyx\SlackApi\Facades\SlackTeam::class,
    ]
]

 


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




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

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

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

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

//Send a message to someone or channel or group
SlackChat::message('#general', 'Hello my friends!');

//Upload a file/snippet
SlackFile::upload([
    'filename' => 'sometext.txt', 
    'title' => 'text', 
    'content' => 'Nice contents',
    'channels' => 'C0440SZU6' //can be channel, users, or groups ID
]);

// Search for files or messages
SlackSearch::all('my message');

// Search for files
SlackSearch::files('my file');

// Search for messages
SlackSearch::messages('my message');

// or just use the helper

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

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


 

namespace App\Http\Controllers;    
    
use Craftyx\SlackApi\Contracts\SlackUser;

class YourController extends Controller{
    /** @var  SlackUser */
    protected $slackUser;
    
    public function __construct(SlackUser as $slackUser){
        $this->slackUser = $slackUser;   
    }
    
    public function controllerMethod(){
        $usersList = $this->slackUser->lists();
    }
}


 

/** @var SlackChannel $channel **/
$channel = $slack->load('Channel');
$channel->lists();

/** @var SlackChat $chat **/
$chat = $slack->load('Chat');
$chat->message('D98979F78', 'Hello my friend!');

/** @var SlackUserAdmin $chat **/
$admin = $slack('UserAdmin'); //Minimal syntax (invokable)
$admin->invite('[email protected]');