В настоящее время я создаю бот для 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,
];
}
}
Может ли кто-нибудь помочь направить меня в правильном направлении или помочь мне начать с этим?
Вы можете получить все функциональные возможности от parent
Класс с помощью:
parent::toArray();
В этом случае вся функция в расширенном классе будет выполнена. Вы всегда можете записать результат в переменную, например:
$parent = parent::toArray();
и вы можете вернуть его так:
return array (
'image_url' => 'example.com/image_url',
) + parent::toArray();
Других решений пока нет …