Reintroduces separate contexts for users, channels, connections (now split into sessions and connections) and user-channel associations. It builds which is as much assurance as I can give about the stability of this commit, but its also the bare minimum of what i like to commit sooooo A lot of things still need to be broadcast through events throughout the application in order to keep states consistent but we'll cross that bridge when we get to it. I really need to stop using that phrase thingy, I'm overusing it.
20 lines
467 B
C#
20 lines
467 B
C#
using Microsoft.Extensions.Logging;
|
|
using SharpChat.Sessions;
|
|
|
|
namespace SharpChat;
|
|
|
|
public record class C2SPacketHandlerContext(
|
|
string Text,
|
|
Context Chat,
|
|
SockChatConnection Connection,
|
|
Session? Session,
|
|
ILogger Logger
|
|
) {
|
|
public bool CheckPacketId(string packetId) {
|
|
return Text == packetId || Text.StartsWith(packetId + '\t');
|
|
}
|
|
|
|
public string[] SplitText(int expect) {
|
|
return Text.Split('\t', expect + 1);
|
|
}
|
|
}
|