private static async Task PokeAdmins(TeamSpeakClient tsClient, ClientMoved client) { var channelId = 2; var groupToPoke = 6; var clients = await tsClient.GetClients(); var toPoke = await tsClient.GetServerGroupClientList(groupToPoke); if (client.TargetChannel == channelId) { foreach (var clid in client.ClientIds) { var clientInfo = await tsClient.GetClientInfo(clid); await tsClient.SendMessage($"Witaj {clientInfo.NickName} na kanale pomocy!", MessageTarget.Private, clid); await tsClient.SendMessage($"Za chwilę jakiś administrator udzieli Ci pomocy.", MessageTarget.Private, clid); foreach (var admin in toPoke) { var seriuslyToPoke = clients.Where(c => c.DatabaseId == admin.ClientDatabaseId); foreach (var oknow in seriuslyToPoke) { await tsClient.PokeClient(oknow.Id, "Ktos czeka na kanale pomocy!"); } } } } }
public void UpdateClientMoved(ClientMoved msg) { var obj = GetClient(msg.ClientId); if (obj == null) { Log.Warn("Internal Book protocol error. Update 'ClientMoved' has no local object ({$msg})", msg); return; } { var tmpv = msg.TargetChannelId; if (tmpv != null) { obj.Channel = (ChannelId)tmpv; } } }
partial void PostClientMoved(ClientMoved msg) => SetOwnChannelSubscribed(msg.ClientId);
partial void ProcessEachClientMoved(ClientMoved notifies);
public void UpdateClientMoved(ClientMoved msg) { var obj = GetClient(msg.ClientId); obj.Channel = msg.TargetChannelId; }
partial void PostClientMoved(ClientMoved msg);
private static void Client_OnEachClientMoved(object sender, ClientMoved e) { }