Skip to content

Commit e6101ee

Browse files
authored
Merge pull request #47 from Amino-NET-Group/dev
Get Ready for 1.7.0
2 parents 6599f01 + 3a4a900 commit e6101ee

File tree

103 files changed

+2372
-5081
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+2372
-5081
lines changed

.github/workflows/dev-autopublish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626

2727
- name: Determine version
2828
id: version
29-
run: echo "::set-output name=version::0.$((${GITHUB_RUN_NUMBER} / 10)).$((${GITHUB_RUN_NUMBER} % 10))"
29+
run: echo "::set-output name=version::$((GITHUB_RUN_NUMBER / 100)).$(((GITHUB_RUN_NUMBER % 100) / 10)).$((GITHUB_RUN_NUMBER % 10))"
3030

3131
- name: Get Project Version
3232
id: base_version

Amino.NET/ACMClient.cs

Lines changed: 467 additions & 0 deletions
Large diffs are not rendered by default.

Amino.NET/Amino.NET.csproj

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFramework>net7.0</TargetFramework>
5-
<Version>1.5.2</Version>
5+
<Version>1.7.0</Version>
66
<Authors>FabioTheFox</Authors>
77
<Company>FabiDev</Company>
88
<Description>An unofficial C# wrapper for Aminos REST API for making amino bots and tools</Description>
@@ -22,6 +22,7 @@
2222
<SignAssembly>true</SignAssembly>
2323
<Copyright>FabioTheFox</Copyright>
2424
<Title>Amino.NET</Title>
25+
<PackageReadmeFile>README.md</PackageReadmeFile>
2526
</PropertyGroup>
2627

2728
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
@@ -38,6 +39,10 @@
3839
</ItemGroup>
3940

4041
<ItemGroup>
42+
<None Include="..\README.md">
43+
<Pack>True</Pack>
44+
<PackagePath>\</PackagePath>
45+
</None>
4146
<None Include="Amino.Net-Logo-V2.png">
4247
<Pack>True</Pack>
4348
<PackagePath></PackagePath>

Amino.NET/Builders/PostBuilder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using System.IO;
44
using System.Reflection.Metadata.Ecma335;
55

