Beispiel #1
0
        private void ConnectClient()
        {
            VersionSign verionSign;

            if (!string.IsNullOrEmpty(ts3FullClientData.ClientVersion))
            {
                var splitData = ts3FullClientData.ClientVersion.Split('|').Select(x => x.Trim()).ToArray();
                var plattform = (ClientPlattform)Enum.Parse(typeof(ClientPlattform), splitData[1], true);
                verionSign = new VersionSign(splitData[0], plattform, splitData[2]);
            }
            else if (Util.IsLinux)
            {
                verionSign = VersionSign.VER_LIN_3_0_19_4;
            }
            else
            {
                verionSign = VersionSign.VER_WIN_3_0_19_4;
            }

            tsFullClient.Connect(new ConnectionDataFull
            {
                Username         = ts3FullClientData.DefaultNickname,
                Password         = ts3FullClientData.ServerPassword,
                Address          = ts3FullClientData.Address,
                Identity         = identity,
                IsPasswordHashed = ts3FullClientData.ServerPasswordIsHashed,
                VersionSign      = verionSign,
                DefaultChannel   = ts3FullClientData.DefaultChannel,
            });
        }
Beispiel #2
0
        private void ConnectClient()
        {
            VersionSign verionSign = VersionSign.VER_LIN_3_0_19_4;

            if (!string.IsNullOrEmpty(ts3FullClientData.ClientVersion))
            {
                var splitData = ts3FullClientData.ClientVersion.Split('|').Select(x => x.Trim()).ToArray();
                var plattform = (ClientPlattform)Enum.Parse(typeof(ClientPlattform), splitData[1], true);
                verionSign = new VersionSign(splitData[0], plattform, splitData[2]);
            }

            if (Uri.CheckHostName(ts3FullClientData.Host) == UriHostNameType.Unknown)
            {
                Log.Write(Log.Level.Warning, "Your hostname seems to be invalid, consider checking it if you can't connect.");
                if (ts3FullClientData.Host.Contains(":"))
                {
                    Log.Write(Log.Level.Warning, "You may have included the port in the hostname field. Please notice that there is an extra field for that.");
                }
            }

            tsFullClient.Connect(new ConnectionDataFull
            {
                Username         = ts3FullClientData.DefaultNickname,
                Password         = ts3FullClientData.ServerPassword,
                Hostname         = ts3FullClientData.Host,
                Port             = ts3FullClientData.Port,
                Identity         = identity,
                IsPasswordHashed = ts3FullClientData.ServerPasswordIsHashed,
                VersionSign      = verionSign,
                DefaultChannel   = ts3FullClientData.DefaultChannel,
            });
        }
Beispiel #3
0
        private E <string> ConnectClient()
        {
            StopReconnectTickWorker();
            if (closed)
            {
                return("Bot disposed");
            }

            VersionSign versionSign;

            if (!string.IsNullOrEmpty(config.Connect.ClientVersion.Build.Value))
            {
                var versionConf = config.Connect.ClientVersion;
                versionSign = new VersionSign(versionConf.Build, versionConf.Platform.Value, versionConf.Sign);

                if (!versionSign.CheckValid())
                {
                    Log.Warn("Invalid version sign, falling back to unknown :P");
                    versionSign = VersionSign.VER_WIN_3_X_X;
                }
            }
            else if (Tools.IsLinux)
            {
                versionSign = VersionSign.VER_LIN_3_X_X;
            }
            else
            {
                versionSign = VersionSign.VER_WIN_3_X_X;
            }

            try
            {
                var connectionConfig = new ConnectionDataFull
                {
                    Username               = config.Connect.Name,
                    ServerPassword         = config.Connect.ServerPassword.Get(),
                    Address                = config.Connect.Address,
                    Identity               = identity,
                    VersionSign            = versionSign,
                    DefaultChannel         = config.Connect.Channel,
                    DefaultChannelPassword = config.Connect.ChannelPassword.Get(),
                    LogId = id,
                };
                config.SaveWhenExists();

                ts3FullClient.Connect(connectionConfig);
                return(R.Ok);
            }
            catch (TsException qcex)
            {
                Log.Error(qcex, "There is either a problem with your connection configuration, or the bot has not all permissions it needs.");
                return("Connect error");
            }
        }
Beispiel #4
0
        private void ConnectClient()
        {
            VersionSign verionSign = null;

            if (!string.IsNullOrEmpty(ts3FullClientData.ClientVersion))
            {
                var splitData = ts3FullClientData.ClientVersion.Split('|').Select(x => x.Trim()).ToArray();
                if (splitData.Length == 3)
                {
                    verionSign = new VersionSign(splitData[0], splitData[1], splitData[2]);
                }
                else if (splitData.Length == 1)
                {
                    var signType = typeof(VersionSign).GetField("VER_" + ts3FullClientData.ClientVersion,
                                                                BindingFlags.IgnoreCase | BindingFlags.Static | BindingFlags.Public);
                    if (signType != null)
                    {
                        verionSign = (VersionSign)signType.GetValue(null);
                    }
                }

                if (verionSign == null)
                {
                    Log.Warn("Invalid version sign, falling back to unknown :P");
                    verionSign = VersionSign.VER_WIN_3_X_X;
                }
            }
            else if (SystemData.IsLinux)
            {
                verionSign = VersionSign.VER_LIN_3_1_8;
            }
            else
            {
                verionSign = VersionSign.VER_WIN_3_1_8;
            }

            connecting = true;
            tsFullClient.Connect(new ConnectionDataFull
            {
                Username       = ts3FullClientData.DefaultNickname,
                ServerPassword = ts3FullClientData.ServerPasswordIsHashed
                                        ? Password.FromHash(ts3FullClientData.ServerPassword)
                                        : Password.FromPlain(ts3FullClientData.ServerPassword),
                Address        = ts3FullClientData.Address,
                Identity       = identity,
                VersionSign    = verionSign,
                DefaultChannel = ts3FullClientData.DefaultChannel,
            });
        }
Beispiel #5
0
        private void ConnectClient()
        {
            VersionSign verionSign = VersionSign.VER_LIN_3_0_19_4;

            if (!string.IsNullOrEmpty(ts3FullClientData.ClientVersion))
            {
                var splitData = ts3FullClientData.ClientVersion.Split('|').Select(x => x.Trim()).ToArray();
                var plattform = (ClientPlattform)Enum.Parse(typeof(ClientPlattform), splitData[1], true);
                verionSign = new VersionSign(splitData[0], plattform, splitData[2]);
            }

            tsFullClient.Connect(new ConnectionDataFull
            {
                Username         = "******",
                Password         = ts3FullClientData.ServerPassword,
                Hostname         = ts3FullClientData.Host,
                Port             = ts3FullClientData.Port,
                Identity         = identity,
                IsPasswordHashed = ts3FullClientData.ServerPasswordIsHashed,
                VersionSign      = verionSign,
            });
        }