-
Новые сообщения
-
Вопрос решили, дело было в форме которая не отправляла токен.
-
1 минуту назад, founder сказал:
Спасибо! Ошибок нет.
Теперь хочу сделать отправку через форму в админке
В simpla/SubscribeMailingAdmin.php добавляю:
if ($this->request->method('post') && $this->request->post('send_message')) { $message = $this->request->post('message'); if (!empty($message)) { $this->telegram->sendBroadcast($message); $this->design->assign('message_success', 'Сообщение успешно отправлено.'); } else { $this->design->assign('message_error', 'Сообщение не может быть пустым.'); } }
в а шаблоне форма:
<form method="post"> <label for="message">Сообщение:</label><br> <textarea id="message" name="message" rows="4" cols="50" required></textarea><br> <input type="submit" name="send_message" value="Отправить"> </form>
Но тогда сообщения не отправляются
Скиньте все файлы мне в ТГ в профиле есть
-
2 часа назад, sergeevizh сказал:
Я сейчас сделал проще, на основе 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); } } private function getSubscribers() { $query = $this->db->placehold("SELECT * FROM __users"); $this->db->query($query); return $this->db->results(); } //SEND END
Потом в функцию sendBroadcast отправляем любое сообщение, функция в getSubscribers собирает всех в таблице БД и отправляет им указанное сообщение.
Сообщения по базе отправляются.
Для проверки, создайте в корне сайта файл, TgTest.php с кодом
<? require_once('api/Simpla.php'); $simpla = new Simpla(); $message = "Какой-то текст"; $simpla->telegram->sendBroadcast($message);
Обратитесь к нему и отталкивайтесь от ошибок, если будут.
Спасибо! Ошибок нет.
Теперь хочу сделать отправку через форму в админке
В simpla/SubscribeMailingAdmin.php добавляю:
if ($this->request->method('post') && $this->request->post('send_message')) { $message = $this->request->post('message'); if (!empty($message)) { $this->telegram->sendBroadcast($message); $this->design->assign('message_success', 'Сообщение успешно отправлено.'); } else { $this->design->assign('message_error', 'Сообщение не может быть пустым.'); } }
в а шаблоне форма:
<form method="post"> <label for="message">Сообщение:</label><br> <textarea id="message" name="message" rows="4" cols="50" required></textarea><br> <input type="submit" name="send_message" value="Отправить"> </form>
Но тогда сообщения не отправляются
-
2 часа назад, founder сказал:
Alexivchenko, подскажите, пожалуйста, по рассылке.
нужно дописать код в api/UsersTelegram.php или можно обойтись только simpla/SubscribeMailingAdmin.php?
Я сейчас сделал проще, на основе 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); } } private function getSubscribers() { $query = $this->db->placehold("SELECT * FROM __users"); $this->db->query($query); return $this->db->results(); } //SEND END
Потом в функцию sendBroadcast отправляем любое сообщение, функция в getSubscribers собирает всех в таблице БД и отправляет им указанное сообщение.
Сообщения по базе отправляются.
Для проверки, создайте в корне сайта файл, TgTest.php с кодом
<? require_once('api/Simpla.php'); $simpla = new Simpla(); $message = "Какой-то текст"; $simpla->telegram->sendBroadcast($message);
Обратитесь к нему и отталкивайтесь от ошибок, если будут.
Edited by alexivchenko -
В 03.08.2024 в 16:49, alexivchenko сказал:
Все верно, ключ нужен только для проверки, что пользователь есть в базе и авторизовать его.
Alexivchenko, подскажите, пожалуйста, по рассылке.
нужно дописать код в api/UsersTelegram.php или можно обойтись только simpla/SubscribeMailingAdmin.php?
-
-
Новые темы
-
- 0 replies
- 1042 views
-
- 2 replies
- 999 views
-
Добавление/Регистрация пользователя из Telegram Bot 1 2
By get31, in Общие вопросы по функционалу и дизайну
- 31 replies
- 3326 views
-
- 1 reply
- 1515 views
-
Генерация и скачивание PDF на основе данных из карточки товара
By Chudo, in Общие вопросы по функционалу и дизайну
- 5 replies
- 1902 views
-
Forums
-
Simpla CMS
-
- 1.2k
- posts
-
- 534
- posts
-
- 60.7k
- posts
-
- 10.7k
- posts
-
- 6.8k
- posts
-
-
Дизайн и шаблоны
-
- 454
- posts
- Smartyflower
- By Noxter,
-
- 1.9k
- posts
-
-
Платные модули и услуги
-
- 4k
- posts
-
- 1.4k
- posts
-
- 510
- posts
- By Dmitry86,
-
-
Разное
-
- 447
- posts
-
- 309
- posts
-
- 143
- posts
-
-
Who's Online 0 Members, 0 Anonymous, 149 Guests (See full list)
There are no registered users currently online
-
Member Statistics