Приветствую! Прошу помощи в написании бота с целью принятия от пользователя логина и пароля, далее помещения этих данных в переменные и передачи в соответствующую функцию, которая свяжется с внешней системой JSONом
Бот использует webHook.
Столкнулся с проблемой, что переменные
$login
и
$password
не видны из разных
case
function processMessage($data){
$message = isset($data->message) ? $data->message : null;
$chat_id = isset($message->chat->id) ? $message->chat->id : null;
$text = isset($message->text) ? $message->text : null;
$user_id = isset($message->from->id) ? $message->from->id : null;
$status = getUserInfo($user_id, 'status');
$verified = getUserInfo($user_id,'verified');
switch ($text){
case '/start':
if ($verified == 0 && $status==0){ //Проверка на наличие связи user_id и внешней системы
send('sendMessage', array('chat_id'=>$chat_id, 'text'=>'Вы не зарегистрированный пользователь. Представьтесь, указав последовательно Логин и Пароль!'));
setStatus($user_id, 1); //waiting for login
}
}
switch ($status) {
case 1:
$login= $text; // Принимает и записывает логин
send('sendMessage', array('chat_id' => $chat_id, 'text' => 'Теперь укажите пароль'));
setStatus($user_id, 2); //waiting for password
break;
case 2:
$password = $text; // Принимает и записывает пароль
setStatus($chat_id, 3);
break;
case 3: //Использует логин и пароль. Связывается с внешней системой и в ответ получает массив
$result = getUserFromMapAdmin($login, $password); //Получить логин и пароль из прошлых case и передать в функию, которая вернет массив
break;
}
}
$data = json_decode(file_get_contents('php://input'));
processMessage($data);