我有一个松弛的机器人,它回复发送给用户的消息 . 我做这样的事情:

startSlackRtm() {
    this.slackObject = slackbot({
        require_delivery: true
    });
    this.slackObject.log("Going to start the slack rtm connection. ");
    const slackBot = this.slackObject.spawn({
        retry: true,
        token: this.botConstants.token
    });
    slackBot.startRTM((err, bot, payload) => {
        if(err) {
            this.slackObject.log('error', "RTM connection failed. I will retry in a few seconds. ");
            return setTimeout(this.startSlackRtm(), 9000);
        }
        this.slackObject.log("Slack is running fine now. ");
    })
}
reply(bot, username, reply) {
    bot.reply({
        channel: username
    }, reply)
}
slackHears() {
    this.slackObject.hears(['.*'], ['direct_message', 'mention'], (bot, message) => {
        let userId = message.user, userProfile = {};
        bot.api.users.info({
            token: this.botConstants.token,
            user: userId
        }, async(err, res) => {
            if (err) this.slackObject.log("error", err);
            userProfile = res.user.profile;
            let username = userProfile.email.split("@")[0];
            this.reply(bot, this.botConstants.defaultChannel, feedbackDetail);
        })
    })
}

但是我有一个用例,我只想根据一些kafka事件发送通知,或者说我想在没有他与我的机器人交互的情况下向用户@tom发送消息 .

我怎么能这样做...任何帮助将受到高度赞赏 . 如果您正在寻找更多信息,请与我们联系 .