如何在 C# if 语句中使用 Discord 表情符号

Posted

技术标签:

【中文标题】如何在 C# if 语句中使用 Discord 表情符号【英文标题】:How to use a Discord emoji in a C# if statement 【发布时间】:2019-06-17 12:06:33 【问题描述】:

我正在为我的机器人制作商店命令,其中包含栗子、戒指、橘子、甜甜圈和挑选表情符号作为测试运行。当我尝试输入 :chestnut: emoji 作为要购买的商品时,它会将其保存为“item”,但它似乎与 if 语句中的“:chestnut:”不同

[Command("buy")]
public async Task Buy(string item)

    if (item == ":chestnut:" || item == ":ring:" || item == ":tangerine:" || item == ":doughnut:" || item == ":pick:")
    
        await ReplyAsync($"item purchased!");
    
    else
    
        await ReplyAsync("Please enter of of the correct item emojis in order to purchase");
    

我也尝试过其他表情符号,但我仍然得到其他区域的响应

【问题讨论】:

表情符号可能只是一个 Unicode 代码点,您应该与之进行比较 @BradleyDotNET 我在哪里可以找到它的 unicode 信息,我将如何表示它? 您可以从 unicode.org 网站获取有关表情符号的信息。例如:这里有一些关于chestnut emoji 的信息 【参考方案1】:

以下应该有效。只需将表情符号复制/粘贴到双引号中即可。毕竟是人物。

[Command("buy")]
public async Task Buy(string item)

    if (item == "?" || item == "?" || item == "?" || item == "?" || item == "⛏")
    
        await ReplyAsync($"item purchased!");
    
    else
    
        await ReplyAsync("Please enter of of the correct item emojis in order to 
        purchase");
    

此解决方案假定 item 变量本身是一个表情符号

【讨论】:

【参考方案2】:

您可以在 if 语句处添加断点 并查看作为项目字符串传递给您的函数的内容,然后在您的 if 语句中使用它而不是“:chestnut:”。 希望对您有所帮助。

【讨论】:

我不知道为什么我没有想到这个 tbh,效果很好

以上是关于如何在 C# if 语句中使用 Discord 表情符号的主要内容,如果未能解决你的问题,请参考以下文章

这个 discord.js 命令如何违反 if 语句?

C# Discord.NET 加入语音频道时出错

如何在 discord.js 中创建 case 语句

如何在 C# 中使用 If DEBUG 语句而没有 IDE 认为代码无法访问?

我可以使用类而不是所有这些if语句吗? Discord python bot

如何在 C# 中使用 Discord Bot 发送消息?