Skip to content

Commit 8cd9ba2

Browse files
committed
started to adapt EventHandler
1 parent 4857a81 commit 8cd9ba2

2 files changed

Lines changed: 32 additions & 23 deletions

File tree

Amino.NET/Client.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2548,11 +2548,11 @@ public void callMessageEvent(Amino.Client _client, object _sender, Amino.Objects
25482548
}
25492549
}
25502550

2551-
public void callWebSocketMessageEvent(Amino.Client _client, JObject _webSocketMessage)
2551+
public void callWebSocketMessageEvent(Amino.Client _client, string _webSocketMessage)
25522552
{
25532553
if (_client.onWebSocketMessage != null)
25542554
{
2555-
_client.onWebSocketMessage.Invoke(_webSocketMessage.ToString());
2555+
_client.onWebSocketMessage.Invoke(_webSocketMessage);
25562556
}
25572557
}
25582558

Amino.NET/Events/EventHandler.cs

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
1-
using System;
2-
using System.Collections.Generic;
3-
using System.Linq;
4-
using System.Text;
5-
using System.Text.Json;
1+
using System.Text.Json;
62
using System.Threading.Tasks;
73
using Amino.Objects;
8-
using Newtonsoft.Json;
9-
using Newtonsoft.Json.Linq;
4+
105

116
namespace Amino.Events
127
{
@@ -21,49 +16,63 @@ public class EventHandler
2116
/// <param name="webSocketMessage"></param>
2217
/// <param name="client"></param>
2318
/// <returns></returns>
24-
public Task ReceiveEvent(JObject webSocketMessage, Client client)
19+
public Task ReceiveEvent(string webSocketMessage, Client client)
2520
{
2621
Client.Events eventCall = new Client.Events();
2722
eventCall.callWebSocketMessageEvent(client, webSocketMessage);
2823
try
2924
{
3025
JsonElement root = JsonDocument.Parse(webSocketMessage.ToString()).RootElement;
31-
dynamic jsonObj = (JObject)JsonConvert.DeserializeObject(webSocketMessage.ToString());
32-
if(jsonObj["o"]["chatMessage"]["mediaType"] != null)
26+
if(root.GetProperty("o").GetProperty("chatMessage").GetProperty("mediaType").ValueKind != JsonValueKind.Null)
3327
{
34-
35-
SocketBase sBase = System.Text.Json.JsonSerializer.Deserialize<SocketBase>(root.GetProperty("o"));
36-
switch ((int)jsonObj["o"]["chatMessage"]["mediaType"])
28+
SocketBase _socketBase = JsonSerializer.Deserialize<SocketBase>(root.GetProperty("o").GetRawText());
29+
string element = root.GetProperty("o").GetProperty("chatMessage").GetRawText();
30+
switch (root.GetProperty("o").GetProperty("chatMessage").GetProperty("mediaType").GetInt32())
3731
{
3832
case 0: //TextMessage / MessageDeleted / ChatMember Left, ChatMember Joined / ChatBackground changed / ChatTitle changed / ChatContent chaaged / ChatAnnouncementPin / ChatAnnouncementUnpin / ChatViewOnlyOn / ChatViewOnlyOff / ChatTipEnabled / ChatTipDisabled / MessageForceRemoved / ChatTip
39-
switch((int)jsonObj["o"]["chatMessage"]["type"])
33+
switch(root.GetProperty("o").GetProperty("chatMessage").GetProperty("type").GetInt32())
4034
{
4135
case 0: //Textmessage recevied
42-
Amino.Objects.Message _message = new Amino.Objects.Message(webSocketMessage);
36+
Objects.Message _message = JsonSerializer.Deserialize<Message>(element);
37+
_message.Json = webSocketMessage;
38+
_message.SocketBase = _socketBase;
39+
4340
eventCall.callMessageEvent(client, this, _message);
4441
break;
4542
case 100: // Textmessage deleted
46-
Amino.Objects.DeletedMessage _deletedMessage = new Objects.DeletedMessage(webSocketMessage);
43+
Amino.Objects.DeletedMessage _deletedMessage = JsonSerializer.Deserialize<DeletedMessage>(element);
44+
_deletedMessage.SocketBase = _socketBase;
45+
_deletedMessage.Json = webSocketMessage;
4746
eventCall.callMessageDeletedEvent(client, _deletedMessage);
4847
break;
4948
case 101: // ChatMember Joined
50-
Amino.Objects.JoinedChatMember _joinedMember = new Objects.JoinedChatMember(webSocketMessage);
49+
Amino.Objects.JoinedChatMember _joinedMember = JsonSerializer.Deserialize<JoinedChatMember>(element);
50+
_joinedMember.Json = webSocketMessage;
51+
_joinedMember.SocketBase = _socketBase;
5152
eventCall.callChatMemberJoinEvent(client, _joinedMember);
5253
break;
5354
case 102: // ChatMember Left
54-
Amino.Objects.LeftChatMember _leftMember = new Objects.LeftChatMember(webSocketMessage);
55+
Amino.Objects.LeftChatMember _leftMember = JsonSerializer.Deserialize<LeftChatMember>(element);
56+
_leftMember.Json = webSocketMessage;
57+
_leftMember.SocketBase = _socketBase;
5558
eventCall.callChatMemberLeaveEvent(client, _leftMember);
5659
break;
5760
case 104: // ChatBackground changed
58-
Amino.Objects.ChatEvent _chatBackgroundChanged = new Objects.ChatEvent(webSocketMessage);
61+
Amino.Objects.ChatEvent _chatBackgroundChanged = JsonSerializer.Deserialize<ChatEvent>(element);
62+
_chatBackgroundChanged.SocketBase = _socketBase;
63+
_chatBackgroundChanged.Json = webSocketMessage;
5964
eventCall.callChatBackgroundChangedEvent(client, _chatBackgroundChanged);
6065
break;
6166
case 105: // ChatTitle changed
62-
Amino.Objects.ChatEvent _chatTitleChanged = new Objects.ChatEvent(webSocketMessage);
67+
Amino.Objects.ChatEvent _chatTitleChanged = JsonSerializer.Deserialize<ChatEvent>(element);
68+
_chatTitleChanged.SocketBase = _socketBase;
69+
_chatTitleChanged.Json = webSocketMessage;
6370
eventCall.callChatTitleChangedEvent(client, _chatTitleChanged);
6471
break;
6572
case 113: // ChatContent Changed
66-
Amino.Objects.ChatEvent _chatContentChanged = new Objects.ChatEvent(webSocketMessage);
73+
Amino.Objects.ChatEvent _chatContentChanged = JsonSerializer.Deserialize<ChatEvent>(element);
74+
_chatContentChanged.Json = webSocketMessage;
75+
_chatContentChanged.SocketBase = _socketBase;
6776
eventCall.callChatContentChangedEvent(client, _chatContentChanged);
6877
break;
6978
case 119: // MessageForceRemovedByAdmin

0 commit comments

Comments
 (0)