Skip to content

Commit e8e7422

Browse files
authored
Merge pull request #12 from FabioGaming/dev
Amino.NET 1.2.0
2 parents 2c4dc48 + 293165c commit e8e7422

File tree

13 files changed

+681
-9
lines changed

13 files changed

+681
-9
lines changed

Amino.NET/Amino.NET.csproj

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

33
<PropertyGroup>
44
<TargetFramework>net5.0</TargetFramework>
5-
<Version>1.1.0-Dev-6.9.2.9</Version>
5+
<Version>1.2.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>
@@ -36,7 +36,7 @@
3636
</ItemGroup>
3737

3838
<ItemGroup>
39-
<None Include="Amino.Net-Logo-V2.png">
39+
<None Include="..\..\..\..\source\repos\Amino.NET\Amino.NET\Amino.Net-Logo-V2.png">
4040
<Pack>True</Pack>
4141
<PackagePath></PackagePath>
4242
</None>

Amino.NET/Client.cs

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,18 @@ public class Client
131131
/// Fires each time an Amino chat title has been changed (only chats where the current Amino account is in)
132132
/// </summary>
133133
public event Action<Objects.ChatEvent> onChatTitleChanged;
134+
/// <summary>
135+
/// Fires each time an Amino chat content has been changed (only in chats where the currnt Amino account is in)
136+
/// </summary>
137+
public event Action<Objects.ChatEvent> onChatContentChanged;
138+
public event Action<Objects.ChatAnnouncement> onChatAnnouncementPin;
139+
public event Action<Objects.ChatEvent> onChatAnnouncementUnpin;
140+
public event Action<Objects.ViewMode> onChatViewModeOn;
141+
public event Action<Objects.ViewMode> onChatViewModeOff;
142+
public event Action<Objects.ChatTipToggle> onChatTipEnabled;
143+
public event Action<Objects.ChatTipToggle> onChatTipDisabled;
144+
public event Action<Objects.SpecialChatEvent> onMessageForceRemovedByAdmin;
145+
public event Action<Objects.ChatTip> onChatTip;
134146

135147
//headers.
136148
private IDictionary<string, string> headers = new Dictionary<string, string>();
@@ -2407,6 +2419,78 @@ public void callChatTitleChangedEvent(Amino.Client _client, Amino.Objects.ChatEv
24072419
_client.onChatTitleChanged.Invoke(_chatEvent);
24082420
}
24092421
}
2422+
2423+
public void callChatContentChangedEvent(Amino.Client _client, Amino.Objects.ChatEvent _chatEvent)
2424+
{
2425+
if(_client.onChatContentChanged != null)
2426+
{
2427+
_client.onChatContentChanged.Invoke(_chatEvent);
2428+
}
2429+
}
2430+
2431+
public void callChatPinAnnouncementEvent(Amino.Client _client, Amino.Objects.ChatAnnouncement _chatAnnouncement)
2432+
{
2433+
if(_client.onChatAnnouncementPin != null)
2434+
{
2435+
_client.onChatAnnouncementPin.Invoke(_chatAnnouncement);
2436+
}
2437+
}
2438+
2439+
public void callChatUnpinAnnouncementEvent(Amino.Client _client, Amino.Objects.ChatEvent _chatEvent)
2440+
{
2441+
if(_client.onChatAnnouncementUnpin != null)
2442+
{
2443+
_client.onChatAnnouncementUnpin.Invoke(_chatEvent);
2444+
}
2445+
}
2446+
2447+
public void callChatViewModeOnEvent(Amino.Client _client, Amino.Objects.ViewMode _viewMode)
2448+
{
2449+
if(_client.onChatViewModeOn != null)
2450+
{
2451+
_client.onChatViewModeOn.Invoke(_viewMode);
2452+
}
2453+
}
2454+
2455+
public void callChatViewModeOffEvent(Amino.Client _client, Amino.Objects.ViewMode _viewMode)
2456+
{
2457+
if(_client.onChatViewModeOff != null)
2458+
{
2459+
_client.onChatViewModeOff.Invoke(_viewMode);
2460+
}
2461+
}
2462+
2463+
public void callChatTipEnabledEvent(Amino.Client _client, Amino.Objects.ChatTipToggle _chatTip)
2464+
{
2465+
if(_client.onChatTipEnabled != null)
2466+
{
2467+
_client.onChatTipEnabled.Invoke(_chatTip);
2468+
}
2469+
}
2470+
2471+
public void callChatTipDisabledEvent(Amino.Client _client, Amino.Objects.ChatTipToggle _chatTip)
2472+
{
2473+
if(_client.onChatTipDisabled != null)
2474+
{
2475+
_client.onChatTipDisabled.Invoke(_chatTip);
2476+
}
2477+
}
2478+
2479+
public void callMessageForceRemovedByAdminEvent(Amino.Client _client, Amino.Objects.SpecialChatEvent _chatEvent)
2480+
{
2481+
if(_client.onMessageForceRemovedByAdmin != null)
2482+
{
2483+
_client.onMessageForceRemovedByAdmin.Invoke(_chatEvent);
2484+
}
2485+
}
2486+
2487+
public void callChatTipEvent(Amino.Client _client, Amino.Objects.ChatTip _chatTip)
2488+
{
2489+
if(_client.onChatTip != null)
2490+
{
2491+
_client.onChatTip.Invoke(_chatTip);
2492+
}
2493+
}
24102494
}
24112495
}
24122496
}

