Przykłady
Poniższe przykłady wykorzystują bibliotekę BotAPI.
Spis treści
- Wiadomości tekstowe
- Wiadomość z obrazkiem
- Wiadomość z losowaniem odpowiedzi
- Wysyłanie wiadomości do użytkownika
- Zmiana statusu i opisu bota
1. Wiadomości tekstowe
Poniższy przykład bardzo przypomina ten ze strony Szybki start. Dodatkowo bot rozpoznaje, z jakiego numeru pisze do niego użytkownik.
PHPPython
Jak widać obok, bot potrafi rozpoznać rozmówcę po numerze GG. Daje to wiele możliwości. Jeśli np. użytkownik napisze, z jakiego jest miasta, bot może to zapamiętać i podawać np. prognozę pogody dla zapamiętanego miasta. Oczywiście tego typu funkcjonalność wymaga użycia np. bazy danych do przechowywania tego typu informacji.
<?php
require_once('MessageBuilder.php');
$M=new MessageBuilder();
switch (file_get_contents("php://input")) {
case "cześć": $M->addText('Twój numer to ' . $_GET['from']); break;
case "kim jesteś?": $M->addText('Jestem botem.'); break;
default: $M->addText('Nie rozumiem...');
}
$M->reply();
2. Wiadomość z obrazkiem
W tym przykładzie wykorzystujemy możliwość dodania obrazka do wiadomości przy pomocy metody addImage.
PHPPython
Metody addImage można użyć w dowolnym momencie (przed, po lub między użyciami metod<?php
require_once('MessageBuilder.php');
require_once('PushConnection.php');
PushConnection::$BOTAPI_LOGIN='wojtek@gg.pl';
PushConnection::$BOTAPI_PASSWORD='hasło';
$P = new PushConnection(123456);
$M = new MessageBuilder();
switch (file_get_contents("php://input")) {
case "kot":
$M->addText('Oto kot:');
$M->addImage('kot.jpg');
break;
default:
$M->addImage('gg.png');
}
$M->reply();
addText itd.).
3. Wiadomość z losowaniem odpowiedzi
W tym przykładzie bot losuje odpowiedź. Dodatkowo używane jest różnego rodzaju formatowanie.
PHPPython
Jak widać obok, w metodzie addText można korzystać ze znaku \n aby przejść do nowej linii.
<?php
require_once('MessageBuilder.php');
$M=new MessageBuilder();
switch (rand(1, 3)) {
case 1: $M->addText("Pierwsza linia\nDruga linia"); break;
case 2: $M->addText('Tekst wysłany do innych')->setRecipients(array(123,456)); break;
case 3: $M->addRawHtml('Tekst <b>pogrubiony</b> oraz <i>pochylony</i> oraz <u>podkreślony</u>'); break;
}
$M->reply();
4. Wysyłanie wiadomości do użytkownika
Za pomocą tego przykładu właściciel bota GG 123456 może wysłać wiadomość do dwóch odbiorców GG 123 i 456. Odbiorcy dostaną wiadomość od bota tylko jeśli wcześniej kiedykolwiek odezwali się do tego bota.
PHPPython
Odbiorca może wyłączyć otrzymywanie wiadomości od bota poprzez wysłanie do niego wiadomości o treści: WYPISZ
<?php
require_once('MessageBuilder.php');
require_once('PushConnection.php');
$M = new MessageBuilder();
$M->addText('Zapraszam na http://boty.gg.pl/');
$M->setRecipients(array(123, 456)); // lista odbiorców
$P = new PushConnection(123456, 'wojtek@gg.pl', 'hasło'); // autoryzacja
$P->push($M); // wysłanie wiadomości do odbiorców