PixelPlacerBot/app/Helpers/TwitchHelper.php

31 lines
891 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
2024-07-28 18:06:05 -04:00
// Updated regex to handle hyphenated color names
$commandPattern = '/^(?:!place|!p|!paint)\s([A-P])\s(\d{1,2})\s([\w-]+)$/i';
2024-07-27 15:40:35 -04:00
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;
}
}