use test1;
SELECT `firstname`,
`middlname`,
`lastname`,
`age`,
`phone1`,
`phone2`,
`town`,
`desired_profession`,
`email1`
`id`,
`payment`,
`type_of_work`,
`place_of_work`,
`pol`,
`birthmonth`,
`birthyear`,
`maritalstatus`,
`children`,
`dop`,
`best`,
`driving_licence`,
`education`,
`region`
FROM profil
WHERE
concat ('table.first,' ', table.lastname,' ', table.middlname') IN ('Рыбаков Дмитрий Витальеви', 'Рогов дмитрий валерьевич')
<?php
namespace app\controllers;
use Yii;
use yii\web\Controller;
use yii\web\Response;
use app\models\Config;
use app\models\Transaction;
use tsybenko\tgbot\TelegramBot;
class ApiController extends Controller
{
public $defaultAction = 'hook';
public function actionHook() {
/**
* Запрашивает состояние кошелька пользователя по $id.
*/
function getUserAmount($id) {
return Transaction::getUserWalletAmount($id);
}
/**
* Выборка последнего конфига из БД.
*/
$config = Config::find()->orderBy(['id' => 'DESC'])->limit(1)->one();
/**
* Принимает входящие данные от Телеграм.
*/
$data = json_decode(file_get_contents('php://input'));
// $f = fopen('../runtime/logs/telegram.log', 'a');
// fwrite($f, $data);
// fclose($f);
/**
* Если на скрипт пришли данные - выполняем блок действий.
*/
if (!empty($data)) {
$messageObj = $data->{'message'};
$message = [
'type' => $messageObj->{'entities'}[0]->{'type'},
'text' => $messageObj->{'text'},
'from' => $messageObj->{'from'}
];
$callbackObj = $data->{'callback_query'};
$callback = [
'id' => $callbackObj->{'id'},
'data' => $callbackObj->{'data'}
];
/**
* Создаем екземпляр класса TelegramBot передавая в качестве параметра token Telegram бота
*/
$bot = new TelegramBot($config['bot_token']);
/**
* Если запрос комманды '/start' или текст 'Старт'
*/
if ($message['text'] == '/start' || $message['text'] == 'Старт') {
$text = urlencode('Добро пожаловать, <b>' . $message['from']->{'first_name'} . '</b>!'."\n\nИстория заказов - /orders\nКошелек - /wallet\nКаталог - /catalogue\nО сервисе - /about\n\nВыберите из списка или воспользуйтесь клавиатурой");
$keyboard = json_encode([
'keyboard' => [
["\xF0\x9F\x92\xBC Кошелек", "\xF0\x9F\x93\x9D История заказов"],
["\xF0\x9F\x92\xBB Каталог"],
["\xF0\x9F\x9A\x80 О сервисе"]
],
'resize_keyboard' => true
]);
$bot->sendKeyboardMessage($message['from']->{'id'}, $text, 'HTML', $keyboard);
}
/**
* Если запрос комманды '/wallet' или текст 'Кошелек'
*/
if ($message['text'] == '/wallet' || $message['text'] == 'Кошелек' || $message['text'] == "\xF0\x9F\x92\xBC Кошелек") {
$text = $wallet['wallet'] == '0'
? urlencode("У Вас пока нет кэшбэка")
: urlencode("Ваш кэшбек: <b>".getUserAmount($message['from']->{'id'})."</b>");
$keyboard = json_encode([
'inline_keyboard' => [
[['text' => 'Вывести', 'callback_data' => 'cashbackGet']]
]
]);
// $bot->sendMessage($message['from']->{'id'}, $text);
if($wallet['wallet'] == '0') {
$bot->sendMessage($message['from']->{'id'}, $text);
} else {
$bot->sendKeyboardMessage($message['from']->{'id'}, $text, 'HTML', $keyboard);
}
}
/**
* Если запрос комманды '/orders' или текст 'История заказов'
*/
if ($message['text'] == '/orders' || $message['text'] == 'История заказов' || $message['text'] == "\xF0\x9F\x93\x9D История заказов") {
for ($i = 0; $i < count($orders); $i++) {
$str .= ($i+1) .'. '. $orders[$i]['title'] . "\n";
}
$text = urlencode("На <b>". date('d.m.y') ."</b> Вами произведены следующие заказы:\n".$str);
$bot->sendMessage($message['from']->{'id'}, $text);
}
/**
* Если запрос комманды '/about' или текст 'О сервисе'
*/
if ($message['text'] == '/about' || $message['text'] == 'О сервисе' || $message['text'] == "\xF0\x9F\x9A\x80 О сервисе") {
$text = urlencode($config['about']);
$bot->sendMessage($message['from']->{'id'}, $text);
}
/**
* Если запрос комманды '/catalogue' или текст 'Каталог'
*/
if ($message['text'] == '/catalogue' || $message['text'] == 'Каталог' || $message['text'] == "\xF0\x9F\x92\xBB Каталог") {
$text = urlencode($config['catalogue_url']);
$bot->sendMessage($message['from']->{'id'}, $text);
}
/**
* Если пришел callback с кнопки 'Вывести'
* Выполняем обработку и возвращаем пользователю текст.
*/
if (!empty($callback['data'])) {
$bot->answerCallbackQuery($callback['id'], 'Отправлено на обработку');
// $bot->sendMessage($message['from']->{'id'}, 'Отправлено на обработку');
}
// if ($callback['data'] == 'cashbackGet') {
// // $bot->sendMessage($message['from']->{'id'}, 'Отправлено на обработку');
// $bot->editMessageText($messageObj->{'chat'}->{'id'}, ($messageObj->{'message_id'}-2), 'Отправлено на обработку');
// }
// $bot->editMessageText($messageObj->{'chat'}->{'id'}, $messageObj->{'message_id'}, 'Отправлено на обработку');
}
}
}