За последние 24 часа нас посетили 21744 программиста и 1022 робота. Сейчас ищут 663 программиста ...

APi telegram и Mysql

Тема в разделе "PHP для новичков", создана пользователем shtrih, 10 сен 2019.

  1. shtrih

    shtrih Активный пользователь

    С нами с:
    10 дек 2015
    Сообщения:
    59
    Симпатии:
    3
    Добрый день!

    Не могу подружить APi телеграмм и базу mysql.
    Использую библиотеку longman/telegram-bot.

    getUpdatesCLI.php
    Код (Text):
    1. #!/usr/bin/env php
    2. <?php
    3. // Load composer
    4. require __DIR__ . '/vendor/autoload.php';
    5.  
    6.         $bot_api_key  = '111111111111111111111111111';
    7.         $bot_username = '123_bot';
    8.         $mysql_credentials = [
    9.             'host'     => 'localhost',
    10.             'port'     => 3306, // optional
    11.             'user'     => '******',
    12.             'password' => '123123',
    13.             'database' => '*******',
    14.         ];
    15.  
    16. try {
    17.     // Create Telegram API object
    18.     $telegram = new Longman\TelegramBot\Telegram($bot_api_key, $bot_username);
    19.  
    20.     // Enable MySQL
    21.     $telegram->enableMySql($mysql_credentials);
    22.  
    23.     // Handle telegram getUpdates request
    24.     $telegram->handleGetUpdates();
    25. } catch (Longman\TelegramBot\Exception\TelegramException $e) {
    26.     // log telegram errors
    27.     // echo $e->getMessage();
    28. }
    Файл getUpdatesCLI.php был создан и запущен без ошибок.

    hook_telegram.php
    Код (Text):
    1. <?php
    2. // Load composer
    3. require __DIR__ . '/vendor/autoload.php';
    4. //include ("telegram.php");
    5.  
    6.  
    7. $commands_paths = [
    8.     __DIR__ . '/Commands/',
    9. ];
    10.  
    11. // Define all IDs of admin users in this array (leave as empty array if not used)
    12. $admin_users = [
    13. //    123,
    14. ];
    15.  
    16.         $bot_api_key  = '1111111111111111111111111';
    17.         $bot_username = '123_bot';
    18.         $mysql_credentials = [
    19.             'host'     => 'localhost',
    20.             'port'     => 3306, // optional
    21.             'user'     => '*****',
    22.             'password' => '123123',
    23.             'database' => '*****',
    24.         ];
    25.  
    26. try {
    27.     // Create Telegram API object
    28.     $telegram = new Longman\TelegramBot\Telegram($bot_api_key, $bot_username);
    29.  
    30.     // Add commands paths containing your custom commands
    31.     $telegram->addCommandsPaths($commands_paths);
    32.  
    33.        // Enable admin users
    34.     $telegram->enableAdmins($admin_users);
    35.  
    36.  
    37.     // Requests Limiter (tries to prevent reaching Telegram API limits)
    38.     $telegram->enableLimiter();
    39.  
    40.    $telegram->enableMySql($mysql_credentials);
    41.  
    42.     // Handle telegram webhook request
    43.     $telegram->handle();
    44.  
    45. } catch (Longman\TelegramBot\Exception\TelegramException $e) {
    46.     // Silence is golden!
    47.     // log telegram errors
    48.     // echo $e->getMessage();
    49. }
    Если, строчки $telegram->enableMySql($mysql_credentials); нет, то телеграмм отвечает нормально, если строчка есть, то ответа нет. И в лог ошибки ничего не пишется. Как быть? В базу также ничего не пишется
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.553
    Симпатии:
    1.754
    Ну так допишите логирование ошибок в обработчике исключений, вместо Silence is golden :)

    И я бы ещё на всякий случай Exception тоже ловил
     
  3. shtrih

    shtrih Активный пользователь

    С нами с:
    10 дек 2015
    Сообщения:
    59
    Симпатии:
    3
    Дописал. Ничего не пишется туда. То есть скрипт, не выполняется тогда.
     
  4. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    возьми botman - он сам все делает - да еще и на ларке..
     
  5. shtrih

    shtrih Активный пользователь

    С нами с:
    10 дек 2015
    Сообщения:
    59
    Симпатии:
    3
    Перебирать классы это не серьёзно. Хотелось бы в этом разобраться
     
  6. shtrih

    shtrih Активный пользователь

    С нами с:
    10 дек 2015
    Сообщения:
    59
    Симпатии:
    3
    Неужели никто не работал с этим классом?
     
  7. shtrih

    shtrih Активный пользователь

    С нами с:
    10 дек 2015
    Сообщения:
    59
    Симпатии:
    3
    Сам решил. Пересоздав БД
     
    AlexProg нравится это.