PHP Classes

File: public/check.php

Recommend this page to a friend!
  Classes of Joseluis Laso   PHP Telegram CLI Wrapper   public/check.php   Download  
File: public/check.php
Role: Example script
Content type: text/plain
Description: Example script
Class: PHP Telegram CLI Wrapper
Send messages and other commands to Telegram users
Author: By
Last change:
Date: 8 years ago
Size: 2,543 bytes
 

Contents

Class file image Download
<?php

session_start
();

include_once
__DIR__ . '/../vendor/autoload.php';

use
TelegramCliWrapper\TelegramCliWrapper;
use
TelegramCliWrapper\TelegramCliHelper;
use
TelegramCliWrapper\Storage\LocalFilesStorage;
use
TelegramCliWrapper\Response;
use
TelegramCliWrapper\Models\User;
use
TelegramCliWrapper\Services\Weather\OpenWeatherApi;
use
TelegramCliWrapper\Services\Media\MediaSelector;
use
TelegramCliWrapper\Services\Joke\IcndbApi;

if (!isset(
$_SESSION['user'])) {
    return
Response::error("illegal request");
}

$userStorage = new LocalFilesStorage('user');
$user = $userStorage->getById($_SESSION['user']);

if (!
$user) {
    return
Response::error("user does not exist");
}

$th = TelegramCliHelper::getInstance();
$t = new TelegramCliWrapper($th->getSocket(), $th->isDebug());

$messages = $t->getHistory($user->phone, 1);
if (
count($messages) < 1) {
    return
Response::error('no messages received');
}

$message = $messages[0];
if (
intval($message->unread) != 1) {
    return
Response::error("no unread messages");
}

$text = strtolower(trim($message->text));
$response = "";
switch (
$text) {
    case
"help":
       
$response = "These are the things you can ask me:\n" .
                   
"help => this info\n" .
                   
"remove me => remove my phone number from the system\n" .
                   
"send me a photo => invite system to send a photo\n" .
                   
"tell me a joke => I send to you something funny\n" .
                   
"say me the time => I send to you the current time on my timezone\n" .
                   
"weather => I send to you the weather where I live\n";
        break;
    case
"weather":
       
$weather = new OpenWeatherApi();
       
$response = $weather->getWeatherInfoAsString();
        break;
    case
"say me the time":
       
$response = sprintf("The current time here is %s", date("l, F jS Y h:ia"));
        break;
    case
"tell me a joke":
       
$response = IcndbApi::getAJoke();
        break;
    case
"remove me":
       
$t->msg($user->phone, "You have been deleted from my contact list");
       
$t->del_contact($user->phone);
       
$userStorage->remove($user->phone);
        unset(
$_SESSION['user']);
       
header("location: index.php");
        die;
        break;
    case
"send me a photo":
       
$t->send_photo($user->phone, MediaSelector::getRandomPicture());
        break;
    default:
       
$response = "I'm so sorry.\nI'm not ready yet to understand you";
        break;
}

$t->msg($user->phone, $response);

return
Response::ok();