DonationAlerts API C#
Как получить сообщение о донате на C# Нашел код на Java он работает через сокет, но я не смог перенести его на C#
Выдает ошибку:
Quobject.EngineIoClientDotNet.Client.EngineIOException: xhr poll error ---
> System.AggregateException: Произошла одна или несколько ошибок. --->
System.Net.WebException: Удаленный сервер возвратил ошибку: (400)
Недопустимый запрос.
в System.Net.HttpWebRequest.GetResponse()
в Quobject.EngineIoClientDotNet.Client.Transports.PollingXHR.XHRRequest.
<Create>b__7_0()
в System.Threading.Tasks.Task.InnerInvoke()
в System.Threading.Tasks.Task.Execute()
--- Конец трассировки внутреннего стека исключений ---
в System.Threading.Tasks.Task.ThrowIfExceptional(Boolean
includeTaskCanceledExceptions)
в System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout,
CancellationToken cancellationToken)
в Quobject.EngineIoClientDotNet.Client.Transports.PollingXHR.XHRRequest.Create()
--- Конец трассировки внутреннего стека исключений ---
Код:
static void Main(string[] args)
{
var socket = IO.Socket("http://socket.donationalerts.ru:443/");
MyRequest mr = new MyRequest()
{ token = "token", type = "minor" };
socket.On(Socket.EVENT_CONNECT, () =>
{
Console.WriteLine("Подключено");
socket.Emit("add-user", mr);
socket.Emit("donation");
});
socket.On(Socket.EVENT_CONNECT_ERROR, (data) =>
{
Console.WriteLine("Ошибка CONNECTION\n" + data);
});
socket.On(Socket.EVENT_CONNECT_TIMEOUT, () =>
{
Console.WriteLine("Ошибка TIMEOUT");
});
socket.On("donation", (data) =>
{
Console.WriteLine(data.ToString());
});
socket.On("update", (data) =>
{
Console.WriteLine("Type: {0}\r\n", data);
});
socket.Connect();
Console.ReadLine();
}
}
[JsonObject(MemberSerialization.OptIn)]
public class MyRequest
{
[JsonProperty("token")]
public string token { get; set; }
[JsonProperty("type")]
public string type { get; set; }
public string ToJsonString()
{
return JsonConvert.SerializeObject(this);
}
public static MyRequest Deserialize(string jsonString)
{
return JsonConvert.DeserializeObject<MyRequest>(jsonString);
}
}
Использую библиотеку https://github.com/Quobject/SocketIoClientDotNet
Ответы (1 шт):
Автор решения: Neki_play
→ Ссылка
Решено, замените http://socket.donationalerts.ru:443 на wss://socket.donationalerts.ru:443