public MaskOfTruth(string server, int port, string config) : base(server, port, "", "") { cfg = new DataTypes.Config(config); cred = new DataTypes.Credentials(cfg.cfgFile.twitch.username, cfg.cfgFile.twitch.password); pluginDispatch = new DynamicPlugin(this); Startup += login; Startup += () => SuperUsers.ForEach((S) => S.ToLower()); Shutdown += logout; Shutdown += () => SockStream.Dispose(); Shutdown += () => SockConn.Close(); OnSend += (string M) => Console.WriteLine(">> " + M); OnReceive += (string M) => { var incomingMessage = DataTypes.Message.ParseMessageString(this, M); if (incomingMessage.isValid) { OnMessage(incomingMessage); } }; OnMessage += (DataTypes.Message M) => pluginDispatch.Invoke(M); }
/// <summary> /// A hash code for this connection /// </summary> public override int GetHashCode() { return(SockConn.GetHashCode()); }
/// <summary> /// Disconnect this connection with custom data /// </summary> /// <param name="token">A data token</param> public void Disconnect(IMessageRider token) { SockConn.Disconnect(token); }