PHP
Вопрос к PHP-программистам и людям с опытом создания telegram-ботов. Спасибо заранее!
Взял заказ, суть которого состоит в том чтобы создать скрипт на php под тг-бота, в котором юзер отправляет ему фото, бот в свою очередь делает запрос на сайт по обработке фото, а затем возвращает в чат готовый результат. Реализовать нужно через класс и методы. С этим разобрался. Вопрос вот в чем.. Точнее, их три. Первый - на сайте фильтров штук 50, обязательно ли под каждый из них писать отдельную функцию или же это будет существенно тормозить скрипт? Второй - как реализовать сам запрос и возвращение - функции, нужна ли для этого БД? Ну и, собственно, третий - как все это дело тестить на локалхосте?
1) Я так понимаю под каждый фильтр требуется свой код обработки? Тогда придется писать 50 функций. Тормозить не будет, они же не выполняются одновременно, в крупных CMS сотни функций и ничего страшного. Но посмотрите, возможно получится объединить схожие фильтры в одну функцию, если конечно есть смысл.
2) БД не нужна, если не собираетесь хранить историю запросов или делать в боте какие-то индивидуальные настройки для каждого пользователя.
Как реализовать - либо использовать готовые библиотеки для работы с ботом, либо написать свой код, там на самом деле просто: бот отправляет запрос вашему скрипту (адрес указываете в настройках бота), получаете запрос, разбиваете на части через json_decode(), берете ID фото (если не ошибаюсь ['message']['photo']['file_id']) и скачиваете с сервера Telegram. Для отправки фото посылаете запрос боту через curl, указав либо ссылку на фото, либо отправив данные в виде multipart/form-data.
Только вы наверное знаете, что Telegram позволяет отправить фото как фото или как файл, думаю есть отличия в запросах, не смотрел. Короче вот документация https://core.telegram.org/bots/api, вот пример evilcoder.ru/telegram-bot-bez-storonnih-bibliotek
3) Полноценный тест (с приемом/отправкой запросов боту) на локалхосте сделать проблемно, ведь боту нужно знать ссылку на скрипт. Наверное есть решения (DDNS-сервисы или еще что), но я бы на вашем месте тестировал на хостинге, если месяца хватит выбор большой
2) БД не нужна, если не собираетесь хранить историю запросов или делать в боте какие-то индивидуальные настройки для каждого пользователя.
Как реализовать - либо использовать готовые библиотеки для работы с ботом, либо написать свой код, там на самом деле просто: бот отправляет запрос вашему скрипту (адрес указываете в настройках бота), получаете запрос, разбиваете на части через json_decode(), берете ID фото (если не ошибаюсь ['message']['photo']['file_id']) и скачиваете с сервера Telegram. Для отправки фото посылаете запрос боту через curl, указав либо ссылку на фото, либо отправив данные в виде multipart/form-data.
Только вы наверное знаете, что Telegram позволяет отправить фото как фото или как файл, думаю есть отличия в запросах, не смотрел. Короче вот документация https://core.telegram.org/bots/api, вот пример evilcoder.ru/telegram-bot-bez-storonnih-bibliotek
3) Полноценный тест (с приемом/отправкой запросов боту) на локалхосте сделать проблемно, ведь боту нужно знать ссылку на скрипт. Наверное есть решения (DDNS-сервисы или еще что), но я бы на вашем месте тестировал на хостинге, если месяца хватит выбор большой
"Первый - на сайте фильтров штук 50, обязательно ли под каждый из них писать отдельную функцию" зависит от ТЗ
"Второй - как реализовать сам запрос и возвращение - функции" зависит от того как это реализовано со стороны сайта. Возможно, достаточно простого POST запроса.
"третий - как все это дело тестить на локалхосте?" не вижу проблемы... Нынче телеграмм разблочили, используйте денвера или опенсервера и будет вам счастье
"Второй - как реализовать сам запрос и возвращение - функции" зависит от того как это реализовано со стороны сайта. Возможно, достаточно простого POST запроса.
"третий - как все это дело тестить на локалхосте?" не вижу проблемы... Нынче телеграмм разблочили, используйте денвера или опенсервера и будет вам счастье
1) Спроси у заказчика чего он хочет
2) Делаешь запрос (file_get_contents, cUrl...) получаешь ответ и делаешь с ним то, чего хочет заказчик (отправляешь в сообщении; сохраняешь в базу, если надо)
3) Формируешь запрос как его будет формировать ТГ и тестируешь
P.s у меня только один вопрос, как ты получил заказ, если даже такие простые вещи спрашиваешь?
2) Делаешь запрос (file_get_contents, cUrl...) получаешь ответ и делаешь с ним то, чего хочет заказчик (отправляешь в сообщении; сохраняешь в базу, если надо)
3) Формируешь запрос как его будет формировать ТГ и тестируешь
P.s у меня только один вопрос, как ты получил заказ, если даже такие простые вещи спрашиваешь?
Андрей Попов
заказ получить ооочень просто, сбросив цену по-сравн. с реальными профи, кто на 3 копейки не будет даже читать тот "заказ"...
Лучше питон. Он легче. Скок тебе заплатят, если сделаешь?
Иван Лебедев
Я пробовал переубедить заказчика писать на питоне, говорит мол нет - только php. Ну, дело его.
Похожие вопросы
- Как стать высококвалифицированным php программистом?
- Хочу работать php программистом. Но как узнать - готов я или нет? На php же можно очень много написать, в отличие от JS.
- Как вы думаете Сколько платят программисту без стажа? Допустим PHP программист
- Зачем PHP-программисту нужно знать JavaScript?
- Вопрос по PHP фреймворкам
- Добрый день, у меня вопрос по php
- Вопрос по PHP, связанный с локальным хостом.
- Вопрос начинающего программиста Python\PHP
- КАК СДЕЛАТЬ БОТА (НЕ СПАМ ) С ПОМОЩЬЮ PHP Devel Studio 2.0 !?
- Почему боты обходят обработчик PHP