23 #include "ircdelayedoperationban.h" 25 #include "irc/entities/ircuserprefix.h" 26 #include "irc/ircnetworkadapter.h" 27 #include "irc/ircresponseparser.h" 29 DClass<IRCDelayedOperationBan>
37 QString cleanNickname()
const 46 const QString &channel, const QString &nickname, QObject *parent)
50 d->nickname = nickname;
52 this->connect(d->network->responseParser(),
53 SIGNAL(whoIsUser(QString,QString,QString,QString)),
54 SLOT(onWhoIsUser(QString,QString,QString)));
57 IRCDelayedOperationBan::~IRCDelayedOperationBan()
61 void IRCDelayedOperationBan::start()
63 d->network->sendMessage(QString(
"/whois %1").arg(d->cleanNickname()));
66 void IRCDelayedOperationBan::onWhoIsUser(
const QString &nickname,
const QString &user,
67 const QString &hostName)
71 QString banString =
"*!*@" + hostName;
72 d->network->sendMessage(QString(
"/mode %1 +b %2").arg(d->channel, banString));
73 d->network->sendMessage(QString(
"/kick %1 %2 %3").arg(d->channel, d->nickname, d->reason));
77 void IRCDelayedOperationBan::setReason(
const QString &reason)
Interprets communication between the client and the IRC server.
const IRCUserPrefix & userPrefixes() const
All allowed modes with their nickname prefixes for this network.