Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2016, 00:36   #1
Azazel-San
 
Регистрация: 03.12.2015
Сообщений: 5
По умолчанию [VK API] Не коректно отправляет сообщения (messages.send)

Вообщем, у меня есть БД, с вопросами и ответами, если мне кто-то написал сообщение в ВК, то я считываю это сообщение, проверяю совпадает ли оно с каким-либо из вопросов и собственно если да, то подставляю под него ответ из своей БД и отправляю..
Все вроде работает, но иногда бывает, что сообщение отправленное мне считает, но ответ не подставит и иногда бывает может отправить просто рандомное сообщение рандомному чуваку из тех кто мне писал, не понимаю почему так, ведь считываю лишь 10 сообщений..
Вот код:
PHP код:
<?php

    
require_once "vk.api.php"
    require_once 
"adding_brains.php"
    
    
define('token''e495f5565168873062688ff988a83e5e39a45e3fb2a3ba7344cdb772545e7157a97259af8f1b3d386fbаа');
    
$vk = new VK(token);
    
    
$link mysqli_connect("localhost","root","","digital_immortality2") or die("Ошибка " mysqli_error($link));

    
$messages $vk->request('messages.getDialogs'$params = [
        
'count' => '10',
        
'access_token' => token
      
]); 
    
$url 'https://api.vk.com/method/messages.getDialogs?' http_build_query($params);
    
$response json_decode(file_get_contents($url), true);
echo 
"<pre>";
        foreach (
$response['response'] as $dialog): 
     
            
$query "SELECT input, output FROM basis";
            
            
$result mysqli_query($link$query); 
            while (
$row mysqli_fetch_assoc($result)) { 
                if (
$dialog['read_state'] == '0') {
                if (
$dialog['body'] == $row["input"]) {
                    
$reading $vk->request('messages.markAsRead', [
                        
'peer_id' => $dialog['uid'], 
                    ]);
                    
$typing $vk->request('messages.setActivity', [
                        
'user_id' => $dialog['uid'], 
                        
'type' => 'typing',
                    ]);
                    
$send $vk->request('messages.send', [
                        
'message' => $row["output"],
                        
'random_id' => mt_rand(099),
                        
'uid' => $dialog['uid'],
                    ]); 
            }
        }
    }
endforeach; 
echo 
"</pre>";
Azazel-San вне форума Ответить с цитированием
Старый 20.11.2016, 15:46   #2
Azazel-San
 
Регистрация: 03.12.2015
Сообщений: 5
По умолчанию

Актуально
Azazel-San вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
vk api (messages.getHistory) nibufep Общие вопросы Delphi 8 05.05.2016 23:28
ClientSocket не отправляет сообщения ruN00b Работа с сетью в Delphi 6 26.11.2013 00:56
Не отправляет сообщения Mihanches Работа с сетью в Delphi 0 18.10.2010 17:18
send/recv: размер сообщения cw_o Работа с сетью в Delphi 4 23.04.2010 19:00
idTCPClient не отправляет сообщения TwiX Работа с сетью в Delphi 2 09.03.2010 23:56