Updated method \TgBotLib > Bot > handleGetUpdates()
to handle exceptions
This commit is contained in:
parent
8a4dfddae6
commit
fbc472d8de
6 changed files with 21 additions and 27 deletions
6
.idea/php.xml
generated
6
.idea/php.xml
generated
|
@ -14,12 +14,12 @@
|
||||||
<include_path>
|
<include_path>
|
||||||
<path value="/usr/share/php" />
|
<path value="/usr/share/php" />
|
||||||
<path value="/etc/ncc" />
|
<path value="/etc/ncc" />
|
||||||
<path value="/var/ncc/packages/net.nosial.tamerlib=1.0.0" />
|
<path value="/var/ncc/packages/net.nosial.tamerlib=2.1.5" />
|
||||||
<path value="/var/ncc/packages/net.nosial.loglib=1.0.1" />
|
<path value="/var/ncc/packages/net.nosial.loglib=1.0.2" />
|
||||||
<path value="/var/ncc/packages/net.nosial.tempfile=1.1.0" />
|
<path value="/var/ncc/packages/net.nosial.tempfile=1.1.0" />
|
||||||
</include_path>
|
</include_path>
|
||||||
</component>
|
</component>
|
||||||
<component name="PhpProjectSharedConfiguration" php_language_level="8.0">
|
<component name="PhpProjectSharedConfiguration" php_language_level="8.1">
|
||||||
<option name="suggestChangeDefaultLanguageLevel" value="false" />
|
<option name="suggestChangeDefaultLanguageLevel" value="false" />
|
||||||
</component>
|
</component>
|
||||||
<component name="PhpStanOptionsConfiguration">
|
<component name="PhpStanOptionsConfiguration">
|
||||||
|
|
|
@ -62,6 +62,7 @@ input objects for methods that require input objects.
|
||||||
* Updated class type to `final class` in `\TgBotLib\Enums > StickerType`
|
* Updated class type to `final class` in `\TgBotLib\Enums > StickerType`
|
||||||
* Updated class type to `final class` in `\TgBotLib\Enums > ThumbnailMimeType`
|
* Updated class type to `final class` in `\TgBotLib\Enums > ThumbnailMimeType`
|
||||||
* Updated class type to `final class` in `\TgBotLib\Enums > UpdateEventType`
|
* Updated class type to `final class` in `\TgBotLib\Enums > UpdateEventType`
|
||||||
|
* Updated method `\TgBotLib > Bot > handleGetUpdates()` to handle exceptions
|
||||||
|
|
||||||
|
|
||||||
## [6.6.0] - 2023-04-10
|
## [6.6.0] - 2023-04-10
|
||||||
|
|
|
@ -505,15 +505,27 @@
|
||||||
* @return void
|
* @return void
|
||||||
* @throws TelegramException
|
* @throws TelegramException
|
||||||
*/
|
*/
|
||||||
public function handleGetUpdates(bool $run_forever = false): void
|
public function handleGetUpdates(bool $run_forever=false): void
|
||||||
{
|
{
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
$updates = $this->getUpdates();
|
$updates = $this->getUpdates();
|
||||||
foreach($updates as $update)
|
foreach($updates as $update)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
$this->handleUpdate($update);
|
$this->handleUpdate($update);
|
||||||
}
|
}
|
||||||
|
catch(Exception $e)
|
||||||
|
{
|
||||||
|
Log::error('net.nosial.tgbotlib', sprintf('Unhandled exception while handling update: %s', $e->getMessage()), $e);
|
||||||
|
|
||||||
|
if(!$run_forever)
|
||||||
|
{
|
||||||
|
throw new TelegramException('Unhandled exception while handling update', 0, $e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
} while($run_forever);
|
} while($run_forever);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,9 +18,9 @@
|
||||||
public function handle(Bot $bot, Update $update): void
|
public function handle(Bot $bot, Update $update): void
|
||||||
{
|
{
|
||||||
// Usage: /hash <text>
|
// Usage: /hash <text>
|
||||||
$data = str_replace('/hash ', '', $update->getMessage()->getText());
|
$data = str_replace('/hash ', '', $update->getMessage()?->getText());
|
||||||
$bot->sendMessage(
|
$bot->sendMessage(
|
||||||
$update->getMessage()->getChat()->getId(), md5($data)
|
$update->getMessage()?->getChat()?->getId(), md5($data)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -19,7 +19,7 @@
|
||||||
{
|
{
|
||||||
// reply to the incoming message
|
// reply to the incoming message
|
||||||
$bot->sendMessage(
|
$bot->sendMessage(
|
||||||
$update->getMessage()->getChat()->getId(), 'Hello, ' . $update->getMessage()->getFrom()->getFirstName()
|
$update->getMessage()?->getChat()?->getId(), 'Hello, ' . $update->getMessage()?->getFrom()?->getFirstName()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,19 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
require __DIR__ . DIRECTORY_SEPARATOR . 'autoload.php';
|
|
||||||
import('net.nosial.tamerlib');
|
|
||||||
|
|
||||||
$bot = new TgBotLib\Bot(getenv('BOT_TOKEN'));
|
|
||||||
TamerLib\Tamer::init(\TamerLib\Abstracts\ProtocolType::Gearman, ['127.0.0.1:4730']);
|
|
||||||
TamerLib\Tamer::addWorker(__DIR__ . DIRECTORY_SEPARATOR . 'worker.php', 10);
|
|
||||||
|
|
||||||
var_dump('Starting workers');
|
|
||||||
TamerLib\Tamer::startWorkers();
|
|
||||||
|
|
||||||
while(true)
|
|
||||||
{
|
|
||||||
foreach($bot->getUpdates() as $update)
|
|
||||||
{
|
|
||||||
TamerLib\Tamer::do(TamerLib\Objects\Task::create('handle_update', json_encode($update->toArray())));
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Add table
Reference in a new issue