Есть код, нужна критика и советы по улучшению моего "говно кода"...
Это код для бота ВК.Суть: автоответ на вопросы пользователей
Сам код
bot.php<?php
require 'config.php';
$data = json_decode(file_get_contents('php://input'));
if(!isset($data)) exit;
if(strcmp($data->secret, VK_SECRET_KEY) !== 0 && strcmp($data->type, VK_TYPE_CONFIRMATION) !== 0) return;
/*
* __init__
*/
switch ($data->type) {
case VK_TYPE_CONFIRMATION:
echo VK_CONFIRMATION_TOKEN;
break;
case VK_TYPE_NEW_MESSAGE:
$GROUP_ID = $data->group_id;
$USER_ID = $data->object->user_id;
$PEER_ID = $data->object->peer_id;
$RANDOM_ID = $data->object->random_id;
$USER_TEXT = mb_strtolower($data->object->text);
$USER_INFO = json_decode(file_get_contents('https://api.vk.com/method/users.get?user_ids='.$USER_ID.'&access_token='.VK_TOKEN.'&v='.VK_API_VERSION.''));
$USER_NAME = $USER_INFO->response[0]->first_name;
$BOT_ANSWER = 'Бот не нашёл ответа на ваш вопрос!';
$BOT_COMMANDS = [
'!{user_name}' => $USER_NAME,
'!{bot_name}' => BOT_NAME,
'!{bot_version}' => BOT_VERSION
];
foreach ($VK_CONFIG_FAQ as $k => $v) {
$res = strpos(mb_strtolower($k), mb_strtolower($USER_TEXT));
if($res !== false){
$BOT_ANSWER = $v[array_rand($v)];
}
}
if($BOT_ANSWER != 'Бот не нашёл ответа на ваш вопрос!' and strpos($BOT_ANSWER, '!{') != false){
foreach ($BOT_COMMANDS as $command => $val) {
$BOT_ANSWER = str_replace($command, $val, $BOT_ANSWER);
}
}
$params = http_build_query([
'message' => $BOT_ANSWER,
'peer_id' => $PEER_ID,
'user_id' => $USER_ID,
'random_id' => $RANDOM_ID,
'access_token' => VK_TOKEN,
'v' => VK_API_VERSION
]);
file_get_contents('https://api.vk.com/method/messages.send?' . $params);
echo 'ok';
break;
}
config.php// TYPES
define('VK_TYPE_CONFIRMATION', 'confirmation');
define('VK_TYPE_NEW_MESSAGE', 'message_new');
// BOT PARAMS
define('BOT_NAME', 'NameBot');
define('BOT_VERSION', '0.0.1');
// FAQ
$VK_CONFIG_FAQ = [
'Привет | Hi' => [
'Привет, !{user_name}!!!! Тебя приветствует бот !{bot_name} версии !{bot_version}',
'Опять вы.... Ну, hi....'
],
];