Создание Telegram бота на PHP #8: рекомендации по проектированию ботов и ответы на вопросы

Поделиться
HTML-код
  • Опубликовано: 14 ноя 2023
  • ВАЖНЫЕ МОМЕНТЫ:
    Какой хостинг или сервер выбрать для бота - 00:52
    Как идентифицировать запросы от Telegram бота - 04:46
    Какие типы запросов могут приходить от Telegram боат - 07:24
    Логирование запросов от Telegram бота - 09:35
    Использование Postman в разработке Telegram ботов - 11:20
    Упрощённая версия PHP класса для отправки запросов в Telegram - 13:38
    На каком языке программирования лучше разрабатывать Telegram боты - 16:28
    Бот не отлавливаем сообщения от клиентов - 18:35
    Можно ли использовать SDK для разработки Telegram ботов - 21:28
    ВСЕ ССЫЛКИ:
    Хостинг который я использую - beget.com/p658517
    Prog-Time - prog-time.ru/
    Курс по разработке ботов для Telegram - prog-time.ru/course_cat/teleg...
    Telegram - t.me/prog_time_bot
    ВКонтакте - progtime
    НАШИ ПРОЕКТЫ:
    One-Chat - one-chat.ru/
    Техническая поддержка One-Chat - t.me/one_chat_manager_bot

