如何使用Botman在Slack中创建对话框?我在Slack应用程序中使用Botman创建了一个下拉菜单和按钮。但是从下拉列表中选择一个值后,我需要触发一个Slack对话框。我怎么能实现它?
答案 0 :(得分:1)
您可以在this commit中看到完整的实现。
首先,您必须扩展 BotMan \ Drivers \ Slack \ Extensions \ Dialog 类。 例如:
<?php
namespace App\BotMan\Dialogs;
use BotMan\Drivers\Slack\Extensions\Dialog;
class TestDialog extends Dialog
{
/**
* Build your form.
*
* @return void
*/
public function buildForm()
{
$this->title = 'Test dialog';
$this->callbackId = 'test-dialog-callback-id';
$this->text('Text', 'text');
}
}
然后,您可以使用conversation的run方法发送对话框:
<?php
namespace App\BotMan\Conversations;
use App\BotMan\Dialogs\TestDialog;
use BotMan\BotMan\Messages\Incoming\Answer;
class TestConversation extends Conversation
{
public function run()
{
$response = $this->sendDialog(new TestDialog, function (Answer $answer) {
$value = $answer->getValue()['text'];
// ...
});
}
}