-3

我想在文件“b”中使用文件“a”中的变量。我在网上搜索了一下,但它仍然不起作用。

所以我得到了文件bot.cs和文件profanityFilter.cs

profanityFilter.cs我想使用incomingMessagefrom bot.cs

机器人.cs:

class Bot
{
        public static void Client_OnMessageReceived(object sender, OnMessageReceivedArgs e)
        {
            var incomingMessage = e.ChatMessage.Message;

            //Profanity filter testing received message (need to get incoming message over to profanityFilter.cs)

            profanityFilter.Filter();

            Console.WriteLine($"[{TwitchInformation.BotName}]: [{e.ChatMessage.DisplayName}]: 
            {e.ChatMessage.Message}");
        }
} 

亵渎过滤器.cs:

class profanityFilter
{
        public static async void Filter()
        {
            var client = new HttpClient();

            Bot message = new Bot();
            var incomingMessagesFromUser = message.Client_OnMessageReceived.IncomingMessages;

            var request = new HttpRequestMessage
            {
                Method = HttpMethod.Post,
                RequestUri = new Uri("https://neutrinoapi-bad-word-filter.p.rapidapi.com/bad-word-filter"),
                Headers =
                {
                    { "x-rapidapi-key", "xxx" },
                    { "x-rapidapi-host", "neutrinoapi-bad-word-filter.p.rapidapi.com" },
                },
                Content = new FormUrlEncodedContent(new Dictionary<string, string>
                {
                    { "censor-character", "*" },
                    { "content", incomingMessagesFromUser },
                }),
            };

            using (var response = await client.SendAsync(request))
            {
                response.EnsureSuccessStatusCode();
                var body = await response.Content.ReadAsStringAsync();
                Console.WriteLine(body);
            }
        }
}

但我收到此屏幕截图中显示的错误:

在此处输入图像描述

4

1 回答 1

0

只需profanityFilter.Filter接受一个参数,即来自机器人的消息

public static async void Filter(string message)

    public static async void Filter(string message)
    {
        var client = new HttpClient();

        var request = new HttpRequestMessage
        {
            Method = HttpMethod.Post,
            RequestUri = new Uri("https://neutrinoapi-bad-word-filter.p.rapidapi.com/bad-word-filter"),
            Headers =
            {
                { "x-rapidapi-key", "xxx" },
                { "x-rapidapi-host", "neutrinoapi-bad-word-filter.p.rapidapi.com" },
            },
            Content = new FormUrlEncodedContent(new Dictionary<string, string>
            {[enter image description here][1]
                { "censor-character", "*" },
                { "content", message },
            }),
        };
        using (var response = await client.SendAsync(request))
        {
            response.EnsureSuccessStatusCode();
            var body = await response.Content.ReadAsStringAsync();
            Console.WriteLine(body);
        }
    }

PS:通常在 C# 中的类名是Pascal Cased

于 2020-11-21T15:26:21.057 回答