• Хостинг игровых серверов

    Максимальная производительность для ваших игровых серверов!

    Заказать сейчас

Помогите Проблема в компиляции скрипта

olol321

Нестандартное звание
6 (78%)
22 Июн 2023
650
3
178
238
24
В чем я не прав, расскажите покажите:
лог в консоли:
Error while compiling: Script.cs(239,28): error CS0023: The `.' operator cannot be applied to operand of type `System.Net.Http.HttpClient'
скрипт:
C#:
            public async Task SendMessageAsync(string message)
            {
                var boundary = $"------------------------{DateTime.UtcNow.Ticks:x}";
                var formData = new MultipartFormDataContent(boundary);
                var messageContent = new StringContent(message);
                formData.Add(messageContent, "content");

                var httpClient = new HttpClient();
                httpClient.DefaultRequestHeaders.Add("Authorization", $"Bot {token}");

                var requestUri = $"https://discord.com/api/v9/channels/{channelId}/messages";
                var response = await httpClient.PostAsync(requestUri, formData);
                response.EnsureSuccessStatusCode();

                httpClient.Dispose();
            }
подключил либы:
using System.Net.Http;
using System.Threading.Tasks;
vs ошибок не выдает, за то сервер ноет
 
Ошибка указывает на то, что оператор точки "." не может быть применен к типу System.Net.Http.HttpClient. Это происходит потому, что HttpClient - это класс, а не объект.

В строке:

var httpClient = new HttpClient();

Вы создаете объект HttpClient. Теперь вы можете использовать оператор "." для доступа к его методам и свойствам.

Но в строке:

httpClient.DefaultRequestHeaders.Add("Authorization", $"Bot {token}");

Вы используете оператор "." для доступа к свойству DefaultRequestHeaders класса HttpClient.

Я рекомендую проверить, что у вас есть значение для переменной "token" и что она доступна в данном контексте. Также убедитесь, что вы правильно используете оператор "." для доступа к свойствам и методам объекта HttpClient.
 
В чем я не прав, расскажите покажите:
лог в консоли:
Error while compiling: Script.cs(239,28): error CS0023: The `.' operator cannot be applied to operand of type `System.Net.Http.HttpClient'
скрипт:
C#:
            public async Task SendMessageAsync(string message)
            {
                var boundary = $"------------------------{DateTime.UtcNow.Ticks:x}";
                var formData = new MultipartFormDataContent(boundary);
                var messageContent = new StringContent(message);
                formData.Add(messageContent, "content");

                var httpClient = new HttpClient();
                httpClient.DefaultRequestHeaders.Add("Authorization", $"Bot {token}");

                var requestUri = $"https://discord.com/api/v9/channels/{channelId}/messages";
                var response = await httpClient.PostAsync(requestUri, formData);
                response.EnsureSuccessStatusCode();

                httpClient.Dispose();
            }
подключил либы:
using System.Net.Http;
using System.Threading.Tasks;
vs ошибок не выдает, за то сервер ноет
Если ты пишешь плагин для rust, то используй webrequests


C#:
webrequest.Enqueue("https://discord.com/api/v9/channels/{channelId}/messages", "<body>", (code, response) =>
{
    // your code
}, this, Core.Libraries.RequestMethod.POST, new Dictionary<string, string>()
{
    ["Authorization"] = $"Bot {token}"
}, 10000);
 
а что не так с асинками и с либой net.http?
Насколько я помню, эта либа запрещена в oxide. А в асинхронности просто напросто нет никакого смысла в этом случае. Ты впринципе ей в расте ничего особого не сделаешь
 
можешь обьяснить что я не так пишу в body?
string jsonBody = "{\"content\":\"" + message + "\"}";
ответ:
Response: 400 -- {"message": "Cannot send an empty message", "code": 50006}
Подтверди пожалуйста номер телефона. Я не буду подтверждать каждое твое сообщение больше.
 
  • Мне нравится
Реакции: MrFallen
Активность
Пока никто не печатает сообщение