Corrected README.md
This commit is contained in:
parent
a668229527
commit
0a7eeaa8ec
1 changed files with 44 additions and 9 deletions
53
README.md
53
README.md
|
@ -132,10 +132,19 @@ To implement a single-threaded bot, it's very self-explanatory, you just need to
|
||||||
```php
|
```php
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require __DIR__ . DIRECTORY_SEPARATOR . 'autoload.php';
|
// Import ncc
|
||||||
|
require 'ncc';
|
||||||
|
|
||||||
|
import('net.nosial.tgbotlib');
|
||||||
|
|
||||||
|
// Require commands & event handlers
|
||||||
|
require 'commands' . DIRECTORY_SEPARATOR . 'StartCommand.php';
|
||||||
|
require 'commands' . DIRECTORY_SEPARATOR . 'HashCommand.php';
|
||||||
|
|
||||||
|
// Create a new instance of the bot
|
||||||
$bot = new TgBotLib\Bot(getenv('BOT_TOKEN'));
|
$bot = new TgBotLib\Bot(getenv('BOT_TOKEN'));
|
||||||
|
|
||||||
|
// Loop forever
|
||||||
while(true)
|
while(true)
|
||||||
{
|
{
|
||||||
/** @var \TgBotLib\Objects\Telegram\Update $update */
|
/** @var \TgBotLib\Objects\Telegram\Update $update */
|
||||||
|
@ -161,21 +170,32 @@ First create a worker process that will handle the updates:
|
||||||
```php
|
```php
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require __DIR__ . DIRECTORY_SEPARATOR . 'autoload.php';
|
// Import ncc
|
||||||
|
require 'ncc';
|
||||||
|
|
||||||
|
// Import packages
|
||||||
|
import('net.nosial.tgbotlib');
|
||||||
import('net.nosial.tamerlib');
|
import('net.nosial.tamerlib');
|
||||||
|
|
||||||
|
// Require commands
|
||||||
|
require 'commands' . DIRECTORY_SEPARATOR . 'StartCommand.php';
|
||||||
|
require 'commands' . DIRECTORY_SEPARATOR . 'HashCommand.php';
|
||||||
|
|
||||||
|
// Initialize the bot
|
||||||
$bot = new TgBotLib\Bot('bot_token');
|
$bot = new TgBotLib\Bot('bot_token');
|
||||||
|
|
||||||
|
// Set the command handlers
|
||||||
$bot->setCommandHandler('start', new \commands\StartCommand());
|
$bot->setCommandHandler('start', new \commands\StartCommand());
|
||||||
$bot->setCommandHandler('hash', new \commands\HashCommand());
|
$bot->setCommandHandler('hash', new \commands\HashCommand());
|
||||||
|
|
||||||
|
// Initialize the worker & register the handle_update function
|
||||||
TamerLib\Tamer::initWorker();
|
TamerLib\Tamer::initWorker();
|
||||||
|
|
||||||
TamerLib\Tamer::addFunction('handle_update', function (\TamerLib\Objects\Job $job) use ($bot)
|
TamerLib\Tamer::addFunction('handle_update', function (\TamerLib\Objects\Job $job) use ($bot)
|
||||||
{
|
{
|
||||||
$bot->handleUpdate(\TgBotLib\Objects\Telegram\Update::fromArray(json_decode($job->getData(), true)));
|
$bot->handleUpdate(\TgBotLib\Objects\Telegram\Update::fromArray(json_decode($job->getData(), true)));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Work forever
|
||||||
TamerLib\Tamer::work();
|
TamerLib\Tamer::work();
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -184,20 +204,36 @@ Then create a master process that will send the updates to the worker:
|
||||||
```php
|
```php
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require __DIR__ . DIRECTORY_SEPARATOR . 'autoload.php';
|
// Import ncc
|
||||||
|
require 'ncc';
|
||||||
|
|
||||||
|
// Import packages
|
||||||
|
import('net.nosial.tgbotlib');
|
||||||
import('net.nosial.tamerlib');
|
import('net.nosial.tamerlib');
|
||||||
|
|
||||||
|
// Require commands
|
||||||
|
require 'commands' . DIRECTORY_SEPARATOR . 'StartCommand.php';
|
||||||
|
require 'commands' . DIRECTORY_SEPARATOR . 'HashCommand.php';
|
||||||
|
|
||||||
|
// Initialize the bot
|
||||||
$bot = new TgBotLib\Bot('bot_token');
|
$bot = new TgBotLib\Bot('bot_token');
|
||||||
|
|
||||||
TamerLib\Tamer::initMaster();
|
// Initialize the master & add the worker
|
||||||
|
TamerLib\Tamer::init(\TamerLib\Abstracts\ProtocolType::Gearman, [
|
||||||
|
'127.0.0.1:4730'
|
||||||
|
]);
|
||||||
TamerLib\Tamer::addWorker('handle_update', 4);
|
TamerLib\Tamer::addWorker('handle_update', 4);
|
||||||
|
|
||||||
|
// Start the workers
|
||||||
|
TamerLib\Tamer::startWorkers();
|
||||||
|
|
||||||
|
// Handle updates forever
|
||||||
while(true)
|
while(true)
|
||||||
{
|
{
|
||||||
/** @var \TgBotLib\Objects\Telegram\Update $update */
|
/** @var \TgBotLib\Objects\Telegram\Update $update */
|
||||||
foreach ($bot->getUpdates() as $update)
|
foreach ($bot->getUpdates() as $update)
|
||||||
{
|
{
|
||||||
TamerLib\Tamer::sendJob('handle_update', json_encode($update->toArray()));
|
TamerLib\Tamer::do('handle_update', json_encode($update->toArray()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -215,11 +251,10 @@ the `/start` command, you can use the `setCommandHandler` method:
|
||||||
|
|
||||||
```php
|
```php
|
||||||
<?php
|
<?php
|
||||||
|
require 'ncc';
|
||||||
require __DIR__ . DIRECTORY_SEPARATOR . 'autoload.php';
|
import('net.nosial.tgbotlib');
|
||||||
|
|
||||||
$bot = new TgBotLib\Bot(getenv('BOT_TOKEN'));
|
$bot = new TgBotLib\Bot(getenv('BOT_TOKEN'));
|
||||||
|
|
||||||
$bot->setCommandHandler('start', new \commands\StartCommand());
|
$bot->setCommandHandler('start', new \commands\StartCommand());
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue