This is basically Discord .Net but I added some more features (back) like user login, some stuff in Group and DM-Channels, etc. All the changes that i made are listed below
user
SocketSelfUser.cs:59 -> added upload limit method
RestSelfUser.cs:28 -> added upload limit method
ISelfUser.cs:61 -> added upload limit method
UserHelper.cs:113 -> added upload limit method
guild
SocketGuild.cs:687 -> Made User nullable in GetBansAsync
SocketGuild.cs:1607 -> removed check if there are stickers in GetStickersAsync()
RestGuild.cs:367 -> Made User nullable in GetBansAsync
GuildHelper.cs:447 -> Changed max of 5 to 20 in forum tags
GuildHelper.cs:1393 -> fixed nullreference in Welcomescreen get
GuildHelper.cs:1423 -> fixed nullreference in Welcomescreen get
ForumTag.cs:45 -> Added .Build() method for easier access
group channel
SocketGroupChannel.cs:27 -> renamed iconId to ownerId
SocketGroupChannel.cs:30 -> Created public IconId prop
SocketGroupChannel.cs:44 -> Added Owner Property
SocketGroupChannel.cs:49 -> fixed Users get
SocketGroupChannel.cs:57 -> fixed Recipients get
SocketGroupChannel.cs:79 -> fixed IconId
SocketGroupChannel.cs:81 -> assigned ownerId field
SocketGroupChannel.cs:106 -> Added GetIconUrl
SocketGroupChannel.cs:341 -> Added implementations of Users
SocketGroupChannel.cs:343 -> Added implementations of CurrentUser
RestGroupChannel.cs:20 -> renamed iconId to ownerId
RestGroupChannel.cs:23 -> Created public IconId prop
RestGroupChannel.cs:30 -> Added Owner Property
RestGroupChannel.cs:32 -> fixed Users get
RestGroupChannel.cs:37 -> fixed Recipients get
RestGroupChannel.cs:54 -> fixed IconId
RestGroupChannel.cs:57 -> assigned ownerId field
RestGroupChannel.cs:88 -> Added GetIconUrl
IGroupChannel.cs:22 -> added Owner
IGroupChannel.cs:28 -> added GetIconUrl()
dm channel
SocketDMChannel.cs:260 -> Added implementations of Users
SocketDMChannel.cs:262 -> Added implementations of CurrentUser
ISocketPrivateChannel.cs:12 -> Added Users
ISocketPrivateChannel.cs:14 -> Added CurrentUser
discord client
DiscordSocketClient.cs:253 -> added validation to check if its a user or bot token
DiscordSocketClient.EventHandling.cs:107 -> data.Application is null for users
DiscordShardedClient.cs:2 -> added using Discord.Net.Queue
DiscordShardedClient.cs:298 -> fixed null exception if sticker is from an unknown guild
DiscordShardedClient.cs:434 -> removed client.SentRequest (added further down)
DiscordShardedClient.cs:533 -> added before and after request sent events (if the BeforeRequestSent func is set it will override the ones configured at the base idk if thats correct tho, if not pls text me and tell me how to solve that)
DiscordShardedClient.cs:648 -> added global before and after request sent events for the sharded client to receive all of them from the shards
DiscordWebhookClient.cs:9 -> added using Discord.Net.Queue
DiscordWebhookClient.cs:30 -> added before and after request sent events + a func to potentially await the request thats being sent