每当我在直接向我的商品的直接消息中检测到某种文本时,我都希望打开一个商品工具箱模板,例如:“添加产品”。它可能会返回如下所示的模块套件模板:
这已经在我的代码中起作用了。但是,当我在模块工具包中选择我的选项并单击“提交”时,有效负载仅包含有关“提交”按钮的信息,而不包含所选的产品或其成本。
相反,我们在后端使用如下所示的操作:
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);
这非常麻烦,因为您需要在更改价格时查找特定产品,然后进行更改,然后在提交后从某种数据存储中查找它。单击提交(添加产品)按钮时,真的不可能获得所有信息吗?
我知道使用对话框是可行的,但是对话框不是我的选择,因为在编写文本时仅使用命令和操作就无法触发对话框。对吧?