Почему расширенное сообщение, созданное в диалоговом потоке, не появится у бота, протестированного на Slack? - PullRequest
1 голос
/ 17 апреля 2020

Я создал два ответа для приветствия по умолчанию.

Один из них по умолчанию, а другой в виде текстового ответа, который отображается в Slack, а другой использует Slack в качестве канала моего бота, нажимая на Добавить ответ, чтобы начать создавать ответы только для Slack с помощью Dialogflows UI.

Второй: шаблон по умолчанию для опроса из документов :

{
    "blocks": [
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "*Where should we order lunch from?* Poll by <fakeLink.toUser.com|Mark>"
            }
        },
        {
            "type": "divider"
        },
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": ":sushi: *Ace Wasabi Rock-n-Roll Sushi Bar*\nThe best landlocked sushi restaurant."
            },
            "accessory": {
                "type": "button",
                "text": {
                    "type": "plain_text",
                    "emoji": true,
                    "text": "Vote"
                },
                "value": "click_me_123"
            }
        },
        {
            "type": "context",
            "elements": [
                {
                    "type": "image",
                    "image_url": "https://api.slack.com/img/blocks/bkb_template_images/profile_1.png",
                    "alt_text": "Michael Scott"
                },
                {
                    "type": "image",
                    "image_url": "https://api.slack.com/img/blocks/bkb_template_images/profile_2.png",
                    "alt_text": "Dwight Schrute"
                },
                {
                    "type": "image",
                    "image_url": "https://api.slack.com/img/blocks/bkb_template_images/profile_3.png",
                    "alt_text": "Pam Beasely"
                },
                {
                    "type": "plain_text",
                    "emoji": true,
                    "text": "3 votes"
                }
            ]
        },
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": ":hamburger: *Super Hungryman Hamburgers*\nOnly for the hungriest of the hungry."
            },
            "accessory": {
                "type": "button",
                "text": {
                    "type": "plain_text",
                    "emoji": true,
                    "text": "Vote"
                },
                "value": "click_me_123"
            }
        },
        {
            "type": "context",
            "elements": [
                {
                    "type": "image",
                    "image_url": "https://api.slack.com/img/blocks/bkb_template_images/profile_4.png",
                    "alt_text": "Angela"
                },
                {
                    "type": "image",
                    "image_url": "https://api.slack.com/img/blocks/bkb_template_images/profile_2.png",
                    "alt_text": "Dwight Schrute"
                },
                {
                    "type": "plain_text",
                    "emoji": true,
                    "text": "2 votes"
                }
            ]
        },
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": ":ramen: *Kagawa-Ya Udon Noodle Shop*\nDo you like to shop for noodles? We have noodles."
            },
            "accessory": {
                "type": "button",
                "text": {
                    "type": "plain_text",
                    "emoji": true,
                    "text": "Vote"
                },
                "value": "click_me_123"
            }
        },
        {
            "type": "context",
            "elements": [
                {
                    "type": "mrkdwn",
                    "text": "No votes"
                }
            ]
        },
        {
            "type": "divider"
        },
        {
            "type": "actions",
            "elements": [
                {
                    "type": "button",
                    "text": {
                        "type": "plain_text",
                        "emoji": true,
                        "text": "Add a suggestion"
                    },
                    "value": "click_me_123"
                }
            ]
        }
    ]
}

Он должен выглядеть примерно так, как показано на следующем рисунке:

dialog

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

enter image description here

Я думал, что проблема в том, что мне нужно, чтобы бот опубликовал c так как кажется, что для использования расширенных сообщений мы должны скопировать значение URL запроса событий, заданное Dialogflow, и вставить его в поле «Запрос URL» из раздела «Интерактивные сообщения» в настройках моего приложения Slack. , Но бот даже не получает сообщение по умолчанию.

