Platforma BotAPI GG

Przykłady

Poniższe przykłady wykorzystują bibliotekę BotAPI.

Spis treści

  1. Wiadomości tekstowe
  2. Wiadomość z obrazkiem
  3. Wiadomość z losowaniem odpowiedzi
  4. Wysyłanie wiadomości do użytkownika
  5. 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
<?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();
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.

2. Wiadomość z obrazkiem

W tym przykładzie wykorzystujemy możliwość dodania obrazka do wiadomości przy pomocy metody addImage.
PHPPython
<?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();
Metody addImage można użyć w dowolnym momencie (przed, po lub między użyciami metod
addText itd.).

3. Wiadomość z losowaniem odpowiedzi

W tym przykładzie bot losuje odpowiedź. Dodatkowo używane jest różnego rodzaju formatowanie.
PHPPython
<?php
  
require_once('MessageBuilder.php');
  
$M=new MessageBuilder();
  switch (
rand(13)) {
    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();
Jak widać obok, w metodzie addText można korzystać ze znaku \n aby przejść do nowej linii.

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
<?php
  
require_once('MessageBuilder.php');
  require_once(
'PushConnection.php');
  
$M = new MessageBuilder();
  
$M->addText('Zapraszam na http://boty.gg.pl/');
  
$M->setRecipients(array(123456)); // lista odbiorców
  
$P = new PushConnection(123456'wojtek@gg.pl''hasło'); // autoryzacja
  
$P->push($M); // wysłanie wiadomości do odbiorców
Odbiorca może wyłączyć otrzymywanie wiadomości od bota poprzez wysłanie do niego wiadomości o treści: WYPISZ

5. Zmiana statusu i opisu bota

Zmianę opisu i statusu bota można wykonać w następujący sposób:
PHPPython
<?php
  require_once('PushConnection.php');
  
$P = new PushConnection(123456'wojtek@gg.pl''hasło'); // autoryzacja
  
$P->setStatus('Mój nowy opis'STATUS_AWAY);