Exemplo n.º 1
0
 private void handleChanOper(BroadcastChatClient client, string channel, string mod, string target)
 {
     if (!server.Channels.ContainsKey(channel))
     {
         client.SendErrorNoChannel(channel);
     }
     else if (!server.Channels[channel].Clients.ContainsKey(client.Nick))
     {
         client.SendErrorNotInChannel(channel);
     }
     else if (!server.Channels[channel].OperClients.ContainsKey(client.Nick))
     {
         client.SendErrorNotChanOper(channel, client.Nick);
     }
     else if (mod.ToUpper() == "GIVE")
     {
         if (server.Channels[channel].OperClients.ContainsKey(target))
         {
             client.SendErrorAlreadyChanOper(channel, target);
         }
         else
         {
             server.Channels[channel].SendChanOperGive(client, target);
         }
     }
     else if (mod.ToUpper() == "TAKE")
     {
         if (!server.Channels[channel].OperClients.ContainsKey(target))
         {
             client.SendErrorNotChanOper(channel, target);
         }
         else
         {
             server.Channels[channel].SendChanOperTake(client, target);
         }
     }
     else
     {
         client.SendErrorExpected(mod.ToUpper(), "GIVE", "TAKE");
     }
 }