Help::class, ]; /** * Returns new event instance * * @param string $type * @param array $request * @return Base */ public static function create(string $type,array $request): Base { $class = Arr::get(config('slack.commands',self::map),$type,Unknown::class); Log::debug(sprintf('%s:Working out Slash Command Class for [%s] as [%s]',static::LOGKEY,$type,$class),['m'=>__METHOD__]); if (App::environment() == 'local') file_put_contents('/tmp/command.'.$type,print_r(json_decode(json_encode($request)),TRUE)); return new $class($request); } public static function make(Payload $request): Base { $data = json_decode(json_encode($request->getData())); $command = preg_replace('/^([a-z]+)(\s?.*)/','$1',$data->payload->text); return self::create($command ?: 'help',Arr::get($request->getData(),'payload')); } }