2017 © Pedro Peláez
 

library yii-slack

Yii extension for accessing Slack API with Guzzle interface

image

tatarko/yii-slack

Yii extension for accessing Slack API with Guzzle interface

  • Tuesday, April 28, 2015
  • by tatarko
  • Repository
  • 1 Watchers
  • 4 Stars
  • 8,234 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 7 Versions
  • 13 % Grown

The README.md

Yii Slack extension

Yii extension for accessing Slack API in Yii framework via Guzzle., (*1)

Latest Stable Version Code Climate, (*2)

Installation

Yii Slack is composer library so you can install the latest version with:, (*3)

php composer.phar require tatarko/yii-slack

Configuration

To your application's config add following:, (*4)

'components' => array(
    'slack' => array(
        'class' => 'Tatarko\\YiiSlack\\ApplicationComponent',
        'appId' => '', // Your's application ID
        'appSecret' => '', // Your's application secret code
        'tokenStateName' => 'slack.access.token'; // optional - change name of the user's state variable to store access token in
        'companyToken' => '', // optional - set global access token of your company's account to use slack component without user authentication
    ),
)

For OAuth authentication add following method to the controller:, (*5)

class SiteController extends Controller
{
    public function actions()
    {
        return array(
            'slack' => array(
                'class' => 'Tatarko\\YiiSlack\\AuthenticationAction',
                'onAuthSuccess' => function(CEvent $event) {
                    // you can get $event->params->access_token and store it in some persistant database instead of user's states (that is basically sessions variable)
                    $this->redirect('welcome');
                },
                'onAuthError' => function(CEvent $event) {
                    // $event->params is instance of Exception (CException or GuzzleHttp\Exception\TransferException)
                    $this->redirect('login');
                },
            ),
        );
    }
}

Usage

For simple OAuth just create link in any view file:, (*6)

<a href="<?= $this->createUrl('site/slack') ?>">Login with Slack</a>

After that you can check if current web user is logged using Slack by calling:, (*7)

var_dump(Yii::app()->slack->isAuthenticated); // boolean

And in case that user is really authenticated you can make API call like:, (*8)

var_dump(Yii::app()->slack->get('auth.test'));

That prints something likes:, (*9)

array(6) {
  'ok' =>
  bool(true)
  'url' =>
  string(25) "https://myteam.slack.com/"
  'team' =>
  string(7) "My Team"
  'user' =>
  string(3) "cal"
  'team_id' =>
  string(6) "T12345"
  'user_id' =>
  string(6) "U12345"
}

For additional arguments use:, (*10)

Yii::app()->slack->post('channels.create', array('name' => 'mychannel'));

For complete list of all available methods and their arguments go to official Slack documentation., (*11)

The Versions

28/04 2015

dev-master

9999999-dev

Yii extension for accessing Slack API with Guzzle interface

  Sources   Download

MIT

The Requires

 

api yii slack integration

28/04 2015

v0.4.1

0.4.1.0

Yii extension for accessing Slack API with Guzzle interface

  Sources   Download

MIT

The Requires

 

api yii slack integration

29/03 2015

v0.4.0

0.4.0.0

Yii extension for accessing Slack API with Guzzle interface

  Sources   Download

MIT

The Requires

 

api yii slack integration

22/03 2015

v0.3.1

0.3.1.0

Yii extension for accessing Slack API with Guzzle interface

  Sources   Download

MIT

The Requires

 

api yii slack integration

22/03 2015

v0.3.0

0.3.0.0

Yii extension for accessing Slack API with Guzzle interface

  Sources   Download

MIT

The Requires

 

api yii slack integration

22/03 2015

v0.2.0

0.2.0.0

Yii extension for accessing Slack API with Guzzle interface

  Sources   Download

MIT

The Requires

 

api yii slack integration

22/03 2015

v0.1.0

0.1.0.0

Yii extension for accessing Slack API with Guzzle interface

  Sources   Download

MIT

The Requires