1481
if (SupportNonRfc) {
1482
temp = (string)parametersEnumerator.Current;
1483
parametersEnumerator.MoveNext();
1486
if (ActiveChannelSyncing && channel != null) {
1488
if (GetChannelUser(ircdata.Channel, temp) != null) {
1489
// update the owner list
1491
((NonRfcChannel)channel).UnsafeOwners.Add(temp, GetIrcUser(temp));
1493
Logger.ChannelSyncing.Debug("added owner: "+temp+" to: "+ircdata.Channel);
1495
} catch (ArgumentException) {
1497
Logger.ChannelSyncing.Debug("duplicate owner: "+temp+" in: "+ircdata.Channel+" not added");
1501
// update the user owner status
1502
NonRfcChannelUser cuser = (NonRfcChannelUser)GetChannelUser(ircdata.Channel, temp);
1503
cuser.IsOwner = true;
1505
Logger.ChannelSyncing.Debug("set owner status: " + temp + " for: "+ircdata.Channel);
1509
Logger.ChannelSyncing.Error("_InterpretChannelMode(): GetChannelUser(" + ircdata.Channel + "," + temp + ") returned null! Ignoring...");
1514
if (OnOwner != null) {
1515
OnOwner(this, new OwnerEventArgs(ircdata, ircdata.Channel, ircdata.Nick, temp));
1519
if (ActiveChannelSyncing && channel != null) {
1521
if (GetChannelUser(ircdata.Channel, temp) != null) {
1522
// update the owner list
1523
((NonRfcChannel)channel).UnsafeOwners.Remove(temp);
1525
Logger.ChannelSyncing.Debug("removed owner: "+temp+" from: "+ircdata.Channel);
1527
// update the user owner status
1528
NonRfcChannelUser cuser = (NonRfcChannelUser)GetChannelUser(ircdata.Channel, temp);
1529
cuser.IsOwner = false;
1531
Logger.ChannelSyncing.Debug("unset owner status: " + temp + " for: "+ircdata.Channel);
1535
Logger.ChannelSyncing.Error("_InterpretChannelMode(): GetChannelUser(" + ircdata.Channel + "," + temp + ") returned null! Ignoring...");
1540
if (OnDeowner != null) {
1541
OnDeowner(this, new DeownerEventArgs(ircdata, ircdata.Channel, ircdata.Nick, temp));
1547
if (SupportNonRfc) {
1548
temp = (string)parametersEnumerator.Current;
1549
parametersEnumerator.MoveNext();
1552
if (ActiveChannelSyncing && channel != null) {
1554
if (GetChannelUser(ircdata.Channel, temp) != null) {
1555
// update the channel admin list
1557
((NonRfcChannel)channel).UnsafeChannelAdmins.Add(temp, GetIrcUser(temp));
1559
Logger.ChannelSyncing.Debug("added channel admin: "+temp+" to: "+ircdata.Channel);
1561
} catch (ArgumentException) {
1563
Logger.ChannelSyncing.Debug("duplicate channel admin: "+temp+" in: "+ircdata.Channel+" not added");
1567
// update the user channel admin status
1568
NonRfcChannelUser cuser = (NonRfcChannelUser)GetChannelUser(ircdata.Channel, temp);
1569
cuser.IsChannelAdmin = true;
1571
Logger.ChannelSyncing.Debug("set channel admin status: " + temp + " for: "+ircdata.Channel);
1575
Logger.ChannelSyncing.Error("_InterpretChannelMode(): GetChannelUser(" + ircdata.Channel + "," + temp + ") returned null! Ignoring...");
1580
if (OnChannelAdmin != null) {
1581
OnChannelAdmin(this, new ChannelAdminEventArgs(ircdata, ircdata.Channel, ircdata.Nick, temp));
1585
if (ActiveChannelSyncing && channel != null) {
1587
if (GetChannelUser(ircdata.Channel, temp) != null) {
1588
// update the channel admin list
1589
((NonRfcChannel)channel).UnsafeChannelAdmins.Remove(temp);
1591
Logger.ChannelSyncing.Debug("removed channel admin: "+temp+" from: "+ircdata.Channel);
1593
// update the user channel admin status
1594
NonRfcChannelUser cuser = (NonRfcChannelUser)GetChannelUser(ircdata.Channel, temp);
1595
cuser.IsChannelAdmin = false;
1597
Logger.ChannelSyncing.Debug("unset channel admin status: " + temp + " for: "+ircdata.Channel);
1601
Logger.ChannelSyncing.Error("_InterpretChannelMode(): GetChannelUser(" + ircdata.Channel + "," + temp + ") returned null! Ignoring...");
1606
if (OnDeChannelAdmin != null) {
1607
OnDeChannelAdmin(this, new DeChannelAdminEventArgs(ircdata, ircdata.Channel, ircdata.Nick, temp));
1475
1613
if (SupportNonRfc) {
1476
1614
temp = (string)parametersEnumerator.Current;
2094
2232
// remove first to avoid duplication, Foo -> foo
2095
2233
channel.UnsafeUsers.Remove(oldnickname);
2096
2234
channel.UnsafeUsers.Add(newnickname, channeluser);
2235
if (SupportNonRfc && ((NonRfcChannelUser)channeluser).IsOwner) {
2236
NonRfcChannel nchannel = (NonRfcChannel)channel;
2237
nchannel.UnsafeOwners.Remove(oldnickname);
2238
nchannel.UnsafeOwners.Add(newnickname, channeluser);
2240
if (SupportNonRfc && ((NonRfcChannelUser)channeluser).IsChannelAdmin) {
2241
NonRfcChannel nchannel = (NonRfcChannel)channel;
2242
nchannel.UnsafeChannelAdmins.Remove(oldnickname);
2243
nchannel.UnsafeChannelAdmins.Add(newnickname, channeluser);
2097
2245
if (channeluser.IsOp) {
2098
2246
channel.UnsafeOps.Remove(oldnickname);
2099
2247
channel.UnsafeOps.Add(newnickname, channeluser);
2315
2467
Channel channel = GetChannel(channelname);
2317
2469
channel.UnsafeUsers.Add(nickname, channeluser);
2470
if (SupportNonRfc && owner) {
2471
((NonRfcChannel)channel).UnsafeOwners.Add(nickname, channeluser);
2473
Logger.ChannelSyncing.Debug("added owner: "+nickname+" to: "+channelname);
2476
if (SupportNonRfc && chanadmin) {
2477
((NonRfcChannel)channel).UnsafeChannelAdmins.Add(nickname, channeluser);
2479
Logger.ChannelSyncing.Debug("added channel admin: "+nickname+" to: "+channelname);
2319
2483
channel.UnsafeOps.Add(nickname, channeluser);