Эффективное создание объектов на основе выбранных наборов блоков - PullRequest
0 голосов
/ 06 апреля 2019

Я хочу открывать шаблон набора блоков всякий раз, когда обнаруживаю какой-то текст в прямом сообщении в мой блок, например: «добавить продукт». Он может вернуть шаблон набора блоков, который выглядит следующим образом:

Add Product Block Kit Template

Это уже работает в моем коде. Но когда я выбираю свои параметры в наборе блокировок и нажимаю кнопку «Отправить», в полезную нагрузку включается только информация о кнопке «Отправить», а не о том, какой продукт был выбран или его стоимость.

Вместо этого мы используем действия в серверной части, которая выглядит следующим образом:

slackInteractions.action({ actionId: 'changeProduct' }, (pay: any, res: any) => changeProduct(pay, res));
slackInteractions.action({ actionId: 'changeCost' }, (pay: any, res: any) => changeCost(pay, res));
slackInteractions.action({ actionId: 'addProduct' }, (pay: any, res: any) => addProduct(pay, res));

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

const product = new Product(product, cost);

Это очень сложно сделать сейчас, потому что вам нужно искать конкретный продукт при изменении цены, затем менять его, а при отправке искать его в каком-то хранилище данных. Разве невозможно получить всю информацию при нажатии кнопки «Отправить» («добавить товар»)?

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

...