【问题标题】:Detect emoji in Bot Framework在 Bot Framework 中检测表情符号
【发布时间】:2017-02-07 16:05:12
【问题描述】:

我正在使用 Bot Framework 开发一个机器人。收到消息时,我需要检测传入消息中发送的表情符号。

我正在考虑使用正则表达式来执行此操作,但我无法做到。问题是不同的频道向机器人发送表情符号的方式不同。我已经为“receive”事件注册了一个监听器,并查看了为发送相同微笑表情符号的不同频道提供的文本:

  • 松弛::smile:
  • Skype:<ss type="smile">:)<ss>
  • 模拟器:????

我需要识别我收到的表情符号并相应地采取行动。理想情况下,无论我使用什么频道,我都希望收到表情符号的 unicode 字符。有没有办法做到这一点?

【问题讨论】:

标签: node.js emoji botframework


【解决方案1】:

我认为您可以使用中间件检查用户响应,然后(根据您发送消息的渠道)转换为任何通用表情符号。

在您的示例中:

  • 松弛::微笑:
  • Skype: :)
  • 模拟器:?

您的结果可能是:“:)”。涵盖所有支持的渠道中的所有表情符号可能非常复杂。

var bot = new builder.UniversalBot(connector, [
    function (session) {
        builder.Prompts.text(session, 'Please send an emoji...');
    },
    function (session, result) {
        console.log(result.response);
    }
]);

const convertEmoji = (event) => {
    if (event.source === "skype") {
        if (/laugh/g.test(event.text)) {
            event.text = ':D';
        }
    }
};

bot.use({
    receive: function (event, next) {
        convertEmoji(event);
        next();
    }
});

考虑到这将适用于用户发送给机器人的所有消息。

【讨论】:

    猜你喜欢
    • 2022-01-03
    • 1970-01-01
    • 2018-04-04
    • 2019-12-26
    • 1970-01-01
    • 2023-03-18
    • 2021-01-15
    相关资源
    最近更新 更多