Esempio n. 1
0
require 'sound.class.php';
use Goutte\Client;
$channel = $argv[1];
$outputfile = $argv[2];
if (empty($channel) || empty($outputfile)) {
    die("Usage: slackcast.php [channel] [outputfile]\r\n");
}
if (empty(getenv('SLACK_API')) || empty(getenv('SLACK_USER'))) {
    die("Please set environment variables SLACK_API and SLACK_USER");
}
$sound = new Sound();
$slack = new Slack(array('api_key' => getenv('SLACK_API'), 'slack_user' => getenv('SLACK_USER')));
if ($channel == 'private') {
    die("Feature coming soon.\r\n");
}
$slack->load_channels();
if (empty($slack->channels[$channel])) {
    die("Channel not found.\r\n");
}
$json = $slack->get_channel_history($slack->channels[$channel]['id']);
$json->messages = array_reverse($json->messages);
foreach ($json->messages as $m) {
    $message = $m->text;
    // mute the hubot somewhat
    if ($slack->users[$m->user]['name'] == 'hubot') {
        $items = explode(" ", $message);
        $items = array_slice($items, 0, 10);
        $message = implode(" ", $items);
    }
    $message = clean_message($message, $slack);
    $message = clean_urls($message);