我正在嘗試使用slack web api向用戶發送直接消息,但我認為獲取所有可用用戶的getSlackUser 方法在我調用 slackId 時沒有及時完成;console.log(slackId) 給出了未定義的意思,它沒有用bolt完成我的 api 調用如何確保 getSlackUser 方法在繼續執行其他方法之前完成(使其阻塞)?const { WebClient } = require('@slack/web-api');const { App } = require('@slack/bolt')const rtm = new RTMClient(process.env.SLACK_OAUTH_TOKEN);const web = new WebClient(process.env.SLACK_OAUTH_TOKEN);const app = new App({ token: process.env.SLACK_OAUTH_TOKEN, signingSecret: process.env.SLACK_SIGNING_SECRET});exports.handler = async (event) => { const slackId = await getSlackUser('example_real_name').id; console.log(slackId); await sendSlackMessage(slackId, 'Bot message');}sendSlackMessage = async (channel, message) => { await web.chat.postMessage({ channel: channel, text: message, as_user: true });}getSlackUser = async(real_name) => { const result = await app.client.users.list({ token: process.env.SLACK_OAUTH_TOKEN }); console.log(result); return result.members.find((user) => user.real_name == real_name);}
slack bot 使用 aws lambda 函數向用戶發送直接消息
茅侃侃
2023-03-18 16:36:28