Add callback_id to BlockActions, fix block::sections can also only have an accessory
This commit is contained in:
parent
1e5281de29
commit
bb5539f158
@ -9,6 +9,7 @@ final class Button extends Element
|
||||
{
|
||||
protected const LIMITS = [
|
||||
'action_id' => 255,
|
||||
'callback_id' => 255,
|
||||
'text' => 75,
|
||||
'url' => 3000,
|
||||
'value' => 2000,
|
||||
@ -40,6 +41,13 @@ final class Button extends Element
|
||||
|
||||
/* OPTIONAL ITEMS */
|
||||
|
||||
public function callback_id(string $string): self
|
||||
{
|
||||
$this->callback_id = $string;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function confirm(Confirm $confirm): self
|
||||
{
|
||||
$this->confirm = $confirm;
|
||||
|
@ -43,8 +43,8 @@ final class Section extends Blocks
|
||||
|
||||
public function jsonSerialize()
|
||||
{
|
||||
if (! $this->text && ! $this->fields)
|
||||
throw new Exception('Must define text or fields');
|
||||
if (! $this->text && ! $this->fields && ! $this->accessory)
|
||||
throw new Exception('Must define text, accessory or fields');
|
||||
|
||||
return parent::jsonSerialize();
|
||||
}
|
||||
|
@ -74,7 +74,13 @@ class BlockActions extends Base
|
||||
return object_get($this->_data,$key);
|
||||
|
||||
case 'callback_id':
|
||||
switch (object_get($this->_data,'type')) {
|
||||
case 'block_actions':
|
||||
return object_get(Arr::get(object_get($this->_data,'actions'),$this->index),$key);
|
||||
// @todo Dont assume this is a view
|
||||
default:
|
||||
return object_get($this->_data,'view.callback_id');
|
||||
}
|
||||
|
||||
case 'channel_id':
|
||||
return object_get($this->_data,'channel.id') ?: Channel::findOrFail($this->action('value'))->channel_id;
|
||||
|
Loading…
Reference in New Issue
Block a user