C# 本地测试交互消息
我目前正在使用SlackConnector Repo。我已经创建了一个机器人,它向我的聊天室发送交互式消息。我想为我的交互按钮添加功能,但单击它们后,我得到了此响应<代码>该死的-那没用。只有Slack应用程序才能向消息中添加交互元素。在此处管理您的应用程序:https://api.slack.com/apps/所以看起来我需要一个请求URL来克服当前的障碍。是否有办法在本地测试交互式消息按钮C# 本地测试交互消息,c#,slack,slack-api,C#,Slack,Slack Api,我目前正在使用SlackConnector Repo。我已经创建了一个机器人,它向我的聊天室发送交互式消息。我想为我的交互按钮添加功能,但单击它们后,我得到了此响应该死的-那没用。只有Slack应用程序才能向消息中添加交互元素。在此处管理您的应用程序:https://api.slack.com/apps/所以看起来我需要一个请求URL来克服当前的障碍。是否有办法在本地测试交互式消息按钮 List<SlackAttachment> attachments = new List<S
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;
列表附件=新列表();
列表操作=新建列表();
操作。添加(新SlackAttachmentAction
{
Name=“游戏”,
Text=“chess”,
Type=“button”,
Value=“国际象棋”
});
操作。添加(新SlackAttachmentAction
{
Name=“游戏”,
Text=“法尔肯迷宫”,
Type=“button”,
Value=“迷宫”
});
操作。添加(新SlackAttachmentAction
{
Name=“游戏”,
Text=“热核战争”,
Type=“危险”,
Value=“战争”
});
附件。添加(新的松弛附件
{
Text=“选择要玩的游戏”,
Fallback=“您无法选择游戏”,
CallbackId=“wopr\u游戏”,
ColorHex=“#3AA3E3”,
动作=动作
});
连接。说(新消息)
{
ChatHub=ChatHub,
Text=“用法:!说话”,
附件=附件
});
返回Task.CompletedTask;
我尝试过的一件事是,我将请求URL设置为使用从生成的URL,但在单击时仍然得到相同的响应。在我看来,您有两个问题 你没有松弛的应用程序 只有当你有一个注册的Slack应用程序时,交互式消息才有效。这就是你收到错误信息的原因。但是你可以很容易地创建一个。只需点击“创建新应用”。您需要它的一个原因是,在用户单击按钮后,您需要告诉Slack将请求发送到哪个URL Slack无法访问您的本地应用程序
Slack的互动信息只适用于可以从公共互联网访问的应用程序。因此,如果你想在本地开发你的应用程序,你需要打开你的网络服务器到互联网。有很多方法可以做到这一点,一个安全的方法是使用VPN隧道服务。这类服务的一个提供者是,这也是官方Slack教程中推荐的。我自己使用它,效果很好。也许你可以把这个答案和原来的问题联系起来?就目前情况而言,很难看出这将如何或为什么解决他的问题。当然,我会扩展我的回答hi@ErikKalkoken谢谢你的回答。目前我正在尝试使用ngrok,但我觉得我的设置是错误的。我和ngrok在线,我把Forwaring地址作为交互式消息的请求url。所以,当我点击一个按钮时,我得到了相同的响应,而ngrok也没有收到请求。有什么想法吗?我实际上没有得到同样的回答。我收到了
Darn–这不起作用。只有Slack应用程序才能向消息中添加交互元素。在此处管理您的应用程序
您是否安装了Slack应用程序并获得了新的访问令牌?您需要使用新的访问令牌来发送包含按钮的消息。请参阅本地开发文档: