Хороший фреймворк для разработки бота?

Приветствую. У меня уже есть работающий бот для вк на чистом php, и теперь я хочу его переписать, чтобы всё было "по красоте". Выбираю фреймворк, наткнулся на botman.io. Что вы можете сказать насчет этого фреймворка, хороший ли он и стоит ли его использовать? Если есть примеры лучше, буду рад услышать.
  • Вопрос задан
  • 2175 просмотров
Решения вопроса 1
tomnolane
@tomnolane
профессиональный разработчик
botman на данный момент самый "лучший" (ИМХО), ибо не очень большой выбор. В целом, он не плох (если) хорошо изучить документацию. Я, например, ВК драйвер недавно сделал для него (скоро залью на гитхаб). Проблемы только с Телеграмм - если использовать сервер из РФ, он работать не будет. А так, в целом, очень неплохой. Лучше, я пока не встречал

п.с. до него я написал трёх ботов "в ручную" (для ВК, Фейсбук и Web). Работают норм, но больше похоже на "костыли", и не очень удобно. А в botman "Hello world" в 39 строк кода, у меня выглядит так:
<?php
require_once 'vendor/autoload.php';

use BotMan\BotMan\BotMan;
use BotMan\BotMan\BotManFactory;
use BotMan\BotMan\Drivers\DriverManager;
use BotMan\BotMan\Cache\CodeIgniterCache;

$config = [
    'facebook' => [
      'token' => 'EAAZAT6dcgYDQBAC6x7X******85SLSPF0BRCVeRPPgutgtfvZCkZC9lxnP5pYcRXtF0m7sOAliTEztGPR45cOxx3rZAMZBc9Mb9UhB62gBSG2kXTo7ldyk2fTquadMJQVY8nqKxiOakLXLUZBCSavncCljoe5IAZDZD',
      'app_secret' => 'b52517e****71b6afa76dca657',
      'verification'=>'my_example_veryfy_token',
    ],
    "vkontakte" => [
       "token" => "9af81c610faf0ea319*****d17b0b2b53b164ff3b18cc1b9d4e422fd15db046594139078"
    ],
    'telegram' => [
        'token' => '60176***:****fVCz43IblR72siiyfbebv7wgqCn8tc'
    ]
];

DriverManager::loadDriver(\BotMan\Drivers\Vkontakte\VkontakteDriver::class);
DriverManager::loadDriver(\BotMan\Drivers\Facebook\FacebookDriver::class);
DriverManager::loadDriver(\BotMan\Drivers\Telegram\TelegramDriver::class); 

$this->load->driver('cache');

$botman = BotManFactory::create($config, new CodeIgniterCache($this->cache->file)); 

$botman->hears('привет', function (BotMan $bot) {
    $bot->reply('Хай.');
});

$botman->fallback(function($bot) {
    $bot->reply('Чё ??? ...');
});

$botman->listen();


UPD
на этом фреймворке возможны проблемы с русским языком (кодировкой).
Чтобы её решить, нужно использовать iconv
iconv('utf-8', 'windows-1251', тут_ваш_ответ_сервера);
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
fzfx
@fzfx
18,5 дм
я для ботов для telegram использовал vibe.d. не могу сказать, лучший он или нет, меня он устраивал.
Ответ написан
Комментировать
avengerweb
@avengerweb
Веб-разработчик и не только
К сожалению за все то время что нам приходится писать ботов для разных мессенджеров, не удалось встретить универсального решения для всего которое могло бы покрыть все наши желания. Практически у каждого мессенджера есть свои фишки из за которых его любят, если вы не используете их, то скорее всего вашим ботом так же никто не будет пользоваться. По поводу выбора языка, мы остановились на node.js в этом плане для подобного реалтайма он хорош большая часть мессенджеров поддерживает общение через веб-сокеты, что хорошо сказывается на скорости работы, ответов и производительности, да и готовые пакеты доступны для всех месеннджеров.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы