Спасибо за комментарий, это действительно так, блокчейн и консенсус это инструменты для решения узких задач. Между тем, сейчас все переходят на мобильные устройства и децентрализация (без хранения тонн информации как в случае криптовалют) может быть некоторого рода «суб-трендом», кроме того, развитие этой отрасли даст скачок новых технологий, я уверен. К примеру, уже позже, когда я дописал первый прототип — изучил такие технологии как хадуп и его распределенную FS и понял что они эффективнее в решении такого рода задач)
В отличие от 90% «стартаперов-ICOшников» того времени я решил не искать инвесторов и просто делать всё своими силами, чтобы в случае чего — моя совесть была чиста.
Брал такой же, только под брендом Hyundai (модель — M8), вышла в районе 180 баксов:) Внешне выглядит так же, насчет характеристик не уверен, но что-то мне подсказывает, что они не сильно отличаются.
Ну по идее, она работает в бесконечном цикле обработки входящих сообщений. Но, из-за какого-то недопонимания api вконтакте или еще каких-то проблем — периодически вылетает с connection timeout. Так что изредка запускаю её сам. А так — обычный демон с запуском через sh скрипт.
Учитывая контингент, и основную цель общения («го вирт», «кидай фотки») — некоторые с ним общались долго. И переставали только после того, как в диалоге проскакивало сообщение от бота «я парень». А один даже завел с ботом роман в стиле «я так и знал, что ты парень, но мне без разницы… мне нравится как ты пишешь!» — и это продолжалось НЕДЕЛЮ, пришлось его добавить в черный список бота. А вот девушки в основном быстро определяли «плохой стиль общения» и переставали писать, или добавляли в чс. А идея со статистикой классная, запишу на будущее, спасибо.
Полученное сообщение перерабатывается в список масок (все слова в предложении, больше двух символов и не состоящие из цифр) и отдается prolog-скрипту. Он выполняет свою работу и отдает список ответов. А далее пришедшее сообщение сохраняется в базе знаний вместе с ответом на него. Человек исключен из этого процесса :). Правда пару раз бывало, что писали иностранцы, на своем родном языке. Приходилось вручную чистить базу.
Все реализовано на базе стандартного vk api. Бот работает как обычное standalone приложение, с «долгоиграющим» токеном. Про обработку сообщений — наверно лучше на примере:
function loop() {
$this->debug("started message loop.");
$ts = $this->longpollsettings['ts']; //при запуске вызывается метод, получающий адрес сервера
while ($data = json_decode(file_get_contents("http://{$this->longpollsettings['server']}?act=a_check&key={$this->longpollsettings['key']}&ts=$ts&wait=20&mode=2"), true)) {//если есть обновления
if (rand(41, 49) == 42)
$this->lazyChecks(); //иногда выполняются проверки, например - вывод песни в статус, если она закончила играть, или ответ на комментарии в паблике (да, бот еще умеет отвечать на комментарии)
$ts = $data['ts'];
$up = $data['updates'];
if (count($up)) {
foreach ($up as $u) {
switch ($u[0]) {
case 4:// 4 - код события - "новое сообщение"
$this->receiveMessage($u[1], $u[2], $u[3], $u[4], $u[5], $u[6], $u[7]); // сама обработка сообщения
break;
default:
break;
}
}
}
if ($data['failed']) // если подключение не удалось, получаем новый адрес сервера
$this->loadLPServerSettings();
}
}
В контексте ботов: Я вот пол года назад написал разговорного бота на vk, с использованием swi-prolog для анализа и вывода фраз. Получился псевдо-интеллектуальный бот, который иногда говорит умные фразы. Иногда даже впопад. Такое кому-нибудь интересно?
Были такие же мыли по поводу валидации, но ограничился только сопоставлением типов и вхождением ключа в массив. Думаю, AMatch мне пригодится. Спасибо большое! Очень продуманный инструмент, желаю процветания и побольше полезных коммитов :)
Согласен, ваше приложение удобнее использовать для систематического скачивания) А мне нужно было скорее единичное использование, время от времени, вообще, круто получилось, удачи:)
Ну и ссылки на эти два волшебных api-метода:
messages.getLongPollServer
messages.getLongPollHistory
Надеюсь, это вам поможет.