PHP code example of stechstudio / slack-laravel-api
1. Go to this page and download the library: Download stechstudio/slack-laravel-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/ */
stechstudio / slack-laravel-api example snippets
/*
|--------------------------------------------------------------------------
| Slack Webhook Routes
|--------------------------------------------------------------------------
|
| Here is where you can register Slack routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "slack" middleware group. Enjoy building your API!
|
*/
Route::middleware('slack')->match(['get', 'post'], '/slack/api', 'STS\Slack\Http\Controllers\Slack@webhook');
use STS\Slack\Facades\SlackRoute;
use STS\Slack\SlashCommands\Echoes;
/*
|--------------------------------------------------------------------------
| Slack Command Routes
|--------------------------------------------------------------------------
|
| Here is where you can register Slack commands for your application.
|
*/
SlackRoute::handles('/hello', function (SlashCommand $slashCommand) {
return 'Hello World';
});
SlackRoute::handles('/echo', Echoes::class);
declare(strict_types=1);
namespace STS\Slack\SlashCommands;
use Illuminate\Support\Facades\Log;
use STS\Slack\Contracts\Messaging\Message as SlackMessage;
use STS\Slack\Contracts\SlashCommands\ControllerI;
use STS\Slack\Messaging\LayoutBlocks\Context;
use STS\Slack\Messaging\LayoutBlocks\Section;
use STS\Slack\Messaging\Message;
use STS\Slack\Models\SlashCommand;
use function json_encode;
class Echoes implements ControllerI
{
public function handle(SlashCommand $slashCommand): SlackMessage
{
return $slashCommand->createMessage('*Echo:* ' . $slashCommand->getText())
->addImage(
'https://cdn.cp.adobe.io/content/2/dcx/9ed8e319-b714-4c8d-b9d5-7a6d419e50b3/rendition/preview.jpg/version/0/format/jpg/dimension/width/size/1200',
'Echo Hacker'
)
->addSection('*Slack Parameters* ', function(Section $section) use($slashCommand) {
$section
->addText("*Team ID*: {$slashCommand->getTeamId()}")
->addText("*Team Domain*: {$slashCommand->getTeamDomain()}")
->addText("*Channel ID*: {$slashCommand->getChannelId()}")
->addText("*Channel Name*: {$slashCommand->getChannelName()}")
->addText("*User ID*: {$slashCommand->getUserId()}")
->addText("*User Name*: {$slashCommand->getUserName()}")
->addText("*Command*: {$slashCommand->getCommand()}");
})
->addSection("*Your Text*\n{$slashCommand->getText()}")
->addDivider()
->addContext(function(Context $context) {
$context
->addImage(
'https://avatars.slack-edge.com/2019-02-19/556373803382_e2c54afedc2a4fb73ccd_512.png',
'The Commander Logo'
)
->addText('slack-laravel-api echo handler');
})
->tap(function(Message $message) {
Log::warning(json_encode($message->toSlackObjectArray()));
});
}
}
ini
SLACK_SIGNING_SECRET="slacksecretestringhere"
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.