Php бот телеграммы: необходимо выполнить оболочку s sh - PullRequest
0 голосов
/ 13 января 2020

Я действительно новичок в php и вообще программирую. У меня есть этот код, запущенный на моем боте телеграммы:

?php
$content = file_get_contents("php://input");
$update = json_decode($content, true);
if(!$update)
{
  exit;
}
$message = isset($update['message']) ? $update['message'] : "";
$messageId = isset($message['message_id']) ? $message['message_id'] : "";
$chatId = isset($message['chat']['id']) ? $message['chat']['id'] : "";
$firstname = isset($message['chat']['first_name']) ? $message['chat']['first_name'] : "";
$lastname = isset($message['chat']['last_name']) ? $message['chat']['last_name'] : "";
$username = isset($message['chat']['username']) ? $message['chat']['username'] : "";
$date = isset($message['date']) ? $message['date'] : "";
$text = isset($message['text']) ? $message['text'] : "";
$text = trim($text);
$text = strtolower($text);
header("Content-Type: application/json");
$response = '';
if(strpos($text, "/start") === 0 || $text=="ciao")
{   
    $response = "Ciao $firstname, questo bot ti permette di controllare Plex!";
}
elseif($text=="/accendi")
{
    $response = "Certo! attendi qualche minuto prima che sia operativo";
}
elseif($text=="/spegni")
{
    $response = "Certo! spengo il server";
}
else
{
    $response = "Comando non riconosciuto! non intasare la chat di puttanate!";
}
$parameters = array('chat_id' => $chatId, "text" => $response);
$parameters["method"] = "sendMessage";
echo json_encode($parameters); 

, и я хотел бы выполнить этот код, когда получено сообщение /spegni

    $connection = ssh2_connect('mydomain.org', 22);
    ssh2_auth_password($connection, 'root', 'secretpassowrd');

    $stream = ssh2_exec($connection, 'shutdown -P now');

любые идеи о том, как я мог заставить его работать?

На самом деле, я даже не знаю, возможно ли это :) Я имею в виду, что мне удалось заставить его работать на предыдущей версии бота, где я использовал метод getupdate, но с веб-крючком я не могу заставить его работать.

...