我一辈子都不能向另一个频道发布消息,而不是我通过网络连接的频道。我不能像我自己(在我的 slackID 下)那样做,就像应用程序一样。
问题是我必须为我的公司做这件事,所以我们可以将 slack 集成到我们自己的软件中。我只是不明白 JSON 的“有效负载”必须是什么样子(实际上我正在按照 Slack 网站上的说明进行操作,但它根本不起作用 - 它总是忽略诸如“令牌”之类的东西,“用户”、“频道”等)。
我也不明白如何使用像“ https://slack.com/api/chat.postMessage ”这样的 url-methods - 他们去哪里了?正如您在我的代码中可能看到的,我只有 webhookurl,如果我不使用它,我就无法发布任何内容。此外,我不明白如何使用诸如令牌、特定用户 ID、特定频道之类的参数...... - 如果我尝试将它们放入有效负载中,它们似乎会被忽略。
好吧,抱怨够了!现在我将向您展示我到目前为止所得到的。这是网上有人发的!但我改变并添加了一些东西:
public static void Main(string[] args)
{
Task.WaitAll(IntegrateWithSlackAsync());
}
private static async Task IntegrateWithSlackAsync()
{
var webhookUrl = new Uri("https://hooks.slack.com/services/TmyHook");
var slackClient = new SlackClient(webhookUrl);
while (true)
{
Console.Write("Type a message: ");
var message = Console.ReadLine();
Payload testMessage = new Payload(message);
var response = await slackClient.SendMessageAsync(testMessage);
var isValid = response.IsSuccessStatusCode ? "valid" : "invalid";
Console.WriteLine($"Received {isValid} response.");
Console.WriteLine(response); …Run Code Online (Sandbox Code Playgroud)