SlackWamp is a WAMP v2 (Web Application Messaging Protocol) bridge that exposes the entire Slack API (Web API and Real Time Messaging API) as WAMP topics and RPC calls.
SlackWamp is written in PHP and uses the Thruway WAMP client, but can work with any of the available WAMP routers.
$ composer require "voryx/slack-wamp":"dev-master"
<?php
require_once __DIR__ . "/vendor/autoload.php";
$token = 'your_slack_token';
$botToken = 'your_slack_token_with_rtm:stream';
$wamp = new \Rx\Thruway\Client('wss://localhost:9090', 'realm1');
(new \SlackWamp\APIBridge($wamp, $token))->subscribe();
(new \SlackWamp\RealTimeBridge($wamp, $botToken))->subscribe();
You'll be able to subscribe to any Slack RTM Event from any WAMP client, with the same topic name.
The response includes the entire Slack event message.
This bridge maps all of Slack's Web API Methods to WAMP RPCs.
For example, you if wanted to change your presence, the Web API call's name is users.setPresence
. The WAMP RPC uses the same name except that it's all lower case and the arguments are passed through argsKW.
ie:
$wamp->call("users.setpresence", [], ["presence" => "away"])->subscribe(function ($res) {
print_r($res[0]);
});