Git Product home page Git Product logo

laravel-slack-web-api's Introduction

๐Ÿš€ Laravel Slack API ๐Ÿš€

Latest Stable Version Total Downloads License Build Status

Lightweight Laravel 5 wrapper for the Slack Web API, including a facade and config options.

Please note that this implementation is very lightweight meaning you'll need to do some more work than usual, but in return you get a lot more flexibility. This package doesn't provide methods such as Chat::postMessage(string $message), it just provides one method: SlackApi::execute(string $method, array $parameters).

๐Ÿ‘ Reasons to use this package for the Slack API:

  • Built-in compliance with the Slack API rate limits
  • Lightweight, flexible
  • Modern Laravel integration
  • Test coverage
  • Lots of emoji in the documentation (even cats! ๐Ÿˆ)

๐ŸŒŽ Installation

1) Require the package with Composer

composer require lisennk/laravel-slack-web-api

2) Open config/app.php and add \Lisennk\Laravel\SlackWebApi\Providers\SlackApiServiceProvider::class to the providers[] array

For example:

  // ...
  
  'providers' => [
    // ...
    // A whole bunch of providers
    // ...
    
    \Lisennk\Laravel\SlackWebApi\Providers\SlackApiServiceProvider::class
  ],
  
  // ...

3) If you want to use the Facade, add \Lisennk\Laravel\SlackWebApi\Facades\SlackApi::class to the aliases[] array in config/app.php

For example:

  // ...
  
  'aliases' => [
    // ...
    // A whole bunch of aliases
    // ...
    
    'SlackApi' => \Lisennk\Laravel\SlackWebApi\Facades\SlackApi::class
  ],
  
  // ...

4) Publish the config file

php artisan vendor:publish

5) Open config/slack.php and insert your token to make API requests

'token' => 'your-token-here'

๐Ÿด Usage

To make Slack API requests, you need to call the execute method of the SlackApi class and pass the Slack Web API method name and any parameters. For example:

$api->execute('method.name', [
  'parameter_one' => 'some-data',
  'parameter_two' => 'some-other-data'
  // ...
];

This will return a plain PHP array containing the response data from Slack.

####1) Basic example of usage in a Controller:

use \Lisennk\Laravel\SlackWebApi\SlackApi;
use \Lisennk\Laravel\SlackWebApi\Exceptions\SlackApiException;

// ...

public function postMessage(SlackApi $api)
{
  try {
    $response = $api->execute('users.info', [
      'user' => 'U1234567890'
    ]);
    $name = $response['user']['name'];
    // Do something amazing with data from Slack...
  } catch (SlackApiException $e) {
    return 'Error:' . $e->getMessage();
  }
}

// ...

####2) Basic usage with the Facade:

use \Lisennk\Laravel\SlackWebApi\Exceptions\SlackApiException;

// ...

public function postMessage()
{
  try {
    $response = SlackApi::execute('users.info', [
      'user' => 'U1234567890'
    ]);
    $name = $response['user']['name'];
    // Do something amazing with data from Slack...
  } catch (SlackApiException $e) {
    return 'Error:' . $e->getMessage();
  }
}

// ...

๐ŸŒบ Contributing

Feel free to create pull requests or issues, and report typos.

๐Ÿ“š Reference

laravel-slack-web-api's People

Contributors

lisennk avatar sbine avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.