Шаги, которые я выполнил для реализации своего бота

  • В приложении Slack, go в разделе «Пользователи бота» и нажмите кнопку «Добавить пользователя бота».
  • В разделе «Базовая c информация» приложения Slack скопируйте «Идентификатор клиента», «Секрет клиента» и «Токен подтверждения» и вставьте их значения в соответствующие поля ниже.
  • Запустите бот.
  • Скопируйте значение «OAuth URL» ниже и вставьте его в поле «Redirect URL (s)» из раздела «OAuth & Permissions» из ваших настроек Slack приложения. Сохраните URL-адреса.
  • Скопируйте URL-адрес запроса событий из поля ниже и вставьте его в URL-адрес запроса в разделе «Подписка на события» своего приложения Slack.
  • Включите события в разделе «Подписки на события» .
  • Выберите необходимые события в разделе «Подписаться на события бота», например message.im, message.group, message.channel, im_created. Эти события будут определять, на какие типы сообщений (прямые, в канале и т. Д. c.) Будет реагировать ваш бот. Сохранить изменения. Я выбрал message.im, message.groups, message.channels, im_created
  • В настройках приложения Slack, go, чтобы «Управлять распространением» и добавить бота в свою команду Slack, используя «Добавить в Slack». кнопка (там глючит)

1 Ответ

0 голосов
/ 20 апреля 2020

Чтобы иметь возможность отправить желаемый ответ с использованием пользовательских полезных нагрузок, сначала необходимо добавить формат, необходимый для Dialogflow, чтобы отправить запрос в Slack.

{
  "slack": {
    "text": "Testing custom payloads",
    "attachments": []
  }
}

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

enter image description here

Последнее сообщение выглядит так:

{
  "slack": {
    "text": "",
    "attachments": [{
    "blocks": [
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "*Where should we order lunch from?* Poll by <fakeLink.toUser.com|Mark>"
            }
        },
        {
            "type": "divider"
        },
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": ":sushi: *Ace Wasabi Rock-n-Roll Sushi Bar*\nThe best landlocked sushi restaurant."
            },
            "accessory": {
                "type": "button",
                "text": {
                    "type": "plain_text",
                    "emoji": true,
                    "text": "Vote"
                },
                "value": "click_me_123"
            }
        },
        {
            "type": "context",
            "elements": [
                {
                    "type": "image",
                    "image_url": "https://api.slack.com/img/blocks/bkb_template_images/profile_1.png",
                    "alt_text": "Michael Scott"
                },
                {
                    "type": "image",
                    "image_url": "https://api.slack.com/img/blocks/bkb_template_images/profile_2.png",
                    "alt_text": "Dwight Schrute"
                },
                {
                    "type": "image",
                    "image_url": "https://api.slack.com/img/blocks/bkb_template_images/profile_3.png",
                    "alt_text": "Pam Beasely"
                },
                {
                    "type": "plain_text",
                    "emoji": true,
                    "text": "3 votes"
                }
            ]
        },
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": ":hamburger: *Super Hungryman Hamburgers*\nOnly for the hungriest of the hungry."
            },
            "accessory": {
                "type": "button",
                "text": {
                    "type": "plain_text",
                    "emoji": true,
                    "text": "Vote"
                },
                "value": "click_me_123"
            }
        },
        {
            "type": "context",
            "elements": [
                {
                    "type": "image",
                    "image_url": "https://api.slack.com/img/blocks/bkb_template_images/profile_4.png",
                    "alt_text": "Angela"
                },
                {
                    "type": "image",
                    "image_url": "https://api.slack.com/img/blocks/bkb_template_images/profile_2.png",
                    "alt_text": "Dwight Schrute"
                },
                {
                    "type": "plain_text",
                    "emoji": true,
                    "text": "2 votes"
                }
            ]
        },
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": ":ramen: *Kagawa-Ya Udon Noodle Shop*\nDo you like to shop for noodles? We have noodles."
            },
            "accessory": {
                "type": "button",
                "text": {
                    "type": "plain_text",
                    "emoji": true,
                    "text": "Vote"
                },
                "value": "click_me_123"
            }
        },
        {
            "type": "context",
            "elements": [
                {
                    "type": "mrkdwn",
                    "text": "No votes"
                }
            ]
        },
        {
            "type": "divider"
        },
        {
            "type": "actions",
            "elements": [
                {
                    "type": "button",
                    "text": {
                        "type": "plain_text",
                        "emoji": true,
                        "text": "Add a suggestion"
                    },
                    "value": "click_me_123"
                }
            ]
        }
    ]
}]
  }
}

...