public void Change(string Name, string NewName, bool Identify = false)
{
var sSender = sIrcBase.Networks[_servername].sSender;
var channel = new Dictionary<string, string>();
foreach(var chan in _names)
{
if(chan.Value.Contains(Name.ToLower(), SchumixBase.Comma))
channel.Add(chan.Key, chan.Value);
}
if(channel.Count.IsNull())
{
channel.Clear();
return;
}
foreach(var chan in channel)
{
_names.Remove(chan.Key);
string names = string.Empty;
var split = chan.Value.Split(SchumixBase.Comma);
foreach(var name in split)
{
if(name != Name.ToLower())
names += SchumixBase.Comma + name;
else
names += SchumixBase.Comma + NewName.ToLower();
}
_names.Add(chan.Key, names.Remove(0, 1, SchumixBase.Comma));
}
channel.Clear();
RandomVhost(Name.ToLower());
// Azt ellenőrzi le felszabadult-e az elsődleges nick neve.
if(IRCConfig.List[_servername].NickName.ToLower() == Name.ToLower() && !Identify)
{
sIrcBase.Networks[_servername].sMyNickInfo.ChangeIdentifyStatus(false);
sFunctions.IsOnline = true;
sSender.NickServInfo(Name);
}
}