如何在Circuit JavaScript SDK中获取向机器人发送消息的用户的电子邮件?

时间:2019-07-25 11:56:58

标签: node.js circuit-sdk

我正在创建一个机器人,它将在Circuit中接收消息,然后将其与打印此消息的用户的电子邮件一起发送到其他地方。

例如,我使用xlator-bot https://github.com/circuit/xlator-bot

this.receiveItem = function receiveItem(item) {
        logger.info('[APP]: receiveItem');

        if (item.type !== 'TEXT' || self.sentByMe(item)) {
            logger.debug('[APP]: skip it is not text or I sent it');
            return;
        }

        if (!item.text || !item.text.content) {
            logger.info('[APP]: skip it does not have text');
            return;
        }

        self.receiveText(htmlToText.fromString(item.text.content))
            .then (function addResponseItem(responseItem){
                logger.info('[APP]: addResponseItem');
                var comment = {
                    convId: item.convId,
                    parentId: (item.parentItemId) ? item.parentItemId : item.itemId,
                    content: responseItem
                };
                return client.addTextItem(item.convId, comment);
            })
            .catch(function(e){
                logger.error('[APP]:', e);
            });
    };

我想获取在此函数中发送项目的用户的电子邮件作为字符串变量。谁能建议我该怎么做?

1 个答案:

答案 0 :(得分:0)

item具有属性creatorId,它是发送者的userId。 API getUserById将返回包含emailAddress属性的用户对象。

请参阅 https://circuitsandbox.net/sdk/classes/Item.html#property_creatorIdhttps://circuitsandbox.net/sdk/classes/Client.html#method_getUserById以及 https://circuitsandbox.net/sdk/classes/User.html#property_emailAddress