23 #include "ircdelayedoperationban.h"
25 #include "irc/entities/ircuserprefix.h"
26 #include "irc/ircresponseparser.h"
27 #include "irc/ircnetworkadapter.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, 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,
const QString& realName)
69 QString banString =
"*!*@" + hostName;
70 d->network->sendMessage(QString(
"/mode %1 +b %2").arg(d->channel, banString));
71 d->network->sendMessage(QString(
"/kick %1 %2 %3").arg(d->channel, d->nickname, d->reason));
75 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.