2017-03-16 8 views
1

Ich benutze Server auf Debian 8 mit ISP 5. Ich habe installiert, dass lib: https://github.com/akalongman/php-telegram-bot. Webhook wurde eingestellt, aber Bot reagiert nicht auf Nachrichten und Befehle. Server hatte nicht anmeldet, ich weiß nicht, was das Problem ist :(Telegram Bot antwortet nicht Nachrichten

ich eine SSL aus Lassen Sie uns Encrypt im ISP-Manager für IP-Adresse erhalten. enter image description here

Hier mein set.php ist

<?php 
// Load composer 
require __DIR__ . '/vendor/autoload.php'; 

$API_KEY = 'key'; 
$BOT_NAME = 'evtepo_bot'; 
$hook_url = 'https://213./hook.php'; 
try { 
    // Create Telegram API object 
    $telegram = new Longman\TelegramBot\Telegram($API_KEY, $BOT_NAME); 

    // Set webhook 
    $result = $telegram->setWebhook($hook_url); 
    if ($result->isOk()) { 
     echo $result->getDescription(); 
    } 

} catch (Longman\TelegramBot\Exception\TelegramException $e) { 
    echo $e; 
} 

und hook.php

<?php 
// Load composer 
require __DIR__ . '/vendor/autoload.php'; 

$API_KEY = 'key'; 
$BOT_NAME = 'evtepo_bot'; 
$commands_path = __DIR__ . '/Commands/'; 

try { 
    // Create Telegram API object 
    $telegram = new Longman\TelegramBot\Telegram($API_KEY, $BOT_NAME); 

    // Handle telegram webhook request 
    $telegram->handle(); 
} catch (Longman\TelegramBot\Exception\TelegramException $e) { 
    echo $e; 
    \Longman\TelegramBot\TelegramLog::initErrorLog(__DIR__ . '/' . $BOT_NAME . '_error.log'); 
    \Longman\TelegramBot\TelegramLog::initDebugLog(__DIR__ . '/' . $BOT_NAME . '_debug.log'); 
    \Longman\TelegramBot\TelegramLog::initUpdateLog(__DIR__ . '/' . $BOT_NAME . '_update.log'); 
} 

$telegram->addCommandsPath($commands_path); 

Antwort

0

Sie getWebhookInfo Methode verwenden sollten, wenn die Updates an den Haken geliefert wurden, zu überprüfen und, wenn Es gab irgendwelche Fehler.

0

Das Problem war, dass ich eine Domain kaufen und eine SSL von Lets'Encrypt erhalten musste.

+0

Haben Sie den Webhook mit Lets Encrypt cert eingerichtet? Ich versuche, von meinem selbstsignierten Cert zu einem Lets Encrypt cert zu wechseln, aber Telegram scheitert bei der Validierung des neuen Certs. – Poulad

Verwandte Themen