[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Бот не хочет отвечать на сообщения.
naemnks1996
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);


require_once "classes.php";
require_once "config.php";
require_once "antigate.php";
require_once "vk.api.php";


define('VK_TOKEN',$config['token']);
$vk = new VK(VK_TOKEN);


// Получаем список последних 20 сообщений //
$messages = $vk->request('messages.getDialogs', array(
'count' => '12',
));


// Получаем сообщения, на которые мы еще не отвечали //

// Ставим статус Online //

if (rand(1, 20) == 10) {
$setonline = $vk->request('account.setOnline');
}

// Выводим сообщения //
// Отвечаем на 10 сообщений //

echo '<h3>Последние чаты</h3>';

[
color=red] foreach ((array)$messages['response'] as $key => $value) {[/color]
$uid = $value['uid'];
$message = $value['body'];

$vkprofileinfo = $vk->request('users.get', array(
'name_case' => 'nom',
'fields' => 'sex,photo_50,bdate,city,country',
'user_ids' => $uid,
));


if (isset($value['uid'])) {
?>

<div class="panel panel-default">
<
div class="panel-heading"><a href="http://vk.com/id<?= $value['uid'] ?>"><img style="padding-right: 5px; padding-bottom: 3px;" src="<?=$vkprofileinfo['response'][0]['photo_50']?>" align="left" /> <?=$vkprofileinfo['response'][0]['first_name']?> <?=$vkprofileinfo['response'][0]['last_name']?></a><br /> <? if ($value['read_state'] == '0') {
echo '<span class="label label-danger">Не прочитано</span>';
} else {
echo '<span class="label label-success">Прочитано</span>';
} ?> <? if ($value['out'] == '1') {
echo '<span class="label label-primary">Ответ отправлен</span>';
} ?></div>
<
div class="panel-body">
<
a href="http://vk.com/im?msgid=<?= $value['mid'] ?>&sel=<?= $value['uid'] ?>"><?= $value['body'] ?></a><br />
<
span class="text-muted">Сообщение оставлено <?= gmdate("Y-m-d H:i:s", $value['date']) ?></span>
</
div>
</
div>
<? usleep(400000);
}



if ($message[0] == '/') {
$reading = $vk->request('messages.markAsRead', array(
'peer_id' => $uid,
));

$typing = $vk->request('messages.setActivity', array(
'type' => 'typing',
'user_id' => $uid,
));

sleep(1);
$send = $vk->request('messages.send', array(
'message' => cmd(substr($message, 1)),
'uid' => $value['uid'],
));

} elseif ($value['out'] == '0' AND !in_array($uid, $debug)) {
// Сделаем выборку из базы //
$result = $link->query("SELECT * FROM clients WHERE vkid=" . $uid);
if ($result != false) {
$row = mysqli_fetch_array($result);
}

if ($row['vkid'] == $uid AND $result != false) {

// Если есть в базе отсылаем сообщение //

$reading = $vk->request('messages.markAsRead', array(
'peer_id' => $uid,
));

sleep(1);
$typing = $vk->request('messages.setActivity', array(
'type' => 'typing',
'user_id' => $uid,
));

sleep(1);

$repquotes = array ("\"", "\'" ); // фильтруем сторонние символы
$filtered = addslashes(str_replace( $repquotes , '', $value['body'] ));
$mes = file_get_contents($config['url'] . '/sp.php?session=' . $row['chatid'] . '&text=' . urlencode($filtered));
$send = $vk->request('messages.send', array(
'message' => strip_tags($mes),
'uid' => $value['uid'],
));



if ($send['error']['error_code'] == '14' AND $config['antigate'] !== null) {
// Загружаем капчу на сервер //
file_put_contents("captcha/captcha.jpg", file_get_contents($send['error']['captcha_img']));
// Уникальный ID капчи //
$captcha['id'] = $send['error']['captcha_sid'];
$captcha['key'] = recognize("captcha/captcha.jpg", $config['antigate'], false, "antigate.com");

// Повторяем отправку вместе с разгаданной капчей //
$send = $vk->request('messages.send', array(
'message' => strip_tags($mes),
'uid' => $value['uid'],
'captcha_sid' => $captcha['id'],
'captcha_key' => $captcha['key'],
));


} elseif ($send['error']['error_code'] == '14' AND $config['antigate'] == null){
// Загружаем капчу на сервер //
file_put_contents("captcha/captcha.jpg", file_get_contents($send['error']['captcha_img']));
// Уникальный ID капчи //
if (isset($_GET['key'])){
$captcha['id'] = $send['error']['captcha_sid'];
$captcha['key'] = $_GET['key'];

// Повторяем отправку вместе с разгаданной капчей //
$send = $vk->request('messages.send', array(
'message' => strip_tags($mes),
'uid' => $value['uid'],
'captcha_sid' => $captcha['id'],
'captcha_key' => $captcha['key'],
));
?>
<script>history.go(-1);</script>
<?
}?>
<form action="/autoupdate.php" method="get">
<
img src="captcha/captcha.jpg" align="center"><br />
Что на картинке? <input type="text" name="key"><br />
<
input type="submit" value="Отправить">
</
form>
<?
break;
}

// Если нет в базе - добавляем его //
} else {



$firstname = addslashes($vkprofileinfo['response'][0]['first_name']);
$secondname = addslashes($vkprofileinfo['response'][0]['last_name']);
$city = $vkprofileinfo['response'][0]['city'];
$country = $vkprofileinfo['response'][0]['country'];
$bdate = $vkprofileinfo['response'][0]['bdate'];
$sex = $vkprofileinfo['response'][0]['sex'];
$chatid = file_get_contents($config['url'] . '/showmeid.php?id=' . $uid);


$insert = $link->query("INSERT INTO clients (firstname, secondname, city, birthdate, country, sex, chatid, vkid) VALUES ('$firstname', '$secondname', '$city', '$bdate', '$country', '$sex', '$chatid', '$uid')") or die("Возникла проблемка..." . mysqli_error($link));

// Находим новосозданное имя и ID сессии //
$result2 = $link->query("SELECT firstname, chatid, sex FROM clients WHERE vkid=" . $uid);
$row2 = mysqli_fetch_array($result2);

// Устанавливаем имя //
file_get_contents($config['url'] . '/sp.php?session=' . $row2['chatid'] . '&text=' . urlencode('!botsetname ' . $firstname));

// Устанавливаем пол //
if ($row2['sex'] == '2') {
file_get_contents($config['url'] . '/sp.php?session=' . $row2['chatid'] . '&text=' . urlencode('я мальчик'));
} elseif ($row2['sex'] == '1') {
file_get_contents($config['url'] . '/sp.php?session=' . $row2['chatid'] . '&text=' . urlencode('я девочка'));
}

}


sleep(1);
}

}


Пометил красным, на что ругается сайт. Бот не хочет отвечать на сообщения.
"Notice: Undefined index: response in /autoupdate.php on line 32" Вот ошибка.

В чем может быть проблема?

Вот ссылка на все файлы.
https://github.com/z00k/vkbot //не реклама.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.