标签: slack

如何下载 slackbot 创建的文件?

我创建了一个机器人,它从工作区中的用户收集信息。它将这些信息存储在本地服务器上的 csv 文件中。我如何下载该文件?我从 Stack Overflow 上得到了这段代码,尝试联系作者,但没有得到任何回复。

import requests
url = 'https://slack-files.com/T0JU09BGC-F0UD6SJ21-a762ad74d3'
token = 'xoxp-TOKEN'
requests.get(url, headers={'Authorization': 'Bearer %s' % token})
Run Code Online (Sandbox Code Playgroud)

如何获取文件的 URL 和令牌?令牌是什么?它是机器人的 OAuth 令牌吗?

假设我希望下载stats.csv由 slackbot 创建的服务器命名的文件,但我没有它的 URL,我该如何下载它?

python slack-api slack

2
推荐指数
1
解决办法
4790
查看次数

向自己发送消息时出现channel_not_found错误

我正在使用 python3.6 并尝试向自己发送消息以开始在 slack 中进行交互。

我已经安装pip install slackclient并正在使用 slackclient v2.2.1

频道 ID 是从我帐户的 slack 链接中提取的https://XXXXX.slack.com/messages/XXXXXXXXX

我想在我的 Slack 帐户中看到嗨消息。有什么建议。


