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; }
/// <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; }
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); }
/// <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); }
/// <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)); }
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 }