我正在尝试更新由我的漫游器发布的消息。但是,尝试调用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
)吗?这是一项重要功能,因为我的机器人有时会使用不同的显示名称和图标进行发布。
答案 0 :(得分:0)
您说您的消息是由webhook发布的,但我不确定这些消息是否可以通过API方法进行更新。
要确保您可以更新应用发布的消息,您要使用以下两种方法之一:
chat.postMessage
API方法而不是webhook来发布您的
消息。我建议您使用第一个,因为不管访问权限如何,它都可以在任何频道中工作。您的应用将需要有权访问频道才能使用第二种方法。 (对于某些私人频道可能是个问题)。
使用其中一种方法时,它还将确保来自应用程序的帖子始终具有应用程序的图标和名称(斜杠命令链接到的图标和名称)。