slack-api - 在频道中最后一条消息的 4 个月后归档松弛频道
问题描述
我正在寻找一种在频道中最后一个消息 4 个月后存档松弛频道的方法。
我查看了商店中的应用程序和 slack 的功能。我的要求没有解决方案。我需要自己制作,但不确定是否需要使用 api 制作机器人或应用程序。
这个想法是当频道名称具有扩展名为 proj- 时,该频道中的最后一个 msg 是 4 个月大。此频道需要存档。
解决方案
python中可能的示例
这不是官方的 Slack API 示例应用程序或任何东西,但它与您所描述的非常相似 - Destalinator
编写一个基本脚本来实现它
在高层次上,您想要做的事情是非常可能的,不需要太复杂。
获取频道列表
您要做的是在您的服务器上安排一个 ping 的预定作业conversations.list
。该端点将返回工作区中的一组通道。您可以排除已存档的频道以使列表更易于管理。获得该列表后,我建议删除created
不到 4 个月的频道,再次精简列表。
获取最后一条消息的时间
获得精简的频道列表后,您将需要对其进行迭代,conversations.history
在每个频道上执行 ping 操作,并将oldest
参数设置为您喜欢的时间段,在本例中为 4 个月。
如果给定频道的响应包含一个空messages
数组,则该频道自oldest
. 将此频道 ID 存储在某处以供以后使用。
遍历所有可能的频道后,您应该有一个较小的数组,现在只包含过去 4 个月内没有内容的频道 ID。
归档“陈旧”频道
剩下的唯一步骤是归档它们,我们将使用conversations.archive
端点来完成。这里唯一的参数是 atoken
和 a channel
。因此,遍历您的频道以存档数组,为每个条目点击此端点。
有了这一切,你就完成了!
推荐阅读
- css - 尝试删除导航栏和文本正文之间的空白
- laravel - 从内部控制器方法将数据插入数据库
- java - Java:线程“main”中的异常 java.lang.Error:未解决的编译问题:无法解析阅读器
- mysql - 月、日、年列的数据库查询
- sql - 将增量计数添加到 SQL 子查询的唯一值
- javascript - 未找到 Rails 6 application.js 函数
- microsoft-translator - 在请求繁体中文翻译时,为简体中文定制的引擎的行为是什么?
- drone - 无人机无效或缺少管道部分
- google-apps-script - 使用 AppScript 的域超级管理员收到错误:对 drive.teamdrives.insert 的 API 调用失败并出现错误:此文件的权限不足
- python - python中的数千行错误是什么