Esempio n. 1
0
        private void onClientMessage(object sender, TS3QueryLib.Core.Server.Notification.EventArgs.MessageReceivedEventArgs e)
        {
            //throw new NotImplementedException();

            if (e.Message == "!scan")
            {
                ScanRooms();

                //TS3QueryLib.Core.Common.Entities.SpacerInfo test;
                //list.Values[0]
            }
            else if (e.Message == "!getusers")
            {
                ClientDbEntryListResponse      list     = queryRunner.GetClientDatabaseList();
                ListResponse <ClientListEntry> userlist = queryRunner.GetClientList(true);
                ClientInfoResponse             user     = queryRunner.GetClientInfo(2);

                foreach (ClientDbEntry item in list)
                {
                }
                foreach (ClientListEntry item in userlist)
                {
                }
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="SimpleClientEntity"/> class.
 /// </summary>
 /// <param name="client">The client.</param>
 /// <param name="clientId">The client id.</param>
 public SimpleClientEntity(ClientInfoResponse client, uint clientId)
 {
     this.ClientDatabaseId = client.DatabaseId;
     this.ClientId = clientId;
     this.Nickname = client.Nickname;
     this.ServerGroups = new List<uint>(client.ServerGroups);
     this.ChannelId = client.ChannelId;
     this.Connected = client.LastConnected;
 }
Esempio n. 3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SimpleClientEntity"/> class.
 /// </summary>
 /// <param name="client">The client.</param>
 /// <param name="clientId">The client id.</param>
 public SimpleClientEntity(ClientInfoResponse client, uint clientId)
 {
     this.ClientDatabaseId = client.DatabaseId;
     this.ClientId         = clientId;
     this.Nickname         = client.Nickname;
     this.ServerGroups     = new List <uint>(client.ServerGroups);
     this.ChannelId        = client.ChannelId;
     this.Connected        = client.LastConnected;
 }
Esempio n. 4
0
        private void UpdateAllUsers()
        {
            ClientDbEntryListResponse list = queryRunner.GetClientDatabaseList();
            string sql_text = "REPLACE INTO users VALUES ";

            foreach (ClientDbEntry entry in list)
            {
                ListResponse <ClientIdEntry> clientid     = queryRunner.GetClientIdsByUniqueId(entry.UniqueId);
                ClientDbInfoResponse         clientdbinfo = queryRunner.GetClientDatabaseInfo((int)entry.DatabaseId);
                ClientInfoResponse           clientinfo   = null;


                sql_text += "(";
                sql_text += serverinfo.id + ",";
                sql_text += "'" + clientdbinfo.Created.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                sql_text += entry.DatabaseId + ",";
                sql_text += "'" + entry.Description + "',";
                sql_text += "'" + entry.LastConnected.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                sql_text += "'" + entry.NickName + "',";
                sql_text += entry.TotalConnections + ",";
                sql_text += "'" + entry.UniqueId + "',";

                if (clientid.Values.Count > 0)
                {
                    clientinfo = queryRunner.GetClientInfo(clientid.Values[0].ClientId);

                    sql_text += clientid.Values[0].ClientId + ",";
                    sql_text += clientinfo.ChannelId + ",";
                    sql_text += "'" + clientinfo.ClientCountry + "',";
                    sql_text += "'" + clientinfo.ClientIP + "',";
                    sql_text += "'" + clientinfo.ConnectedTime.TotalSeconds + "',";
                    sql_text += "'" + clientinfo.IdleTime.TotalSeconds + "',";
                    sql_text += "'" + clientinfo.Platform + "',";

                    sql_text += "'";
                    foreach (uint id in clientinfo.ServerGroups)
                    {
                        sql_text += id + ";";
                    }
                    sql_text  = sql_text.TrimEnd(';');
                    sql_text += "',";

                    sql_text += "'" + clientinfo.Version + "'";
                }
                else
                {
                    sql_text += "NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL";
                }

                sql_text += "),";
            }

            sql_text = sql_text.TrimEnd(',');

            sql.NonQuery(sql_text);
        }
Esempio n. 5
0
        /// <summary>
        /// Get the filename of the avatar using the provided ClientInfoResponse
        /// </summary>
        /// <param name="clientInfoResponse">The ClientInfoResponse which you can get by calling QueryRunner.GetClientInfo(..)</param>
        public static string GetAvatarFilename(ClientInfoResponse clientInfoResponse)
        {
            if (clientInfoResponse == null)
                throw new ArgumentNullException("clientInfoResponse");

            if (clientInfoResponse.Avatar.IsNullOrTrimmedEmpty())
                return null;

            return GetAvatarFilename(clientInfoResponse.HashedUniqueId);
        }
Esempio n. 6
0
        /// <summary>
        /// Get the filename of the avatar using the provided ClientInfoResponse
        /// </summary>
        /// <param name="clientInfoResponse">The ClientInfoResponse which you can get by calling QueryRunner.GetClientInfo(..)</param>
        public static string GetAvatarFilename(ClientInfoResponse clientInfoResponse)
        {
            if (clientInfoResponse == null)
            {
                throw new ArgumentNullException("clientInfoResponse");
            }

            if (clientInfoResponse.Avatar.IsNullOrTrimmedEmpty())
            {
                return(null);
            }

            return(GetAvatarFilename(clientInfoResponse.HashedUniqueId));
        }
Esempio n. 7
0
        private void onClientMessage(object sender, TS3QueryLib.Core.Server.Notification.EventArgs.MessageReceivedEventArgs e)
        {
            //throw new NotImplementedException();

            if (e.Message == "!getusers")
            {
                ClientDbEntryListResponse      list     = queryRunner.GetClientDatabaseList();
                ListResponse <ClientListEntry> userlist = queryRunner.GetClientList(true);
                ClientInfoResponse             user     = queryRunner.GetClientInfo(2);

                foreach (ClientDbEntry item in list)
                {
                }
                foreach (ClientListEntry item in userlist)
                {
                }
            }

            //should not double-fire
        }