我目前正在使用SlackConnector Repo https://github.com/noobot/SlackConnector。我创建了一个机器人,它会向我的聊天发送交互式消息。我想为我的交互式按钮添加功能,但点击它们后我得到了这个回复。 Darn – that didn’t work. Only Slack Apps can add interactive elements to messages. Manage your apps here: https://api.slack.com/apps/
所以看起来我需要一个请求网址才能让我过去目前的路障。有没有办法在本地测试交互式消息按钮?
List<SlackAttachment> attachments = new List<SlackAttachment>();
List<SlackAttachmentAction> actions = new List<SlackAttachmentAction>();
actions.Add(new SlackAttachmentAction
{
Name = "game",
Text = "chess",
Type = "button",
Value = "Chess"
});
actions.Add(new SlackAttachmentAction
{
Name = "game",
Text = "Falken's Maze",
Type = "button",
Value = "Maze"
});
actions.Add( new SlackAttachmentAction
{
Name = "game",
Text = "Thermonuclear War",
Type = "danger",
Value = "war"
});
attachments.Add(new SlackAttachment
{
Text = "Choose a game to play",
Fallback = "You are unable to choose a game",
CallbackId = "wopr_game",
ColorHex = "#3AA3E3",
Actions = actions
});
connection.Say(new BotMessage
{
ChatHub = chatHub,
Text = "Usage: !talk <user>",
Attachments = attachments
});
return Task.CompletedTask;
我尝试过的一件事是将请求网址设置为使用从https://webhook.site/#/生成的网址,点击
后仍然会得到相同的响应答案 0 :(得分:3)
在我看来,你有两个问题。
您没有Slack应用
交互式消息仅在您拥有已注册的Slack应用程序时才有效。这就是你收到错误信息的原因。但你可以轻松创建一个。只需转到here,然后点击&#34;创建一个新应用&#34;。您需要的一个原因是,在用户单击按钮后,您需要告诉Slack要发送请求的URL。
Slack无法访问您的本地应用
Slack的交互式消息仅适用于可从公共互联网访问的应用程序。因此,如果您想在本地开发应用程序,则需要将Web服务器打开到Internet。有很多方法可以做到这一点,一种安全的方法是使用VPN隧道服务。这种服务的一个提供者是ngrok,这也是官方Slack教程中推荐的。我自己使用它,效果很好。