1) Нам нужен локальный сервер типо денвера или open server, или если у вас есть сервак, можете ставить туда, особо разницы нет.
2) Создали домен в локальном сервере, проверили, если все ок, продолжаем.
3) Создаем в этой папке файл core.php .Это будет как бы ядро, основа бота с основным функционалом. В файл помещаем следующий код:
С данным куском кода закончили. Далее подключаем базу
Создаем файл stream.sql и помещаем туда такой код
2 способ - CRON . Если у вас сервер, можете через cron задать выполнение файла core.php раз в 5 секунд допустим.
3 способ - делфи. кидаем на форму браузер и через него уже открываем файл index.php. есть еще другой способ, но сложнее немного.
Теперь запускаем нашего бота и пишем ему сообщение, в котором есть "привет". Если ответил тогда все супер, я вас поздравляю, вы написали своего личного бота для вк.
2) Создали домен в локальном сервере, проверили, если все ок, продолжаем.
3) Создаем в этой папке файл core.php .Это будет как бы ядро, основа бота с основным функционалом. В файл помещаем следующий код:
Код:
<?
$db = mysql_connect("localhost", "stream", "stream") or die("Ошибка"); тут надо вписать данные для входа в базу вот так - хост , логин, пароль
mysql_select_db("stream", $db); //тут не трогать
// тут мы подключаемся к базе данных.
$token = '';
// тут нам нужно указать токен. как получить напишу ниже.
$request = file_get_contents("https://api.vk.com/method/messages.get?out=0&offset=0&filtres=0&last_message_id=0&count=10&v=5.34&access_token=".$token."");
//отправляем запрос на сервер вконтакта и получаем ответ
echo $request; // тут мы выводим ответ
$result = json_decode($request);
// в ответе мы получили json , нам нужно его декодировать
for($i=0;$i<=10;$i++) {
// тут мы создаем цикл. больше 10 ставить не надо, слишком долго грузить будет
$message = $result->response->items[$i]->body;
$user_id = $result->response->items[$i]->user_id;
$id = $result->response->items[$i]->id;
$chat_id = $result->response->items[$i]->chat_id;
//в данном куске кода мы получаем тело сообщения, ид пользователя, ид сообщения и ид чата, если написали в чате
$word = '/((П|п)ривет)/i';
if(preg_match($word, $message) == TRUE) { //ищем слово привет в нашем сообщениие
$text = array('Привет', 'Хай', 'Хаюшки', 'Ку'); //набор ответов
$rand = rand(0,3);
$text = $text[$rand]; //рандомно берем ответ
$send = send($text,$user_id,$chat_id,$token,$id); //отправляем ответ через функцию ниже
}
}
// собственно функция отправки сообщения
function send($text,$user_id,$chat_id,$token,$id) {
$query = mysql_query("SELECT * FROM `message` WHERE `message` = '".$id."'");
$message = mysql_fetch_assoc($query);
//делаем запрос в базу, если раньше не отвечали на сообщение, то ответим
if(empty($message['id'])) {
//отправляем сообщение
if(empty($chat_id)) { //условие, если сообщение не в чате, то отправим его пользователю
$request = file_get_contents("https://api.vk.com/method/messages.send?user_id=".urlencode($user_id)."&message=".urlencode($text)."&access_token=".$token."");
}
else { //условие, если сообщение не от пользователя лично, то отправим его в чат
$request = file_get_contents("https://api.vk.com/method/messages.send?chat_id=".urlencode($chat_id)."&message=".urlencode($text)."&access_token=".$token."");
}
$query = mysql_query("INSERT INTO `message` (`message`) VALUES ('".$id."')");
// пишем в базу что отправили данное сообщение
}
}
?>
Создаем файл stream.sql и помещаем туда такой код
Код:
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
CREATE TABLE IF NOT EXISTS `message` (
`id` int(16) NOT NULL AUTO_INCREMENT,
`message` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=316 ;
INSERT INTO `message` (`id`, `message`) VALUES
(1, '1');
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
3 способ - делфи. кидаем на форму браузер и через него уже открываем файл index.php. есть еще другой способ, но сложнее немного.
Теперь запускаем нашего бота и пишем ему сообщение, в котором есть "привет". Если ответил тогда все супер, я вас поздравляю, вы написали своего личного бота для вк.