Ejemplo n.º 1
0
        $command->processChannelCreated($payload->getData());
    }
});
$client->on('presence_change', function (Slack\Payload $payload) use($client) {
    if ($payload->getData()['user'] !== $GLOBALS['config']['slack']['botId']) {
        $command = new \T3Bot\Commands\TellCommand($payload, $client);
        $command->processPresenceChange($payload->getData()['user'], $payload->getData()['presence']);
    }
});
$client->connect()->then(function () use($client) {
    echo "Connected!\n";
});
/* @noinspection PhpInternalEntityUsedInspection */
$db = \Doctrine\DBAL\DriverManager::getConnection($GLOBALS['config']['db'], new \Doctrine\DBAL\Configuration());
$loop->addPeriodicTimer(5, function () use($client, $db) {
    $messages = $db->fetchAll('SELECT * FROM messages ORDER BY id ASC');
    foreach ($messages as $message) {
        $data = json_decode($message['message'], true);
        $attachments = $data['attachments'];
        $data['attachments'] = [];
        foreach ($attachments as $attachment) {
            $data['attachments'][] = \Slack\Message\Attachment::fromData($attachment);
        }
        // process data
        $messageToSent = new \Slack\Message\Message($client, $data);
        $client->postMessage($messageToSent);
        // delete message
        $db->delete('messages', ['id' => $message['id']]);
    }
});
$loop->run();