Exemple #1
0
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);
}
Exemple #2
0
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));
}