<?php namespace Slack\Listeners; use Illuminate\Support\Facades\Log; use Illuminate\Contracts\Queue\ShouldQueue; use Slack\Event\{Base,ChannelLeft,GroupLeft}; class ChannelLeftListener implements ShouldQueue { private const LOGKEY = 'LCL'; public $queue = 'high'; /** * Handle the event. * * @param Base $event * @return void */ public function handle(Base $event) { if (! $event instanceof ChannelLeft AND ! $event instanceof GroupLeft) abort(500,'Wrong class calling this listener? '.get_class($event)); // Do some magic with event data Log::info(sprintf('%s:Bot Left Channel [%s]',self::LOGKEY,$event->channel_id),['m'=>__METHOD__,'c'=>$event->channel_id]); $o = $event->channel(TRUE); $o->active = FALSE; $o->save(); } }