2016-11-21 3 views
2

В настоящее время я создаю бот для Slack, используя этот пакет slackbot.Расширить класс для создания пользовательских функций

В настоящее время у него нет возможности создавать пользовательские вложения, например, например, прикреплять изображение.

Рассматривая исходный код, класс Question делает много тяжелой работы для создания интерактивных вопросов - связывает все это с массивом, готовым отправить Slack.

Я хочу использовать большую часть этого, чтобы построить класс, который может добавить image_url в массив, но я никогда не делал ничего подобного раньше и не знаю, как это сделать или с чего начать.

В конечном счете, я просто хочу иметь возможность использовать пакет для отправки сообщения и включить прикрепление изображения.

Из того, что я могу кусочкам, я должен был бы начать с чем-то вроде этого:

<?php 

namespace //namespace; 

use Mpociot\SlackBot\Question; 

class Attachments extends Question 
{ 
    //code to add image URL goes here 

    /** 
    * there is currently this function in the Question class 
    * that builds the array where I need to add in 
    * 'image_url => 'example.com/image_url' 
    */ 
    public function toArray() 
    { 
     return [ 
      'text' => $this->text, 
      'fallback' => $this->fallback, 
      'callback_id' => $this->callback_id, 
      'actions' => $this->buttons, 
     ]; 
    } 

} 

Может кто-нибудь помочь мне точку в правильном направлении или помочь мне начать работу с ним?

+0

Вы можете дать Slackbot Framework выстрел в https://github.com/iranianpep/ slackbot. Это специально написано для Slack и может быть полезно в вашем случае – Ehsan

ответ

1

Вы можете получить все функциональные возможности из parent класса с помощью:

parent::toArray(); 

В этом случае вся функция в расширенном классе будет выполнена. Вы всегда можете написать результат в переменную типа:

$parent = parent::toArray(); 

и вы можете вернуть его так:

return array (
     'image_url' => 'example.com/image_url', 
) + parent::toArray(); 
Смежные вопросы