Skip to content

Cancel all active sessions

Payam Khaninejad edited this page Nov 29, 2016 · 6 revisions

If you want to cancel all active session by a timer or cronjob you can do just like this example: <?php // Load composer require __DIR__ . '/vendor/autoload.php'; require_once 'db.php'; require_once 'class.DBPDO.php';

use Longman\TelegramBot\Request; use Longman\TelegramBot\Telegram; use Carbon\Carbon; $API_KEY = 'xxxx'; $BOT_NAME = 'xxxx'; $telegram = new Telegram($API_KEY, $BOT_NAME);

$message = "Your session expired please touch /start to start again"; $update = [':status' => "active"]; $pdo = new DBPDO();

$res = $pdo->fetchAll("SELECT * FROM conversationWHEREstatus= 'active' ANDupdated_at < '".Carbon::parse('-15 minute')->toDateTimeString()."' ", $update); foreach ($res as $user) { $chat_id = $user["chat_id"]; $sql="UPDATE conversationSETstatus= 'stopped' WHEREconversation.id =".$user["id"]; $pdo->execute($sql); if ($chat_id !== '' && $message !== '') { $data = [ 'chat_id' => $chat_id, 'text' => $message, ]; $result = Request::sendMessage($data); if ($result->isOk()) { echo 'Message sent succesfully to: ' . $chat_id . "\n"; } else { echo 'Sorry message not sent to: ' . $chat_id . "\n"; } } }

Clone this wiki locally