如何解决C#Slack Bot到Slack Channel-使用Slash命令而不是聊天
我想向自己选择的频道发送斜杠命令。
我正在使用NuGet的Newtonsoft Json.NET序列化程序。目前,我有以下代码:
string messageToSend = @"/Kyber test task here";
string channelToSendTo = "#general";
var urlWithAccessToken
= "https://hooks.slack.com/services/TOKEN/SPECIFIC/STUFF";
var client = new SlackClient(urlWithAccessToken);
client.PostMessage(username: "MyBot",text: messageToSend,channel: channelToSendTo);
还有SlackClient.cs
public SlackClient(string urlWithAccessToken)
{
_uri = new Uri(urlWithAccessToken);
}
public void PostMessage(string text,string username = null,string channel = null)
{
Payload payload = new Payload()
{
Channel = channel,Username = username,Text = text
};
PostMessage(payload);
}
public class Payload
{
[JsonProperty("channel")]
public string Channel { get; set; }
[JsonProperty("username")]
public string Username { get; set; }
[JsonProperty("text")]
public string Text { get; set; }
}
它当前只说“ / kyber测试任务”,而不是调用/ kyber斜杠命令。
我已经看到了未记录的chat.command命令,但是它现在似乎不适用于Slack API。我希望有另一种方法可以不使用旧版应用程序功能,因为令我惊讶的是,我找不到比大约3-4年前还没有使用过的示例。
解决方法
我想这是答案,但是我向Slack支持。他们回答:
听起来您可能在问有关允许应用发送包含slash命令的消息以触发slash命令的问题。 如果是这样,恐怕是不可能的。相反,由于所有斜杠命令本质上都会触发特定的API端点,因此您需要与该斜杠命令的开发人员联系,以查看他们是否可以公开访问该端点,以便您可以创建自己的应用程序机制来尝试向这些端点触发命令端点。 很抱歉,我没有关于您的更好的消息。我希望这些信息可以帮助您前进。感谢您对此进行检查。
所以我认为答案是我正在使用的应用程序不支持该功能,而Slack也不支持。无论如何,谢谢您的帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。