client = slack.WebClient("BOT_USER_TOKEN", timeout=30)
client.chat_postMessage(
    channel='CHANNEL_ID',
    text='Hi!')```


Run Code Online (Sandbox Code Playgroud)

python python-3.x slack-api slack

2
推荐指数
1
解决办法
3762
查看次数

使用机器人向 Slack 发布消息

我有一个松弛实例,我是唯一的用户(到目前为止)。我正在尝试使用机器人帐户发布一条简单的“hello world”消息,因此该消息不会显示为来自我的帐户。

$url = "https://slack.com/api/chat.postMessage?token=xoxb-XXXXXX&channel=general&text=hello%20world";
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, TRUE); 
curl_setopt($ch, CURLOPT_NOBODY, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
$head = curl_exec($ch); 
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
curl_close($ch); 
Run Code Online (Sandbox Code Playgroud)

当我使用xoxp-XXXXoAuth 令牌发布时,它效果很好,只不过它来自我的帐户。当我使用xoxb-XXXX令牌发帖时,我会收到"error": "not_in_channel"回复。我收到了chat:write:user用户范围错误 - 尽管我已向我的应用程序授予了所有 50 个权限。

如何设置我的 Slack 应用程序以允许从应用程序上的机器人帐户而不是从我的帐户进行此写入?

php api permissions slack-api slack

2
推荐指数
1
解决办法
2275
查看次数

设置 PromQL 值的格式

我使用此查询规则进行警报:

- alert: HostOutOfMemory

    expr: (1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100 > 90

    for: 5m

    labels:

      severity: warning

    annotations:

      summary: "{{ $labels.name }} out of memory "

      description: "Host memory is {{ $value }}%"
Run Code Online (Sandbox Code Playgroud)

但是该值是float(PromQL的默认值),我想格式化它(如下图,我可以将其更改为仅显示90%),我该怎么办?

在此输入图像描述

谢谢您阅读此篇。

prometheus slack promql

2
推荐指数
1
解决办法
1982
查看次数

Slack Bolt Python:如何使模式中的输入字段可选?

我正在使用模态来收集数据。我通过以下代码打开了一个视图:

view = {
    "type": "modal",
    "title": {
        "type": "plain_text",
        "text": "My App",
        "emoji": True
    },
    "submit": {
        "type": "plain_text",
        "text": "Submit",
        "emoji": True
    },
    "close": {
        "type": "plain_text",
        "text": "Cancel",
        "emoji": True
    },
    "blocks": [
        {
            "type": "input",
            "element": {
                "type": "plain_text_input",
                "action_id": "plain_text_input-action"
            },
            "label": {
                "type": "plain_text",
                "text": "Please leave feedback here",
                "emoji": True
            }
        }
    ]
    }
slack_client.views_open(trigger_id=body['trigger_id'],view=view)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我想让输入文本可选,也就是说,即使用户将输入字段留空,他/她仍然可以提交模式。这能实现吗?

slack-api slack slack-block-kit

2
推荐指数
1
解决办法
1294
查看次数

Slack 机器人无法向带有 - 或空格(例如“频道名称”)的频道发送消息

我的 Slack 机器人无法向带有空格或类似“频道名称”的频道发送消息,但对于单字频道效果很好。

  $curl = curl_init();

  curl_setopt_array($curl, array(
    CURLOPT_URL => "https://slack.com/api/chat.postMessage",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_POSTFIELDS =>"{ \"channel\": \"channel-withspace\",\"text\": \"hello\"}",
    CURLOPT_HTTPHEADER => array(
      "Content-Type: application/json",
      "Authorization: Bearer <here>"
    ),
  ));

  $response = curl_exec($curl);

  curl_close($curl);
  echo $response;
Run Code Online (Sandbox Code Playgroud)

这是错误:

{"ok":false,"error":"not_in_channel","warning":"missing_charset","response_metadata":{"warnings":["missing_charset"]}}
Run Code Online (Sandbox Code Playgroud)

slack-api slack slack-commands

2
推荐指数
1
解决办法
2473
查看次数

向 Slack 发送 Azure 监视器警报不工作

我确信这个问题已经被问过很多次了,但我无法找到相关的答案。有没有办法通过逻辑应用程序或其他方式将Azure监视器警报发送到slack。我找到了这个模板 - https://github.com/Azure/azure-quickstart-templates/tree/master/demos/alert-to-slack-with-logic-app并将其集成到我的azure系统中,但它不是在职的。

已经尝试了一些解决办法 - https://github.com/Azure/azure-quickstart-templates/issues/3319但都是徒劳的

不支持使用 slack 传入 Webhook 的操作组直接 Webhook,因为 azure 使用其自己的架构发送警报。

任何意见都将受到高度赞赏...

azure slack azure-alerts

2
推荐指数
1
解决办法
1173
查看次数

Azure 函数 v4 dotnet-isolated - 如何读取 www-form-urlencoded 中的数据?

我创建了一个机器人,它接收来自 Slack 用户的斜线命令。我正在尝试访问内容类型为 www-form-urlencoded 的 slack 消息的有效负载。

我尝试过解析为查询:

[Function("SetSubject")]
public async Task<HttpResponseData> SetSubjectPost(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequestData req, FunctionContext executionContext)
{
    var parsedFormBody = HttpUtility.ParseQueryString(req.Url.Query);
    var text = parsedFormBody["text"];
    var userId = parsedFormBody["user_id"];
}
Run Code Online (Sandbox Code Playgroud)

我尝试从以下位置获取它FunctionContext

[Function("SetSubject")]
public async Task<HttpResponseData> SetSubjectPost(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequestData req, FunctionContext executionContext)
{
    var text = executionContext.BindingContext.BindingData["text"]?.ToString();
    var userId = executionContext.BindingContext.BindingData["user_id"]?.ToString();
}
Run Code Online (Sandbox Code Playgroud)

还尝试将正文解析为MultipartFormData

[Function("SetSubject")]
public async Task<HttpResponseData> SetSubjectPost(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequestData …
Run Code Online (Sandbox Code Playgroud)

.net azure slack azure-functions

2
推荐指数
1
解决办法
1629
查看次数

如何生成一个永不过期的令牌?

我需要创建一个可以持续很长一段时间的松弛令牌,但我能找到的只是测试令牌,我不知道他们甚至会因为我试图在他们的文档中搜索但是我能找到的所有内容都是机器人令牌和测试令牌,你的帮助非常感谢,我使用facebook的API,他们有一种方法来生成一个永不过期的令牌是松弛可用吗?

slack-api slack

1
推荐指数
1
解决办法
761
查看次数

通过松弛Webhook将消息发送到其他频道失败

我不确定我是否正确地理解了如何使用webhooks,但是:我想以不同的渠道或不同的用户(而不是一次)发送消息,而无需参与该对话。

我的问题:我只能为特定用户创建webhooks,所以我最终为每个用户/频道拥有唯一的URL?如果我使用我所使用的库中的“ channel”参数或什至“ setReceipent”方法之类的东西,它不会有任何效果,只有为webhook创建的频道/用户会收到消息。

我需要使用API​​访问权限还是可以使用Webhooks满足我的需求?

webhooks slack-api slack

1
推荐指数
1
解决办法
3547
查看次数