Комментарии • 33

  • @ProgTime
    @ProgTime  2 месяца назад

    Спасибо за просмотр! Пишите по всем вопросам, буду рад помочь!
    Важные ссылки:
    Курс по разработке бота - prog-time.ru/course_cat/telegram-bot-basic/
    Prog-Time - prog-time.ru/
    Telegram - t.me/prog_time_bot
    ВКонтакте - vk.com/progtime

  • @_CABi_A
    @_CABi_A 2 месяца назад +2

    Вопрос по многопоточности. Если в Боте присутствует долгая функция (например, обращение к нейросети и ожидание ответа), то по мере обращения разных пользователей к боту, как предотвратить затупы бота?

    • @ProgTime
      @ProgTime  2 месяца назад

      Есть несколько вариантов:
      - можно использовать Rabit MQ для настройки системы очередей
      - можно использовать хуки, если есть такая функция у нейросети

    • @_CABi_A
      @_CABi_A Месяц назад

      Было бы интересно посмотреть подробнее об этом

  • @Alex_Pav0208
    @Alex_Pav0208 7 месяцев назад

    Благодарю за классный материал, было бы интересно посмотреть видео Hestia cp

    • @ProgTime
      @ProgTime  7 месяцев назад +1

      Текст подготовил, на неделе постараюсь записать видео

    • @Alex_Pav0208
      @Alex_Pav0208 7 месяцев назад

      @@ProgTime я только учусь и мне было интересно про все это узнать, как настроить, как заливать фалы на сервер и тд. Спасибо большое за предоставленный материал

    • @ProgTime
      @ProgTime  7 месяцев назад +1

      Залил видео по Hestia CP - ruclips.net/video/WK6PClrEBm4/видео.html

    • @Alex_Pav0208
      @Alex_Pav0208 7 месяцев назад

      @@ProgTime большое спасибо

  • @XSelent-qj6qz
    @XSelent-qj6qz 4 месяца назад

    Привет! Будь добр, скажи пожалуйста как на php реализовать функционал машины состояния (FSM)?

  • @_slash_-
    @_slash_- 7 месяцев назад

    Сделал интернет -магазин себе на php и js, но вот никак не пойму, как реализовать при оплате доставку с пересчетом суммы. Адрес подключается легко методом need_shipping_address. Чаевые вроде тоже не сложно.А вот чтобы с пересчетом суммы при доставке не пойму никак

  • @petroboyko
    @petroboyko 7 месяцев назад

    Всем привет каким образом записать или как правильно обяснить когда в бот пишут какой нибудь вопрос и как его сохранить или записать и передать владельцу... вот пишу боту бот отвечает что незнает ответа а как мой вопрос сохранить или записать его чтоб отправить владельцу сообщение с вопросом

  • @coal-zi5tn
    @coal-zi5tn Месяц назад

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

    • @ProgTime
      @ProgTime  Месяц назад

      Простого способа нет! Можно зафиксировать ID сообщения в БД и с помощью крона удалить сообщение в определённый момент

  • @LaMo3aBp
    @LaMo3aBp 7 месяцев назад

    подскажите пожалуйста как можно сохранить номер телефона пользователя в переменную или в базу? допустим пользователь делится контактом по кнопке с "'request_contact' => TRUE", а как его потом получить и запихнуть в базу не могу сообразить
    Заранее благодарю за ответ!

    • @ProgTime
      @ProgTime  7 месяцев назад

      Я лично с этим не сталкивался, но если тебе приходит ответ, ты можешь распарсить объект ответа и вынести телефон в переменную. Далее используя PDO подключиться к БД (предварительно создав базу и таблицы с полями) и занести в неё информацию.

  • @indi6277
    @indi6277 6 месяцев назад

    Надеюсь что получу ответ.
    Гуглил не нашел. Дело такое, написал бота, примитивный, отвечает по сценариям. НО, если я отредактирую свое сообщение(уже отправленное), бот банится, "status":"kicked".
    С чем это связано, как пофиксить? помогите...

    • @ProgTime
      @ProgTime  6 месяцев назад

      Нужна более подробная информация + желательно показать код

    • @indi6277
      @indi6277 6 месяцев назад

      @@ProgTime Спасибо за ответ, за попытку помочь.
      Наверное я разобрался, но еще буду тестить. В чем было дело. Я прикрутил вебхук к действующему проекту на Laravel, json от ТГ я преобразую в коллекцию и уже с ней работаю дальше. После редактирования сообщения в чате ТГ, json меняет структуру и приходит не "message", а "edited_message", в результате этого, ну и моего кода, Laravel выбрасывал ошибку "Call to a member function get() on null". Так как я все сразу делал на хостинге, локально же не потестишь, ошибку не видел. Но интересно что по итогу ТГ получал эту ошибку как ответ и банил бота, может не с первого раза, но все таки.
      PS Еще раз спасибо за помощь.

  • @ivanandreevich5159
    @ivanandreevich5159 7 месяцев назад

    сервер - мак мини и статик айпи за 100 руб + самоподписанный сертификат.

    • @ProgTime
      @ProgTime  7 месяцев назад

      Не советую!
      Минусы:
      - сам "мак мини" сейчас стоит 68 тыс. + тяжело масштабировать, для улучшения нужно покупать новое оборудование
      - нужно следить за стабильной работой (интернет, перебои со светом, физические повреждения)
      - для правильной настройки нужно обладать большими знаниями, чем я показал в видео
      Идея не плохая, но мароки много!

    • @ivanandreevich5159
      @ivanandreevich5159 7 месяцев назад

      @@ProgTime 2010х годов стоит копейки. а 68 это на м2 чипе и на него ubuntu server не поставить.

  • @ivanandreevich5159
    @ivanandreevich5159 7 месяцев назад

    в качестве адреса вебхука используют токен.

    • @ProgTime
      @ProgTime  7 месяцев назад

      Это как? Вот я например знаю адрес твоего обработчика (например bot.php) и отправляю на него данные похожие на запрос от бота. Как ты проверишь, что я не бот?

    • @ivanandreevich5159
      @ivanandreevich5159 7 месяцев назад

      @@ProgTime если вы знаете адрес моего обработчика то вы знаете мой токен. но тогда чего стоит мой токен?

    • @ProgTime
      @ProgTime  7 месяцев назад

      Нет, это не так. Если я знаю путь до скрипта, это не значит что я знаю его код, соответственно я не знаю токен прописанный в скрипте.

    • @ivanandreevich5159
      @ivanandreevich5159 7 месяцев назад

      @@ProgTime да как же вы его узнаете то?

    • @ProgTime
      @ProgTime  7 месяцев назад

      например автоподбором. Как по по вашему подбирают пароли и взламывают аккаунты?