Пишу WhatsApp (дальше ВА) бота. Есть данные которые хранятся в БД. Понял как вывести данные с БД, но до конца не понимаю как из этих же данных формировать массив и вывести эти массивы. Прошу помочь.
<?php
class whatsAppBot
{
var $APIurl = '-----------';
var $token = '------------';
public function __construct()
{
$json = file_get_contents('php://input');
$decoded = json_decode($json, true);
ob_start();
var_dump($decoded);
$input = ob_get_contents();
ob_end_clean();
file_put_contents('input_requests.log', $input . PHP_EOL, FILE_APPEND);
if (isset($decoded['messages'])) {
foreach ($decoded['messages'] as $message) {
$text = explode(' ', trim($message['body']));
if (!$message['fromMe']) {
switch (mb_strtolower($text[0], 'UTF-8')) {
case 'hi'; case 'привет': {$this->welcome($message['chatId'],false); break;}
case '1'; case 'да': {$this->yes($message['chatId'],$message['senderName']); break;}
case '2'; case 'нет':{$this->not($message['chatId']); break;}
default: {$this->welcome($message['chatId'],true); break;}
}
}
}
}
}
public function welcome($chatId, $noWelcome = false)
{
$welcomeString = $noWelcome
? "Добрый день я WhatsApp бот такой такой компаний.\nЧерез меня можете сделать заказ с доставкой.\n\nПравила бота, пишите команды в чат чтобы переходить по ним.\nЖелаете сделать заказ?\n\n":"Бот для заказов\n\n";
$this->sendMessage($chatId,
$welcomeString.
"1 - Да (Перейти на меню)\n".
"2 - Нет (Обратиться в тех. поддержку)"
);
}
public function yes($chatId) //В ЭТОМ МОМЕНТЕ ДОЛЖНО ВЫХОДИТЬ МЕНЮ, КОТОРЫЙ ХРАНИТЬСЯ В БД.
{
$welcomeString = $noWelcome
? "Выберите:\n":"Все позиции из меню\n\n";
$this->sendMessage($chatId,
$welcomeString.
"1. Суши - 500 тг\n".
"2. Ролы - 400 тг\n".
"3. Бургер - 600 тг\n".
"4. Салат - 300 тг\n".
"5. Напиток - 200 тг\n"
);
}
public function not($chatId)
{
$welcomeString = $noWelcome
? "Выберите:\n":"Вы обратились в тех. поддержку\n\n";
$this->sendMessage($chatId,
$welcomeString.
"Позвонить - \n".
"Пожаловаться на качеству обслуживания"
);
}
public function sendMessage($chatId, $text)
{
$data = ['chatId' => $chatId, 'body' => $text];
$this->sendRequest('message', $data);
}
public function sendRequest($method, $data)
{
$url = $this->APIurl . $method . '?token=' . $this->token;
if (is_array($data)) {
$data = json_encode($data);
}
$options = stream_context_create([
'http' => [
'method' => 'POST',
'header' => 'Content-type: application/json',
'content' => $data,
],
]);
$response = file_get_contents($url, false, $options);
file_put_contents('requests.log', $response . PHP_EOL, FILE_APPEND);
}
}
new whatsAppBot();
?>