hasTurnText()) return 'Not shown: buttons need a visible sentence above them. First write the reply text (question or offer) as a normal assistant message, then call chat_buttons again.'; $i = $oChat->setPendingChatActions(is_array($buttons) ? $buttons : []); return $i > 0 ? 'Buttons are already under your last sentence. Do not send another assistant message this turn. Wait for the user to tap a button.' : 'ignored'; } }