我正在尝试更新我的机器人发布的消息。但是,我在尝试调用chat.update时收到'cant_update_message'错误。这就是我的电话:
oauth_token = os.environ.get("OAUTH_TOKEN")
sc=SlackClient(oauth_token)
sc.api_call("chat.update", channel=channel_id, text=text, ts=ts)
我还尝试了Bot OAuth令牌而不是OAuth令牌,以及as_user(True,False,机器人的用户ID ......)的所有组合都没有成功。
另请注意,频道和时间戳已经过测试并且是正确的;当我发布消息时,我可以使用OAuth令牌更新消息,我是通过斜杠命令调用它的人。
我是Slack API开发的新手。你能让我知道我需要做些什么才能让它发挥作用吗?
此外,是否可以通过chat.update发布消息时自定义其他设置(如username
和icon_url
)?这是一个重要的功能,因为我的机器人有时使用不同的显示名称和图标发布。
你说你的消息是由webhook发布的,我不确定那些可以通过API方法更新。
为确保您可以更新应用发布的消息,您需要使用以下两种方法之一:
chat.postMessage
API方法而不是webhook发布您的消息。我会推荐第一个,因为无论访问权限如何,它都可以在任何渠道中使用。您的应用需要访问频道才能使用第二种方法。 (这可能是某些私人渠道的问题)。
当您使用其中一种方法时,它还将确保您应用中的帖子始终具有应用的图标和名称(斜杠命令链接到的那个)。