是否可以将文件上传到某个频道而不使用 Slack API 将其发布为消息?

Is it possible to upload a file to some channel without publishing it as a message using Slack API?

我正在尝试使用 Slack API 中的 files.upload

with open("test.txt", "rb") as file:
    files = {"file": ("test.txt", file, "text")}

    payload = {
        "title": filename,
        "filename": filename,
        "token": slack_token_bot,
        "channels": [slack_channel],
    }

    res = requests.post(
        "https://slack.com/api/files.upload",
        params=payload,
        files=files,
        timeout=30,
    )

它工作正常,但它会立即在相应的频道中发布消息。我想避免这种情况:我只需要上传文件的 url,这样我以后就可以将包含 link 的自定义消息格式化为 Block elements.

是否可以在不创建消息的情况下上传到频道?

我也考虑过使用空 "channels" 并稍后分享,但它不会很容易工作:

实际上,如果 "channels" 为空,我什至无法使用请求返回的任何 url 来查看文件(我猜这是因为该文件属于机器人而不是用户,因此在发布到频道之前它是私有的。

不幸的是,如果不在 public 频道中共享文件,就无法完成您想要的。也许创建一个仅供您上传文件的 public 频道?不理想,但如果您是该频道的唯一成员,它至少会减少较大 public 频道中不需要的噪音,您仍然可以将自定义消息发送到您需要的频道。