【问题标题】:how do I program a slackbot to send a regular message automatically every week我如何对 Slackbot 进行编程以每周自动发送常规消息
【发布时间】:2021-09-27 07:15:21
【问题描述】:

我正在构建一个 slackbot,它会提醒我组织中的人员每周执行某些管理(工时费用等)。我知道这可以很容易地通过每个人创建一个重复提醒来完成。我想要的是创建一个机器人,它将每周向人们发送一条预配置的消息。我在网上查了很多资料,但还没有发现 slackbot 如何在没有事件或没有其他提示的情况下发送消息。

我目前正在使用以下后端的本地 ngrok 服务器上对此进行测试:

const { WebClient } = require('@slack/web-api');
const { createEventAdapter } = require('@slack/events-api');

const slackSigningSecret = process.env.SLACK_SIGNING_SECRET;
const slackToken = process.env.SLACK_TOKEN;
const port = process.env.SLACK_PORT || 3000;

const slackEvents = createEventAdapter(slackSigningSecret);
const slackClient = new WebClient(slackToken);

slackEvents.on('app_mention', (event) => {
    console.log(`Got message from user ${event.user}: ${event.text}`);
    (async () => {
        try {
            await slackClient.chat.postMessage({ channel: event.channel, text: `Hello <@${event.user}>! Have you completed your Time sheets for this week yet?` })
        } catch (error) {
            console.log(error.data)
        }
    })();
});


slackEvents.on('error', console.error);

slackEvents.start(port).then(() => {
    console.log(`Server started on port ${port}`)
});

完成此提醒后,我打算在此基础上再接再厉(更多功能,只需要一个开始),因此请不要推荐我的组织可以向人们发送提醒的其他方式。

【问题讨论】:

    标签: slack slack-api slack-block-kit


    【解决方案1】:

    您可以尝试改用 chat.scheduleMessage 方法 (https://api.slack.com/methods/chat.scheduleMessage)。由于您不依赖事件,因此您可能希望存储必要的对话 ID,以便在应用需要调用该方法时准备好它们。

    【讨论】:

      猜你喜欢
      • 2019-04-08
      • 2023-01-12
      • 2022-08-19
      • 2021-09-17
      • 2015-09-10
      • 2020-08-09
      • 2017-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多