void management::who(std::vector< std::string > data) { std::string l_ChannelName = data[3]; std::string l_UserName = data[7]; std::string l_Modes = data[8]; if (!users::instance().find(l_UserName)) { irc::instance().addSendQueue(reply::instance().ircWhois(l_UserName)); } std::shared_ptr<channel> l_Channel = channels::instance().add(l_ChannelName); std::shared_ptr<user> l_User = users::instance().add(l_UserName); l_User->addChannel(l_ChannelName, l_Channel); l_Channel->addUser(l_UserName, l_User); //U.FirstJoin(l_UserName); userModes(l_UserName, l_Modes); userChannelModes(l_ChannelName, l_UserName, l_Modes); }
void management::whoextra(std::vector< std::string > data) { if (data.size() == 7) { std::string l_ChannelName = data[3]; std::string l_UserName = data[4]; std::string l_Modes = data[5]; std::string l_Auth = data[6]; size_t chanpos; chanpos = l_ChannelName.find("#"); if (chanpos != std::string::npos) { std::shared_ptr<channel> l_Channel = channels::instance().add(l_ChannelName); std::shared_ptr<user> l_User = users::instance().add(l_UserName); l_Channel->addUser(l_UserName, l_User); l_User->addChannel(l_ChannelName, l_Channel); //U.FirstJoin(l_UserName); userAuth(l_UserName, l_Auth); userModes(l_UserName, l_Modes); userChannelModes(l_ChannelName, l_UserName, l_Modes); } } }
QString IrcChannel::userModes(const QString &nick) const { return userModes(network()->ircUser(nick)); }