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);