Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2020, 14:21   #11
arriah
Пользователь
 
Регистрация: 09.08.2015
Сообщений: 62
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
Для начала покажите свой код вывода кнопок и код отработки их нажатич
Вот примерно так:
Код:
$mcp =array ('Школа','Дет.Сад','МАУДО','ГКО');

$keyboard = new Keyboard();

$kb_time = $keyboard->make(['resize_keyboard'=>true])
    ->row (
        $keyboard->button(['text'=>'1 час']),
        $keyboard->button(['text'=>'2 часа']),
        $keyboard->button(['text'=>'3 часа'])
    )
    ->row (    
        $keyboard->button(['text'=>'/start'])
    );

$kb_mcp = '{"resize_keyboard":true,"keyboard":[[';

for ($i = 0; $i <= 3; $i++){
    $kb = '{"text":"'.$mcp[$i].'"}';
    if ($i<3){
        $kb=$kb.",";
    } 
    $kb_mcp = $kb_mcp.$kb;

};

$kb_mcp = $kb_mcp.'],[{"text":"/start"}]]}';

if ($text=="/start"){
    $telegram->sendMessage
        ([
            'chat_id'=>$chat_id,
            'text' => 'Укажите объект:',
            'reply_markup'=>$kb_mcp
        ]); 
} 

if ($text){

    for ($i = 0; $i <= 3; $i++){
        if ($mcp[$i]==$text) {
            $obj = $text;
        }
    }

    if ($text==$obj) {
        $telegram->sendMessage
        ([
            'chat_id'=>$chat_id,
            'text' => 'Все заявки по объекту: '.$obj . " за",
            'reply_markup'=>$kb_time
        ]); 
    } 
    
    if ($text=='1 час') {
        $telegram->sendMessage
        ([
            'chat_id'=>$chat_id,
            'text' => 'Все заявки по объекту: '.$obj . " за" .$text,
            'reply_markup'=>$kb_time
        ]); 
    } 
    
}
И вот надо определить Кой объект выбран, какое время выбрано.
И исходя из этого поучить количество заявок по объекту,
При if ($text=='1 час') в переменной $obj почему-то ничего нет ...

массив $mcp в примере указан заполненный. На самом деле там может быть от 1 до 8 элементов с разными названиями объектов
Завидую крокодилам! Они даже ходят лежа!

Последний раз редактировалось arriah; 17.10.2020 в 14:26.
arriah вне форума Ответить с цитированием
Старый 17.10.2020, 14:57   #12
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Ну это же какая то библиотека используется, почитайте про нее или посмотрите код, что там и как, какие параметры.
Наверняка кроме text' => 'ваш текст' , есть какое нибудь свойство value или ещё чего..
ADSoft вне форума Ответить с цитированием
Старый 17.10.2020, 15:05   #13
arriah
Пользователь
 
Регистрация: 09.08.2015
Сообщений: 62
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
Ну это же какая то библиотека используется, почитайте про нее или посмотрите код, что там и как, какие параметры.
Наверняка кроме text' => 'ваш текст' , есть какое нибудь свойство value или ещё чего..
Там нет ничего, используется метод sendMessage из API Telegram
В интернетах читал что отслеживать в каком меню находится пользователь можно через промежуточные данные, поэтому пока склоняюсь к одному - использовать БД, записывать туда все нажатия кнопок пользователя, ну а потом уже обрабатывать.

Мне не понятно другое. Находясь в первом меню переменная obj получает значение при нажатии на кнопку. А почему в этой переменной нет ничего, если нажать кнопку из субменю?
По логике вещей - она же установлена?
просто в php я не так сильно разбираюсь. Можно было написать десктопное приложение для данной задачи, но нет, нужен телеграм...
Завидую крокодилам! Они даже ходят лежа!
arriah вне форума Ответить с цитированием
Старый 17.10.2020, 16:42   #14
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Удивлю может, но и $keyboard и его свойств и объекты button это все из библиотеки, в php нет такого родного
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Python и телеграм бот arriah Python 0 29.09.2020 00:09
Нужен парсер для Телеграмм Dmitriy123RUS Фриланс 0 22.09.2018 19:29
Простой телеграмм бот DKENT PHP 0 06.09.2018 14:37
Нужен простой андройд софт для автоматического вступления в чаты Телеграмм pwn2008 Фриланс 1 24.04.2018 21:08
proxy для телеграмм anonimus2014 Безопасность, Шифрование 0 26.10.2017 22:47