Jump to content

sergeevizh

Пользователь
  • Content Count

    378
  • Joined

About sergeevizh

  • Birthday 09/21/1992

Контактная информация

Информация о вас

  • Фриланс
    Программирование
    Верстка
    Заказчик
    Пользователь
  • Версия CMS
    2.x
  • From
    Москва

Recent Profile Visitors

1938 profile views
  1. Вопрос решили, дело было в форме которая не отправляла токен.
  2. Я сейчас сделал проще, на основе api/UsersTelegram.php Добавил в api/Simpla.php класс 'telegram' => 'UsersTelegram' Потом в api/UsersTelegram.php после функции addUser дбавил //SEND public function sendBroadcast($message) { // Получаем всех подписчиков из базы данных $subscribers = $this->getSubscribers(); foreach ($subscribers as $subscriber) { $chatId = $subscriber->telegram_id; $postFields = [ 'chat_id' => $chatId, 'text' => $message ]; // Отправляем сообщение пользователю $this->botApiQuery("sendMessage", $postFields);
  3. Чтобы правильно ответить, нужно понять какие правила у вас уже указаны. Правило которое вы указали выше можно сократить в 2 строчки. Приложите свой файл .htaccess
  4. так не работает, нужно не создавать плагин в Smarty, а прописать функцию в api/Design.php по аналогии time_modifier
  5. Ну как-то так: 1. в корень кидаем webHook.php <?php // определим кодировку UTF-8 header("HTTP/1.1 200 OK"); header('Content-type: text/html; charset=utf-8'); // подключаем класс авторизации require_once("api/UsersTelegram.php"); // создаем объект авторизации $auth = new UsersTelegram(); // запускаем $auth->init(); ?> 2. Нужно зарегистрировать WebHook https://api.telegram.org/botВАШ_ТОКЕН/setwebhook?url=https://ВАШ_ДОМЕН/webHook.php 3. в api/UsersTelegram.php <?php require_once('Simpla.php'); class UsersTelegram extends Simpla { // Токен API BOT
  6. Все верно, ключ нужен только для проверки, что пользователь есть в базе и авторизовать его.
  7. В api/Users.php нужно добавить только новые поля где будут данные из Телеграмм, для вывода их пользователю и больше эту модель трогать не нужно. Для реализации вашей идеи вот ссылка https://imakebots.ru/article/avtorizaciya-na-sayt-cherez-telegram-bez-ispolzovaniya-oficialnogo-vidzheta Сделайте для начала как написано, потом по аналогии для Simpla. Сразу напишу, для вхождения у вас должно быть: 1. site.ru/bot.php - webhook 2. site.ru/api/UsersTelegram.php - данные из webhook больше ничего не нужно.
  8. api/Users.php нужен только для вывода данный в профиле пользователя или в админке. api/UsersTelegram.php нужен для фильтрации данных, проверки и записи данных пользователя из Телеграмм.
  9. Конечно, вебхук нужен обязательно. Логика должна быть такая: 1. Вебхук получает данные из бота 2. Отправляет данные в api/UsersTelegram.php 3. В api/UsersTelegram.php проверяем, что была нажата кнопка «/start», если что-то другое, то молчим. После фильтра берем из ответа Id пользователя и проверяем есть ли запись о нем. Если есть, отправляем пользователю сообщение «Ваши данные уже есть в базе», а если записи нет, то записываем в базу и отправляем сообщение «Спасибо, ваши данные добавлены».
  10. Откуда взялся, понятное дело, скопирован класс api/Users.php без изменения кода под задачу. Я вот спрашиваю код вебхука у ТС, чтобы понять, есть у него проверка ответа бота на нажатие кнопки «/start» или по барабану, чтобы пользователь не прислал будет новая запись в базу.
  11. Для авторизации и регистрации есть официальный виджет от Telegram https://core.telegram.org/widgets/login На счет кода, нужен webhook который будет получать команды от бота и в зависимости от пришедших данных решать, что ему делать. Записать данные пользователя: имя, аватар, телефон. И в ответ отправить ссылку для авторизации с записью кук в браузер.
  12. вью трогать не нужно, выше код для api/Products.php раздел add_product. url нужно создавать только в момент добавления товара, то есть в модели, а во вью нужно его только выводить. В случае, если нужно для товара задать уникальный url в модели есть проверка, если url пустой задать уникальный url, а если мы задали свой, то его и присвоить.
  13. if(empty($product['url'])) { $product['url'] = substr(md5(time()), 0, 10); } else { $product['url'] = $product['url']; }
×
×
  • Create New...