6-
namespace Amino.NET.Builders
6+
namespace Amino.Builders
77
{
88
public class PostBuilder
99
{

Amino.NET/Client.cs

Lines changed: 276 additions & 454 deletions
Large diffs are not rendered by default.

Amino.NET/Events/EventHandler.cs

Lines changed: 68 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
using System;
2-
using System.Collections.Generic;
3-
using System.Linq;
4-
using System.Text;
1+
using System.Text.Json;
52
using System.Threading.Tasks;
6-
using Newtonsoft.Json;
7-
using Newtonsoft.Json.Linq;
3+
using Amino.Objects;
4+
85

96
namespace Amino.Events
107
{
@@ -19,98 +16,139 @@ public class EventHandler
1916
/// <param name="webSocketMessage"></param>
2017
/// <param name="client"></param>
2118
/// <returns></returns>
22-
public Task ReceiveEvent(JObject webSocketMessage, Client client)
19+
public Task ReceiveEvent(string webSocketMessage, Client client)
2320
{
2421
Client.Events eventCall = new Client.Events();
2522
eventCall.callWebSocketMessageEvent(client, webSocketMessage);
2623
try
2724
{
28-
dynamic jsonObj = (JObject)JsonConvert.DeserializeObject(webSocketMessage.ToString());
29-
if(jsonObj["o"]["chatMessage"]["mediaType"] != null)
25+
JsonElement root = JsonDocument.Parse(webSocketMessage.ToString()).RootElement;
26+
if(root.GetProperty("o").GetProperty("chatMessage").GetProperty("mediaType").ValueKind != JsonValueKind.Null)
3027
{
31-
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())
3231
{
3332
case 0: //TextMessage / MessageDeleted / ChatMember Left, ChatMember Joined / ChatBackground changed / ChatTitle changed / ChatContent chaaged / ChatAnnouncementPin / ChatAnnouncementUnpin / ChatViewOnlyOn / ChatViewOnlyOff / ChatTipEnabled / ChatTipDisabled / MessageForceRemoved / ChatTip
34-
switch((int)jsonObj["o"]["chatMessage"]["type"])
33+
switch(root.GetProperty("o").GetProperty("chatMessage").GetProperty("type").GetInt32())
3534
{
3635
case 0: //Textmessage recevied
37-
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+
3840
eventCall.callMessageEvent(client, this, _message);
3941
break;
4042
case 100: // Textmessage deleted
41-
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;
4246
eventCall.callMessageDeletedEvent(client, _deletedMessage);
4347
break;
4448
case 101: // ChatMember Joined
45-
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;
4652
eventCall.callChatMemberJoinEvent(client, _joinedMember);
4753
break;
4854
case 102: // ChatMember Left
49-
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;
5058
eventCall.callChatMemberLeaveEvent(client, _leftMember);
5159
break;
5260
case 104: // ChatBackground changed
53-
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;
5464
eventCall.callChatBackgroundChangedEvent(client, _chatBackgroundChanged);
5565
break;
5666
case 105: // ChatTitle changed
57-
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;
5870
eventCall.callChatTitleChangedEvent(client, _chatTitleChanged);
5971
break;
6072
case 113: // ChatContent Changed
61-
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;
6276
eventCall.callChatContentChangedEvent(client, _chatContentChanged);
6377
break;
6478
case 119: // MessageForceRemovedByAdmin
65-
Amino.Objects.SpecialChatEvent _messageForceRemovedByAdmin = new Objects.SpecialChatEvent(webSocketMessage);
79+
Amino.Objects.SpecialChatEvent _messageForceRemovedByAdmin = JsonSerializer.Deserialize<SpecialChatEvent>(element);
80+
_messageForceRemovedByAdmin.Json = webSocketMessage;
81+
_messageForceRemovedByAdmin.SocketBase = _socketBase;
6682
eventCall.callMessageForceRemovedByAdminEvent(client, _messageForceRemovedByAdmin);
6783
break;
6884
case 120: // ChatTip
69-
Amino.Objects.ChatTip _chatTip = new Objects.ChatTip(webSocketMessage);
85+
Amino.Objects.ChatTip _chatTip = JsonSerializer.Deserialize<ChatTip>(element);
86+
_chatTip.Json = webSocketMessage;
87+
_chatTip.SocketBase = _socketBase;
7088
eventCall.callChatTipEvent(client, _chatTip);
7189
break;
7290
case 121: // ChatAnnouncementPin
73-
Amino.Objects.ChatAnnouncement _chatAnnouncementPinEvent = new Objects.ChatAnnouncement(webSocketMessage);
91+
Amino.Objects.ChatAnnouncement _chatAnnouncementPinEvent = JsonSerializer.Deserialize<ChatAnnouncement>(element);
92+
_chatAnnouncementPinEvent.Json = webSocketMessage;
93+
_chatAnnouncementPinEvent.SocketBase = _socketBase;
7494
eventCall.callChatPinAnnouncementEvent(client, _chatAnnouncementPinEvent);
7595
break;
7696
case 125: // ChatViewModeOn
77-
Amino.Objects.ViewMode _viewModeOn = new Objects.ViewMode(webSocketMessage);
97+
Amino.Objects.ViewMode _viewModeOn = JsonSerializer.Deserialize<ViewMode>(element);
98+
_viewModeOn.Json = webSocketMessage;
99+
_viewModeOn.SocketBase = _socketBase;
78100
eventCall.callChatViewModeOnEvent(client, _viewModeOn);
79101
break;
80102
case 126: // ChatViewModeOff
81-
Amino.Objects.ViewMode _viewModeOff = new Objects.ViewMode(webSocketMessage);
103+
Amino.Objects.ViewMode _viewModeOff = JsonSerializer.Deserialize<ViewMode>(element);
104+
_viewModeOff.Json = webSocketMessage;
105+
_viewModeOff.SocketBase = _socketBase;
82106
eventCall.callChatViewModeOffEvent(client, _viewModeOff);
83107
break;
84108
case 127: // ChatAnnouncementUnPin
85-
Amino.Objects.ChatEvent _chatAnnouncementUnPin = new Objects.ChatEvent(webSocketMessage);
109+
Amino.Objects.ChatEvent _chatAnnouncementUnPin = JsonSerializer.Deserialize<ChatEvent>(element);
110+
_chatAnnouncementUnPin.Json = webSocketMessage;
111+
_chatAnnouncementUnPin.SocketBase = _socketBase;
86112
eventCall.callChatUnpinAnnouncementEvent(client, _chatAnnouncementUnPin);
87113
break;
88114
case 128: // ChatTipEnabled
89-
Amino.Objects.ChatTipToggle _chatTipEnabled = new Objects.ChatTipToggle(webSocketMessage);
115+
Amino.Objects.ChatTipToggle _chatTipEnabled = JsonSerializer.Deserialize<ChatTipToggle>(element);
116+
_chatTipEnabled.Json = webSocketMessage;
117+
_chatTipEnabled.SocketBase = _socketBase;
90118
eventCall.callChatTipEnabledEvent(client, _chatTipEnabled);
91119
break;
92120
case 129: // ChatTipDisabled
93-
Amino.Objects.ChatTipToggle _chatTipDisabled = new Objects.ChatTipToggle(webSocketMessage);
121+
Amino.Objects.ChatTipToggle _chatTipDisabled = JsonSerializer.Deserialize<ChatTipToggle>(element);
122+
_chatTipDisabled.Json = webSocketMessage;
123+
_chatTipDisabled.SocketBase = _socketBase;
94124
eventCall.callChatTipDisabledEvent(client, _chatTipDisabled);
95125
break;
96126

97127
}
98128

99129
break;
100130
case 100: //ImageMessage
101-
Amino.Objects.ImageMessage _imageMessage = new Amino.Objects.ImageMessage(webSocketMessage);
131+
Amino.Objects.ImageMessage _imageMessage = JsonSerializer.Deserialize<ImageMessage>(element);
132+
_imageMessage.Json = webSocketMessage;
133+
_imageMessage.SocketBase = _socketBase;
102134
eventCall.callImageMessageEvent(client, _imageMessage);
103135
break;
104136
case 103: //YouTubeMessage
105-
Amino.Objects.YouTubeMessage _youtubeMessage = new Objects.YouTubeMessage(webSocketMessage);
137+
Amino.Objects.YouTubeMessage _youtubeMessage = JsonSerializer.Deserialize<YouTubeMessage>(element);
138+
_youtubeMessage.Json = webSocketMessage;
139+
_youtubeMessage.SocketBase = _socketBase;
106140
eventCall.callYouTubeMessageEvent(client, _youtubeMessage);
107141
break;
108142
case 110: //VoiceMessage
109-
Amino.Objects.VoiceMessage _voiceMessage = new Objects.VoiceMessage(webSocketMessage);
143+
Amino.Objects.VoiceMessage _voiceMessage = JsonSerializer.Deserialize<VoiceMessage>(element);
144+
_voiceMessage.Json = webSocketMessage;
145+
_voiceMessage.SocketBase = _socketBase;
110146
eventCall.callVoiceMessageEvent(client, _voiceMessage);
111147
break;
112148
case 113: //StickerMessage
113-
Amino.Objects.StickerMessage _stickerMessage = new Objects.StickerMessage(webSocketMessage);
149+
Amino.Objects.StickerMessage _stickerMessage = JsonSerializer.Deserialize<StickerMessage>(element);
150+
_stickerMessage.Json = webSocketMessage;
151+
_stickerMessage.SocketBase = _socketBase;
114152
eventCall.callStickerMessageEvent(client, _stickerMessage);
115153
break;
116154
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
using System.Text.Json.Serialization;
2+
3+
namespace Amino.Objects
4+
{
5+
public class AdditionalItemBenefits
6+
{
7+
[JsonPropertyName("firstMonthFreeAminoPlusMembership")] public bool? FirstMonthFreeAminoPlus { get; set; }
8+
}
9+
}

0 commit comments

Comments
 (0)