159 комментариев
Страница 1 из 1
    seoonly.ru

    спасибо за исходники-)

    Roman

    Подскажите, пожалуйста, как установить библиотеку без композер? 🙂

    Влад

    Подскажите, у меня срабатывает только комманда /ping, а остальное не хочет? И власть советам не пашит….в чем может быть проблема?

    Влад

    Это я сделал в самом начале. Обнаружил в чем ошибка, на русском языке отвечать не хочет, не подскажите что делать?

    Влад

    О, спасибо большое. Не сочти за наглость, а можно расширить функционал, чтобы он делал рассылку новостей???)

    Влад

    Ага, а если допустим мне нужно чтобы из этого канала он слал каждому человеку сообщение с инфой, а не просто слал общее на канал….или он и так будет лично каждому подписчику слать?

    Александр

    Привет, данная команда не хочет работать от слова совсем:
    $bot->command(‘today’, function ($message) use ($bot) {
    $query =»SELECT * FROM rasp WHERE Date = ‘$today'»;
    $result = mysqli_query($link, $query) or die(«Ошибка » . mysqli_error($link));
    $row = mysqli_fetch_row($result);
    $answer = implode(‘ ‘, $row);
    $bot->sendMessage($message->getChat()->getId(), $answer);
    });
    в отдельном коде с выводом через echo всё работает отлично, запрос проходит, идет выборка и массив складывается в строку, а тут ничего не получается (остальные команды работают), в чём может быть проблема?

    Александр

    Доброго времени суток, не могу понять как добавить эти параметры ‘parse_mode’ => ‘HTML’, ‘disable_web_page_preview’ => true,
    в $bot->sendMessage($message->getChat()->getId(),$answer), то есть параметрами в sendMessage, для того что бы нормально выводить спарсенные rss новости, ничего не могу придумать, спасааайте?)

    Александра

    Отличная статья! Все получилось! А не подскажете, как клавиатуру с вариантами ответов прикрутить?
    $keyboard = new \TelegramBot\Api\Types\Inline\InlineKeyboardMarkup(
    [
    [
    [‘switch_inline_query_current_chat’ => ‘/help’, ‘text’ => ‘Help’]
    ]
    ]
    ); чего-то не работает((
    Спасибо)

    Александр

    Здравствуйте!Вы уже упоминали в комментариях как сделать отправку например новостей в канал, через метод on() и сохранения id канала, я сделал бота администратором и вожусь с методом on() но все никак и еще не пойму как сделать так, что бы он,например, периодически отправлял новости в канал? Извините, возможно за глупые вопросы!

      Александр

      Ведь даже для того что-бы получить id канала, нам нужно что мы боту отправили сообщение, а с канала, это сделать невозможно?

    Александр

    Большое спасибо, работает, это тогда получается что для канала нужно создавать отдельного бота? Так как если написать самому боту, задать какую-то команду, то в добавок выполниться и строчка кода с постингом на канал.

    Сергей

    Здравствуйте, подскажите как сделать обработчик на inline кнопки?
    $keyboard = new \TelegramBot\Api\Types\Inline\InlineKeyboardMarkup(
    [
    [
    [‘callback_data’ => ‘/start’, ‘text’ => ‘Старт’],

    ]
    ], null, true
    );

    $bot->sendMessage($message->getChat()->getId(), «тест», false, null,null, $keyboard);

    Валерий

    Здравствуйте, никак не могу реализовать данную команду. Бот не считывает значения. Подскажите, пожалуйста, как это исправить.

    $bot->command('settings', function ($message) use ($bot) {
    	$bot->sendMessage($message->getChat()->getId(), 'Введите город');
    	//считываем город
            $message = $Update->getMessage();
    	$mtext = $message->getText(); 
    		if(in_array($mtext, $cArray))
    		{
    			// ....
    		}
    		else
    		{
    			$bot->sendMessage($message->getChat()->getId(), 'Попробуйте ещё раз');
                            //вернуться к считыванию города
    		}
    });
    Евгений

    Здравствуйте, а версия не ниже php-5.6 это критично? У меня на хостинге 5.5.25. И бот не отвечает на команды. Но при этом, переходя на url бота в браузере, ошибок я не вижу. Если удалить registered.trigger и вывести $result, то есть то что возвращает $bot->setWebhook($page_url), то выводится true. index.php находится не в корневой директории, а в подпапке. То есть $page_url = «https://мой_поддомен/telegram/»

    Александр

    Здравствуйте, не сочтите за наглость, можно еще вопрос) А есть какая-то конструкция, что бы например какое-то слово или ссылку сделать в виде кнопки?

      Александр

      Нашел в ваших комментариях, буду разбираться, спасибо))

    Виталий

    А как считывать сообщения, которые пишет пользователь? Чтобы сделать форму обратной связи

    Андрей

    Здравствуйте. Не подскажите как получить File_Id отправляемоего боту изображения?

    scooter

    Помогите пожалуйста
    Fatal error: Uncaught TelegramBot\Api\InvalidJsonException: Syntax error in /storage/ssd1/686/2192686/public_html/vendor/telegram-bot/api/src/BotApi.php:279 Stack trace: #0 /storage/ssd1/686/2192686/public_html/vendor/telegram-bot/api/src/Client.php(99): TelegramBot\Api\BotApi::jsonValidate(», true) #1 /storage/ssd1/686/2192686/public_html/index.php(189): TelegramBot\Api\Client->run() #2 {main} thrown in /storage/ssd1/686/2192686/public_html/vendor/telegram-bot/api/src/BotApi.php on line 279

    Mixa

    Подскажите, а если я никуда ничего не передаю,

    Очень странно. Я нигжде не использую передачу данных, а использую только sendMessage, и все работет, когда запускаю скрипт руками, а когда ставлю на крон, то приходитот него ответ с ошибками:

    Fatal error: Uncaught TelegramBot\Api\HttpException: Bad Request in /bla-bla-bla/vendor/telegram-bot/api/src/BotApi.php:261
    Stack trace:
    #0 /bla-bla-bla/vendor/telegram-bot/api/src/BotApi.php(241): TelegramBot\Api\BotApi::curlValidate(Resource id #10)
    #1 /bla-bla-bla/vendor/telegram-bot/api/src/BotApi.php(210): TelegramBot\Api\BotApi->executeCurl(Array)
    #2 /bla-bla-bla/vendor/telegram-bot/api/src/BotApi.php(415): TelegramBot\Api\BotApi->call('setWebhook', Array)
    #3 [internal function]: TelegramBot\Api\BotApi->setWebhook('https://')
    #4 /bla-bla-bla/vendor/telegram-bot/api/src/Client.php(255): call_user_func_array(Array, Array)
    #5 /bla-bla-bla/index.php(19): TelegramBot\Api\Client->__call('setWebhook', Array)
    #6 {main}
      thrown in bla-bla-bla/vendor/telegram-bot/api/src/BotApi.php on line 261

    Что я сделал не так и как это исправить? Может ли быть дело в неправильном триггере (я, когда уустанавливал все, файл не сразу создался было, я раскоментироал было проерку наличия файла триггера) и т.д.?

      Mixa

      эх. жаль нелья редаактировать собственные комменты 🙂

    Игорь

    Привет. А как заставить бота ожидать ответа пользователя? Ну задать какой то вопрос (Например: «Как тебя зовут?»), а после этого как то этот ответ обработать?

    kekcuuuk

    Остался вопрос лишь как сделать адекватные инлайн кнопки? Пример прилагаю: https://ibb.co/fMLHUk.
    До черты то, как получается в нашем примере, после черты то, как в других ботах. Каждая кнопка на отдельной строке. Притом, что все это одно сообщение

    Евгений

    Мужик — ты крут! реально простая рабочая статься, бери и пользуйся. Везде как то написано для энштейнов, а тут всё как дважды два, спасибо!

    Антон

    Всем привет, а кто ни будь прикручивал yandex метрику к боту(botan)?

    Павел

    Подскажите пожалуйста, как будет вылядеть запрос с питона или руби….
    Мне надо взять file.txt с пк и отправить пользователю, но не в виде документа… а как обычное текстовое сообщение. Заранее спасибо.

    Павел

    Поправьте если ошибаюсь но бота на php, если и делать то обязательно надо покупать сертификат на ssl или хост?! Чтоб реализавать все возможности ботп на php.

    Станислав

    Не подскажите, а можно ли как то получить номер телефона пользователя того, кто пишет в чат боту? Заранее спасибо.

    Александр

    Помогите разобраться. Сижу уже который день. Не обрабатывает сообщения от пользователя. Команды работают на ура. PHP поднял 5.6. было 5.4. Хотя и там работало также. Не пойму куда копать. Код в on простой и понятный. Но не идет и все. Disabled включал.

    Андр

    Здравствуйте!
    При попытке выполнить данный пункт: «Отлично, можно запустить наш бот и проверить, перейдя к нему из браузера. Если в папке бота создался файл registered.trigger значит телеграм теперь знает о том, где находится наш бот.»
    выходит ошибка:
    Fatal error: Uncaught Error: Call to undefined function TelegramBot\Api\curl_init() in /var/www/html/bots/revcom_bot/vendor/telegram-bot/api/src/BotApi.php:162 Stack trace: #0 /var/www/html/bots/revcom_bot/vendor/telegram-bot/api/src/Client.php(40): TelegramBot\Api\BotApi->__construct(‘360728858:AAG3G…’) #1 /var/www/html/bots/revcom_bot/index.php(20): TelegramBot\Api\Client->__construct(‘360728858:AAG3G…’, NULL) #2 {main} thrown in /var/www/html/bots/revcom_bot/vendor/telegram-bot/api/src/BotApi.php on line 162

    уже битый час ковыряюсь, но ни как не могу понять в чем проблема… Помогите пожалуйста!)

    Андр

    установил Curl, плюс была проблема с права и из этого не создавался файлик registered.trigge, права выдал, файлик создался, но ошибка в итоге осталась:
    Fatal error: Uncaught TelegramBot\Api\InvalidJsonException: Syntax error in /var/www/html/bots/revcom_bot/vendor/telegram-bot/api/src/BotApi.php:279 Stack trace: #0 /var/www/html/bots/revcom_bot/vendor/telegram-bot/api/src/Client.php(99): TelegramBot\Api\BotApi::jsonValidate(», true) #1 /var/www/html/bots/revcom_bot/index.php(195): TelegramBot\Api\Client->run() #2 {main} thrown in /var/www/html/bots/revcom_bot/vendor/telegram-bot/api/src/BotApi.php on line 279

    зы: быть может еще что установить надо, что небуть связаное с json?…

    Bob

    Fatal error: Uncaught exception ‘TelegramBot\Api\HttpException’ with message ‘Unauthorized’ in /revcom_bot/vendor/telegram-bot/api/src/BotApi.php:265 Stack trace: #0 /revcom_bot/vendor/telegram-bot/api/src/BotApi.php(243): TelegramBot\Api\BotApi::curlValidate(Resource id #8, ‘{«ok»:false,»er…’) #1 /revcom_bot/vendor/telegram-bot/api/src/BotApi.php(212): TelegramBot\Api\BotApi->executeCurl(Array) #2 /revcom_bot/vendor/telegram-bot/api/src/BotApi.php(419): TelegramBot\Api\BotApi->call(‘setWebhook’, Array) #3 [internal function]: TelegramBot\Api\BotApi->setWebhook(‘https://imkonce…’) #4 /revcom_bot/vendor/telegram-bot/api/src/Client.php(405): call_user_func_array(Array, Array) #5 /revcom_bot/index.php(30): TelegramBot\Api\Clie in /revcom_bot/vendor/telegram-bot/api/src/BotApi.php on line 265

    Что то с вебхуком
    $result = $bot->setWebhook($page_url);
    но что это не понимаю, помогите

    Gopher

    Доброго времени!
    А никто не сталкивался с такой ситуацией, когда текст который нужно передать не влазит в одно сообщение и нужно несколько их отослать? Можно конечно разбить текст на несколько, сохранить его на диск или в базу, потоп читать оттуда… но может штатным каким-то образом можно.?

    Максим

    Привет! Спасибо за подробную инструкцию! Очень помог!
    Подскажи, хочу из собственной базы выводить информацию. Сейчас код следующий, он работает вне бота, а в боте не хочет.
    $sql=’SELECT * FROM `books` WHERE `id` ORDER BY RAND() LIMIT 1′;
    $sort=$mysqli->query($sql);
    while($row = mysqli_fetch_array($sort))
    {$BAuthor = $row[‘BAuthor’];};
    $bot->sendMessage($message->getChat()->getId(), $BAuthor);

    Иван

    Доброго дня))Спасибо большое вам за труды!очень ценно!!Скажите…а где можно посмотреть,что именно отправляет пользователь боту!?

    Иван

    Не подскажите что делать,не отвязал толком вебхук через код и снес папки к чертям с php файлами с сервера,удалил бота,начал с нуля делать..вбиваю новый токен в браузер https://api.telegram.org/bot123/setWebhook?url=https://123/ у меня все равно кажет {«ok»:true,»result»:true,»description»:»Webhook is already set»} Хотя я ни чего не размещал по новой. Как отвязать от старого и сделать все по новой?

    Миха

    aftamat4ik, подскажите пожалуйста есть ли возможность получить список пользователей на канале? Для задачи — отслеживание тех кто подписан на канал или отписался. Спасибо!

    Миха

    Отличная инструкция! Почти всё работает…кроме $bot->on(function($Update) use ($bot){ … }) Почему-то не заходит в это действие. Подскажите в чём может быть проблема 😕

    юзер

    Пивет админ пожалуйста напишите мне на телеграм аккаунт!

    Max

    Грамматическая ошибка в коде: правильно -» помощь» а не «помощ». Раз пишите статьи, нужно быть внимательнее.

    OneEyedGOD

    Max на костёр !!! TS Best/ Единственный нормально рабочий мануал в рунете !

    Мастер, подскажи пж как инвойс оформить и юзеру отправить. Смысле код сам, платёжки через ботфазер прикручены и все акки зареганы по инструкциям от плат.систем. Недостаток знаний PHP сказывается ((
    @shopexamplebot как здесь.

    Виталий

    Подскажите, при получении сообщения с картинкой не получается получить getFileId():
    PHP Fatal error: Call to a member function getFileId() on array in /public_html/tg/index.php on line 57
    57 строка: $photo_id = $message->getPhoto()->getFileId();

    $message->getPhoto() выдает массив:
    Array
    (
    [0] => TelegramBot\Api\Types\PhotoSize Object
    (
    [fileId:protected] => AgADAgADGKkxG1zIoEiSjEvkQ5RdzWkNMw4ABKrZpkScfFFj6sYAAgI
    [width:protected] => 90
    [height:protected] => 90
    [fileSize:protected] => 1950
    )
    [1] => TelegramBot\Api\Types\PhotoSize Object
    (
    [fileId:protected] => AgADAgADGKkxG1zIoEiSjEvkQ5RdzWkNMw4ABBnH7MnYlviC6cYAAgI
    [width:protected] => 200
    [height:protected] => 200
    [fileSize:protected] => 8962
    )
    )

    Maks

    Если кому интересно, исправить ошибку можно при вызове index.php (аля Uncaught TelegramBot\Api\InvalidJsonException: Syntax error) заменив $bot->run(); на if(!empty($bot->getRawBody())){
    $bot->run();
    }
    $bot->run(); нужен для обработки входящих запросов, а у нас получается что запрос пустой, а дальше он кидает тело на валидацию в json и выкидывает ошибку, так как пустое. Я правда сначала классы правил, а тут пришла в голову такая штука)))

    Марс

    Здравствуйте. В новой версии Telegram возможно принимать оплату, пробовали ли вы реализовать бот, который принимает платежи и какие технические трудности могут попасться при разработке такого бота?

Добавить Комментарий