Posting messages to matrix
All checks were successful
Create Docker Image / Build Docker Image (x86_64) (push) Successful in 42s
Create Docker Image / Build Docker Image (arm64) (push) Successful in 1m55s
Create Docker Image / Final Docker Image Manifest (push) Successful in 11s

This commit is contained in:
2024-06-11 14:17:03 +10:00
parent 86995b03a8
commit a46ce7ff9e
14 changed files with 329 additions and 60 deletions

View File

@@ -7,14 +7,22 @@ use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Log;
use App\Events\Matrix\Factory as MatrixEventFactory;
use App\Events\Matrix\Message;
final class MatrixController extends Controller
{
private const LOGKEY = 'CMC';
public function webhook(Request $request)
public function webhook(Request $request): mixed
{
$event = MatrixEventFactory::make(Arr::get($request->events,0,[]));
// Catch our messages that we've posted
if (($event instanceof Message) && preg_match('#^.*\^[0-9]+_[0-9]+/[0-9]+(\.[0-9]+)?:#',$event->sender)) {
Log::info(sprintf('%s:- Ignoring Matrix Message event, probably from us [%s]',static::LOGKEY,$event->sender));
return response(['result'=>'OK']);
}
Log::info(sprintf('%s:- Dispatching Matrix Event [%s]',static::LOGKEY,get_class($event)));
event($event);