BotMan Bekanntschaft

Ich möchte über das PHP-Framework zum Erstellen von BotMan- Bots ( Site ) sprechen. Botman kann sowohl als Bibliothek als auch als Laravel-Erweiterung (BotMan Studio) verwendet werden.


Der Vorteil dieses Frameworks ist, dass der Code für den Bot auf vielen Plattformen funktionieren kann:

  • Amazon Alexa
  • Cisco Funke
  • Facebook Messenger
  • Hangouts-Chat
  • Hip Chat
  • Microsoft Bot Framework
  • Nexmo
  • Schlaff
  • Telegramm
  • Twilio
  • Web
  • Wechat
  • VK

Codebeispiel:

<?php $botman->hears('Hello BotMan!', function($bot) { $bot->reply('Hello!'); $bot->ask('Whats your name?', function($answer, $bot) { $bot->say('Welcome '.$answer->getText()); }); }); $botman->listen(); 


Ergebnis:



Installieren Sie BotMan Studio


Erstellen Sie ein neues Projekt im Botman-Ordner:

 composer create-project --prefer-dist botman/studio botman 

Sie können den Vorgang über die Befehlszeile überprüfen:

 $ php artisan botman:tinker You: test BotMan: hello! 

Oder überprüfen Sie über den Browser. Führen Sie den Testserver aus:

 php artisan serve Laravel development server started: <http://127.0.0.1:8000> 

Öffnen Sie im Browser 127.0.0.1 : 8000 / botman / tinker

Und schreibe hallo oder beginne ein Gespräch, um es zu überprüfen.

Wie erstelle ich einen Bot für ein Telegramm?


Zunächst müssen Sie den Bot bei @BotFather registrieren.





Alle Bot ist registriert und wir haben einen Token.

Zunächst müssen Sie den Telegrammtreiber installieren:

 composer require botman/driver-telegram 

Option A, wenn Sie BotMan Studio verwenden:

 php artisan botman:install-driver telegram 

In Datei

 config/botman/telegram.php 

Fügen Sie Ihren Telegramm-Token hinzu

 'telegram' => [ 'token' => 'YOUR-TELEGRAM-TOKEN-HERE', ] 

Option B, wenn Sie BotMan Studio nicht verwenden:

 DriverManager::loadDriver(\BotMan\Drivers\Telegram\TelegramDriver::class); // Create BotMan instance BotManFactory::create($config); 

Registrieren Sie Webhook im Telegramm


Damit Telegram weiß, wie es mit Ihrem BotMan-Bot kommunizieren kann, müssen Sie die URL registrieren, unter der BotMan in Telegram arbeitet.

Sie können dies tun, indem Sie eine POST-Anfrage an diese URL senden:

 https://api.telegram.org/bot<YOUR-TELEGRAM-TOKEN-HERE>/setWebhook 

Diese POST-Anforderung erfordert nur einen URL-Parameter mit einer URL, die auf die BotMan-Route verweist. Wenn Sie Botman Studio verwenden, ist dies:

 https://site.domain/botman 

HTTPS ist aus Sicherheitsgründen erforderlich.

Anstatt eine Anfrage manuell an Telegram zu senden, können Sie Ihren Webhook mit dem Konsolenbefehl registrieren. Sie können das Flag --output übergeben, um die Antwort von json Telegram anzuzeigen.

 $ php artisan botman:telegram:register 

Viel Glück an alle. Machen Sie Bots.

Source: https://habr.com/ru/post/de438936/


All Articles