Skype 将项目编号转换为表情符号

Skype Converting Item Numbers to Emoji

我的机器人在 Skype 中显示,但 6 和 8 显示为表情符号。

这只是一个普通的 FormFlow 表单:

public class WeightsForm
{
    public Weight FromUnitType { get; set; }
    public double Amount { get; set; }
    public Weight ToUnitType { get; set; }


    public static IForm<WeightsForm> BuildForm()
    {
        return new FormBuilder<WeightsForm>()
            .Message("Now you can select weight conversion details.")
            .AddRemainingFields()
            .Build();
    }
}

基于枚举的权重:

public enum Weight
{
    None,
    Ton,
    Slug,
    Pound,
    Ounce,
    Grain,
    Picogram,
    Nanogram,
    Microgram,
    Milligram,
    Centigram,
    Decigram,
    Gram,
    Dekagram,
    Hectogram,
    Kilogram,
    Megagram,
    Gigagram,
    Teragram
}

在 Skype 上显示没有表情符号的最佳方法是什么?

要解决此问题,您需要更改用于生成号码的模板,以便 Skype 不会将其解释为表情符号。如果您在 class 上添加此注释: [模板(TemplateUsage.EnumSelectOne, ChoiceFormat = "{0}.{1}")] 这将解决单个选择的问题。或者,您可以更改 builder.Configuration.Templates 中的默认模板。如果您想修复 EnumSelectMany,您也可以添加它。

您使用的是哪个版本的 SDK 运行?如果你是 运行 最新的,除非你调整了选择样式,否则你应该默认获得 Skype 上的按钮。 (下一个版本也会有更多的样式选项。)