コード例 #1
0
ファイル: Quartermaster.cs プロジェクト: qvazzler/Lyralei
        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)
                {
                }
            }
        }
コード例 #2
0
ファイル: UserMonitor.cs プロジェクト: qvazzler/Lyralei
        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);
        }
コード例 #3
0
ファイル: UserMonitor.cs プロジェクト: qvazzler/Lyralei
        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
        }