PixelPlacerBot/app/Helpers/TwitchHelper.php

30 lines
830 B
PHP
Raw Normal View History

2024-07-27 15:40:35 -04:00
<?php
namespace App\Helpers;
use Illuminate\Support\Facades\Log;
class TwitchHelper
{
public static function parseMessage($message)
{
Log::debug('TwitchHelper::parseMessage', ['message' => $message]);
// Match commands like !place A 1 red, !p A 1 red, !paint A 1 red
$commandPattern = '/^(?:!place|!p|!paint)\s([A-P])\s(\d{1,2})\s(\w+)$/i';
if (preg_match($commandPattern, $message, $matches)) {
Log::debug('TwitchHelper::parseMessage - Command matched', ['matches' => $matches]);
return [
'command' => 'place',
'x' => $matches[1],
'y' => $matches[2],
'color' => $matches[3]
];
}
Log::debug('TwitchHelper::parseMessage - No match found');
return null;
}
}