Amino.NET/Events/EventHandler.cs

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public Task ReceiveEvent(JObject webSocketMessage, Client client)
3030
{
3131
switch((int)jsonObj["o"]["chatMessage"]["mediaType"])
3232
{
33-
case 0: //TextMessage / MessageDeleted / ChatMember Left, ChatMember Joined / ChatBackground changed / ChatTitle changed
33+
case 0: //TextMessage / MessageDeleted / ChatMember Left, ChatMember Joined / ChatBackground changed / ChatTitle changed / ChatContent chaaged / ChatAnnouncementPin / ChatAnnouncementUnpin / ChatViewOnlyOn / ChatViewOnlyOff / ChatTipEnabled / ChatTipDisabled / MessageForceRemoved / ChatTip
3434
switch((int)jsonObj["o"]["chatMessage"]["type"])
3535
{
3636
case 0: //Textmessage recevied
@@ -57,6 +57,43 @@ public Task ReceiveEvent(JObject webSocketMessage, Client client)
5757
Amino.Objects.ChatEvent _chatTitleChanged = new Objects.ChatEvent(webSocketMessage);
5858
eventCall.callChatTitleChangedEvent(client, _chatTitleChanged);
5959
break;
60+
case 113: // ChatContent Changed
61+
Amino.Objects.ChatEvent _chatContentChanged = new Objects.ChatEvent(webSocketMessage);
62+
eventCall.callChatContentChangedEvent(client, _chatContentChanged);
63+
break;
64+
case 119: // MessageForceRemovedByAdmin
65+
Amino.Objects.SpecialChatEvent _messageForceRemovedByAdmin = new Objects.SpecialChatEvent(webSocketMessage);
66+
eventCall.callMessageForceRemovedByAdminEvent(client, _messageForceRemovedByAdmin);
67+
break;
68+
case 120: // ChatTip
69+
Amino.Objects.ChatTip _chatTip = new Objects.ChatTip(webSocketMessage);
70+
eventCall.callChatTipEvent(client, _chatTip);
71+
break;
72+
case 121: // ChatAnnouncementPin
73+
Amino.Objects.ChatAnnouncement _chatAnnouncementPinEvent = new Objects.ChatAnnouncement(webSocketMessage);
74+
eventCall.callChatPinAnnouncementEvent(client, _chatAnnouncementPinEvent);
75+
break;
76+
case 125: // ChatViewModeOn
77+
Amino.Objects.ViewMode _viewModeOn = new Objects.ViewMode(webSocketMessage);
78+
eventCall.callChatViewModeOnEvent(client, _viewModeOn);
79+
break;
80+
case 126: // ChatViewModeOff
81+
Amino.Objects.ViewMode _viewModeOff = new Objects.ViewMode(webSocketMessage);
82+
eventCall.callChatViewModeOffEvent(client, _viewModeOff);
83+
break;
84+
case 127: // ChatAnnouncementUnPin
85+
Amino.Objects.ChatEvent _chatAnnouncementUnPin = new Objects.ChatEvent(webSocketMessage);
86+
eventCall.callChatUnpinAnnouncementEvent(client, _chatAnnouncementUnPin);
87+
break;
88+
case 128: // ChatTipEnabled
89+
Amino.Objects.ChatTipToggle _chatTipEnabled = new Objects.ChatTipToggle(webSocketMessage);
90+
eventCall.callChatTipEnabledEvent(client, _chatTipEnabled);
91+
break;
92+
case 129: // ChatTipDisabled
93+
Amino.Objects.ChatTipToggle _chatTipDisabled = new Objects.ChatTipToggle(webSocketMessage);
94+
eventCall.callChatTipDisabledEvent(client, _chatTipDisabled);
95+
break;
96+
6097
}
6198

6299
break;
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
using Newtonsoft.Json;
2+
using Newtonsoft.Json.Linq;
3+
4+
namespace Amino.Objects
5+
{
6+
7+
[JsonObject(ItemNullValueHandling = NullValueHandling.Ignore)]
8+
public class ChatAnnouncement
9+
{
10+
public int _type { get; }
11+
public int communityId { get; }
12+
public int alertOption { get; }
13+
public int membershipStatus { get; }
14+
15+
public string chatId { get; }
16+
public int mediaType { get; }
17+
public string content { get; }
18+
public int clientRefId { get; }
19+
public string messageId { get; }
20+
public string userId { get; }
21+
public string createdTime { get; }
22+
public int type { get; }
23+
public bool isHidden { get; }
24+
public bool includedInSummary { get; }
25+
public string json { get; }
26+
27+
public ChatAnnouncement(JObject _json)
28+
{
29+
dynamic jsonObj = (JObject)JsonConvert.DeserializeObject(_json.ToString());
30+
_type = (int)jsonObj["t"];
31+
communityId = (int)jsonObj["o"]["ndcId"];
32+
alertOption = (int)jsonObj["o"]["alertOption"];
33+
membershipStatus = (int)jsonObj["o"]["membershipStatus"];
34+
35+
chatId = (string)jsonObj["o"]["chatMessage"]["threadId"];
36+
mediaType = (int)jsonObj["o"]["chatMessage"]["mediaType"];
37+
content = (string)jsonObj["o"]["chatMessage"]["content"];
38+
clientRefId = (int)jsonObj["o"]["chatMessage"]["clientRefId"];
39+
messageId = (string)jsonObj["o"]["chatMessage"]["messageId"];
40+
userId = (string)jsonObj["o"]["chatMessage"]["uid"];
41+
createdTime = (string)jsonObj["o"]["chatMessage"]["createdTime"];
42+
type = (int)jsonObj["o"]["chatMessage"]["type"];
43+
isHidden = (bool)jsonObj["o"]["chatMessage"]["isHidden"];
44+
includedInSummary = (bool)jsonObj["o"]["chatMessage"]["includedInSummary"];
45+
json = _json.ToString();
46+
}
47+
48+
}
49+
}

Amino.NET/Objects/ChatTip.cs

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
using Newtonsoft.Json;
2+
using Newtonsoft.Json.Linq;
3+
4+
namespace Amino.Objects
5+
{
6+
[JsonObject(ItemNullValueHandling = NullValueHandling.Ignore)]
7+
public class ChatTip
8+
{
9+
public int _type { get; }
10+
public int alertOption { get; }
11+
public int membershipStatus { get; }
12+
public int communityId { get; }
13+
14+
public string chatId { get; }
15+
public int mediaType { get; }
16+
public int clientRefId { get; }
17+
public string messageId { get; }
18+
public string userId { get; }
19+
public string createdTime { get; }
20+
public int type { get; }
21+
public bool isHidden { get; }
22+
public bool includedInSummary { get; }
23+
public string json { get; }
24+
public _Author Author { get; }
25+
public _Extensions Extensions { get; }
26+
27+
28+
public ChatTip(JObject _json)
29+
{
30+
dynamic jsonObj = (JObject)JsonConvert.DeserializeObject(_json.ToString());
31+
_type = (int)jsonObj["t"];
32+
alertOption = (int)jsonObj["o"]["alertOption"];
33+
membershipStatus = (int)jsonObj["o"]["membershipStatus"];
34+
communityId = (int)jsonObj["o"]["ndcId"];
35+
36+
chatId = (string)jsonObj["o"]["chatMessage"]["threadId"];
37+
mediaType = (int)jsonObj["o"]["chatMessage"]["mediaType"];
38+
clientRefId = (int)jsonObj["o"]["chatMessage"]["clientRefId"];
39+
messageId = (string)jsonObj["o"]["chatMessage"]["messageId"];
40+
userId = (string)jsonObj["o"]["chatMessage"]["uid"];
41+
createdTime = (string)jsonObj["o"]["chatMessage"]["createdTime"];
42+
type = (int)jsonObj["o"]["chatMessage"]["type"];
43+
isHidden = (bool)jsonObj["o"]["chatMessage"]["isHidden"];
44+
includedInSummary = (bool)jsonObj["o"]["chatMessage"]["includedInSummary"];
45+
json = _json.ToString();
46+
Author = new _Author(_json);
47+
Extensions = new _Extensions(_json);
48+
49+
}
50+
51+
[JsonObject(ItemNullValueHandling = NullValueHandling.Ignore)]
52+
public class _Author
53+
{
54+
public string userId { get; }
55+
public int status { get; }
56+
public string iconUrl { get; }
57+
public int reputation { get; }
58+
public int role { get; }
59+
public string nickname { get; }
60+
public int level { get; }
61+
public int accountMembershipStatus { get; }
62+
public string avatarFrameId { get; }
63+
public _AvatarFrame AvatarFrame { get; }
64+
public _InfluencerInfo InfluencerInfo { get; }
65+
66+
public _Author(JObject _json)
67+
{
68+
dynamic jsonObj = (JObject)JsonConvert.DeserializeObject(_json.ToString());
69+
userId = (string)jsonObj["o"]["chatMessage"]["author"]["uid"];
70+
status = (int)jsonObj["o"]["chatMessage"]["author"]["status"];
71+
if(jsonObj["o"]["chatMessage"]["author"]["icon"] != null) { iconUrl = (string)jsonObj["o"]["chatMessage"]["author"]["icon"]; }
72+
reputation = (int)jsonObj["o"]["chatMessage"]["author"]["reputation"];
73+
role = (int)jsonObj["o"]["chatMessage"]["author"]["role"];
74+
nickname = (string)jsonObj["o"]["chatMessage"]["author"]["nickname"];
75+
level = (int)jsonObj["o"]["chatMessage"]["author"]["level"];
76+
accountMembershipStatus = (int)jsonObj["o"]["chatMessage"]["author"]["accountMembershipStatus"];
77+
avatarFrameId = (string)jsonObj["o"]["chatMessage"]["author"]["avatarFrameId"];
78+
if(jsonObj["o"]["chatMessage"]["author"]["avatarFrame"] != null) { AvatarFrame = new _AvatarFrame(_json); }
79+
if(jsonObj["o"]["chatMessage"]["author"]["influencerInfo"] != null) { InfluencerInfo = new _InfluencerInfo(_json); }
80+
}
81+
82+
83+
[JsonObject(ItemNullValueHandling = NullValueHandling.Ignore)]
84+
public class _AvatarFrame
85+
{
86+
public int status { get; }
87+
public int version { get; }
88+
public string resourceUrl { get; }
89+
public string name { get; }
90+
public string iconUrl { get; }
91+
public int frameType { get; }
92+
public string frameId { get; }
93+
94+
public _AvatarFrame(JObject _json)
95+
{
96+
dynamic jsonObj = (JObject)JsonConvert.DeserializeObject(_json.ToString());
97+
status = (int)jsonObj["o"]["chatMessage"]["author"]["avatarFrame"]["status"];
98+
version = (int)jsonObj["o"]["chatMessage"]["author"]["avatarFrame"]["version"];
99+
resourceUrl = (string)jsonObj["o"]["chatMessage"]["author"]["avatarFrame"]["resourceUrl"];
100+
name = (string)jsonObj["o"]["chatMessage"]["author"]["avatarFrame"]["name"];
101+
iconUrl = (string)jsonObj["o"]["chatMessage"]["author"]["avatarFrame"]["icon"];
102+
frameType = (int)jsonObj["o"]["chatMessage"]["author"]["avatarFrame"]["frameType"];
103+
frameId = (string)jsonObj["o"]["chatMessage"]["author"]["avatarFrame"]["frameId"];
104+
}
105+
}
106+
107+
[JsonObject(ItemNullValueHandling = NullValueHandling.Ignore)]
108+
public class _InfluencerInfo
109+
{
110+
public int fansCount { get; }
111+
public int monthlyFee { get; }
112+
113+
public _InfluencerInfo(JObject _json)
114+
{
115+
dynamic jsonObj = (JObject)JsonConvert.DeserializeObject(_json.ToString());
116+
fansCount = (int)jsonObj["o"]["chatMessage"]["author"]["influencerInfo"]["fansCount"];
117+
monthlyFee = (int)jsonObj["o"]["chatMessage"]["author"]["influencerInfo"]["monthlyFee"];
118+
}
119+
}
120+
}
121+
122+
[JsonObject(ItemNullValueHandling = NullValueHandling.Ignore)]
123+
public class _Extensions
124+
{
125+
public int tippedCoins { get; }
126+
127+
public _Extensions(JObject _json)
128+
{
129+
dynamic jsonObj = (JObject)JsonConvert.DeserializeObject(_json.ToString());
130+
tippedCoins = (int)jsonObj["o"]["chatMessage"]["extensions"]["tippingCoins"];
131+
}
132+
}
133+
}
134+
}

0 commit comments

Comments
 (0)