Add event type determination method to Utilities
This commit is contained in:
parent
95346f78cd
commit
ff245ad315
1 changed files with 36 additions and 5 deletions
|
@ -5,21 +5,24 @@
|
||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
use LogLib\Log;
|
use LogLib\Log;
|
||||||
|
use TgBotLib\Enums\EventType;
|
||||||
use TgBotLib\Objects\Currency;
|
use TgBotLib\Objects\Currency;
|
||||||
|
use TgBotLib\Objects\Update;
|
||||||
|
|
||||||
class Utilities
|
class Utilities
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @var Currency[]|null
|
* @var Currency[]|null
|
||||||
*/
|
*/
|
||||||
private static $currencies_cache;
|
private static ?array $currencies_cache = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns
|
* Retrieves the currency object associated with the given currency code.
|
||||||
*
|
*
|
||||||
* @param string $code
|
* @param string $code The currency code to look up.
|
||||||
* @return Currency
|
* @return Currency The currency object corresponding to the given code.
|
||||||
* @throws Exception
|
* @throws Exception If the currency code is not found or fetching currencies fails.
|
||||||
|
* @deprecated Not used
|
||||||
*/
|
*/
|
||||||
public static function getCurrency(string $code): Currency
|
public static function getCurrency(string $code): Currency
|
||||||
{
|
{
|
||||||
|
@ -43,8 +46,36 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!isset(self::$currencies_cache[strtolower($code)]))
|
if(!isset(self::$currencies_cache[strtolower($code)]))
|
||||||
|
{
|
||||||
throw new Exception("Currency $code not found");
|
throw new Exception("Currency $code not found");
|
||||||
|
}
|
||||||
|
|
||||||
return self::$currencies_cache[strtolower($code)];
|
return self::$currencies_cache[strtolower($code)];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines the type of event based on the provided update object.
|
||||||
|
*
|
||||||
|
* @param Update $update The update object containing event information.
|
||||||
|
* @return EventType The determined type of the event.
|
||||||
|
*/
|
||||||
|
public static function determineEventType(Update $update): EventType
|
||||||
|
{
|
||||||
|
if($update->getRemovedChatBoost() !== null)
|
||||||
|
{
|
||||||
|
return EventType::REMOVED_CHAT_BOOST_EVENT;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($update->getChatBoost() !== null)
|
||||||
|
{
|
||||||
|
return EventType::CHAT_BOOST_EVENT;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($update->getChatJoinRequest() !== null)
|
||||||
|
{
|
||||||
|
return EventType::CHAT_JOIN_REQUEST_EVENT;
|
||||||
|
}
|
||||||
|
|
||||||
|
return EventType::UPDATE_EVENT;
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Add table
Reference in a new issue