0

我创建了一个模块并在 /src/Controller/BotController.php 中实现了我的 Telegram 机器人代码。现在我想设置一个 webhook 并使用 https://api.telegram.org/bot<token>/setwebhook?url=https://<my-site>/<my-module-path-in-"name.routing.yml">.

webhook 已设置,但我的代码不起作用并给我一个 500 错误。

我怎样才能解决这个问题?

编辑:

我的代码:

<?php
namespace Drupal\telegram\Controller;

use Drupal\Core\Controller\ControllerBase;

class TelegramController extends ControllerBase {

public function telegram() {

$update = file_get_contents("php://input");
$update = json_decode($update, TRUE);
$chatId = $update["message"]["chat"]["id"];
$message = $update["message"]["text"];

if (isset($chatId) and isset($message)) {
    sendMessage($chatId, $message);
    $url = "https://api.telegram.org/bot504387877:AAFHnQe-AdscpSZN42yY-JYem5jwdJc131Q/sendMessage?chat_id=" . $chatId . "&text=" . $message;
}
file_get_contents($url);

$build['#theme'] = 'new';
return $build;

}

}
4

1 回答 1

0

我认为这可能是由未转义的 URL 引起的,但您需要提供错误消息来确定。

如果你只是想完成它,你可以使用这个Android 应用程序。例如,用于getWebhookInfo获取错误原因。

真棒电报机器人

于 2017-12-25T22:11:57.520 回答