Користувальницькькі налаштування

Налаштування сайту


wolfdispatcher

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
wolfdispatcher [2025/06/05 13:02]
nightfly
wolfdispatcher [2025/10/23 00:35] (поточний)
nightfly
Рядок 250: Рядок 250:
  // виконується як реакція на будь-яке повідомлення взагалі завжди  // виконується як реакція на будь-яке повідомлення взагалі завжди
  $this->handleAnyWay();  $this->handleAnyWay();
 +
 +//виконується як реакція, на будь-який вхідний callback query (навіть якщо немає методу вказаного в setCallbackQueryHandler)
 +$this->handleCallbackQuery();
 </code> </code>
  
Рядок 476: Рядок 479:
   $buttons[] =array('Кнопка 3','Кнопка 4');   $buttons[] =array('Кнопка 3','Кнопка 4');
      
-  $this->castKeyboard($buttons, 'Що робимо далі?'));+  $this->castKeyboard($buttons, 'Що робимо далі?');
 </code> </code>
 +
 +
 +Також вам не обов'язково самому брутально розставляти всі кнопочки вручну. Можна додати їх всі їх послідовно в плоский масив, та автоматично розташувати по скільки треба в рядок
 +
 +<code php>
 +  $buttons[] = 'Кнопка 1';
 +  $buttons[] = 'Кнопка 2'
 +  $buttons[] = 'Кнопка 3';
 +  $buttons[] = 'Кнопка 3';
 +  
 +  $buttons=$this->rearrangeButtons($buttons, 2); // так, не більше двох на рядок
 +  $this->castKeyboard($buttons, 'Що робимо далі?'); 
 +</code>
 +
 +дасть ідентичний результат
 +
 +
 +Точно та сама механіка, що для кастомних користувацьких клавіатур використовується і для інлайнових, вбудованих в повідомлення. До прикладу:
 +
 +<code php>
 +        $buttonsArray[] = array('text' => 'Google', 'url' => 'https://www.google.com');
 +        $buttonsArray[] = array('text' => 'Facebook', 'url' => 'https://www.facebook.com');
 +        $buttonsArray=$this->rearrangeButtons($buttonsArray, 2);
 +        $this->castKeyboard($buttonsArray,'Wow',true); // так, третім параметром тут йде флаг інлайновості
 +</code>
 +
 +або з callback query
 +<code php>
 +        $buttonsArray = array();
 +        $buttonsArray[] = array('text' => 'button name1', 'callback_data' => 'cb1');
 +        $buttonsArray[] = array('text' => 'button name2', 'callback_data' => 'cb2');
 +        $buttonsArray[] = array('text' => 'button name3', 'callback_data' => 'cb3');
 +        $buttonsArray[] = array('text' => 'button name4', 'callback_data' => 'cb4');
 +
 +        $buttonsArray=$this->rearrangeButtons($buttonsArray, 2);
 +        $this->castKeyboard($buttonsArray,'Awesome',true);
 +</code>
 +
 +
 +при обробці коллбеків, за допомогою методів вказаних через setCallbackQueryHandler() або за допомогою магічного handleCallbackQuery() не забуваємо відповідати підтвердженням, що ми отримали коллбек за допомогою confirmCallbackQuery
 +
 +<code php>
 +$this->confirmCallbackQuery('perfect! ' . $this->receivedData['callback_query']['data'], false);
 +</code>
 +
 ====== Про складне ====== ====== Про складне ======
  
wolfdispatcher.1749117720.txt.gz · Востаннє змінено: 2025/06/05 13:02 повз nightfly