【问题标题】:CS1061 'object' does not contain definition for 'rawtext'CS1061“对象”不包含“原始文本”的定义
【发布时间】:2019-01-03 18:21:56
【问题描述】:

我一直在尝试为我正在为不和谐创建的机器人创建一个禁用词列表,我一直遇到它无法识别“原始文本”的麻烦,我尝试研究这个问题但没有真正的结果。

这是我的错误代码。 任何帮助将不胜感激。

CS1061 'object' 不包含 'rawtext' 的定义

private async Task BadWordsWarn(SocketMessage message, SocketGuildUser user, MessageEventArgs e)
{
    foreach (string badWord in File.ReadLines(@"bannedwords.txt"))
    {
        if (e.Message.Rawtext.Contains(badWord))
        {
            await ReplyAsync($"{user.Mention} Dont mention that in here");
        }
    }
}

【问题讨论】:

  • 我不熟悉 Discord API,但是e.Message 是什么类型的对象?您可能必须将其强制转换为特定类才能访问 Rawtext 属性。另一个建议是,也许该属性被称为RawText?因为那是正确的驼峰式

标签: c# discord discord.net


【解决方案1】:

我不确定您从哪里获得 MessageEventArgs
但是,我认为您可以在SocketMessage 中找到您要查找的内容。

var socketUserMessage = message as SocketUserMessage;
if(socketUserMessage == null) return; // do some error handling

foreach (string badWord in File.ReadLines(@"bannedwords.txt"))
{
    if (e.Content.Contains(badWord))
    {
        await ReplyAsync($"{user.Mention} Dont mention that in here");
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    • 2023-03-20
    • 2018-04-11
    • 1970-01-01
    相关资源
    最近更新 更多