SparrowBot/ircbot/message.cpp
2015-06-05 15:40:12 +02:00

42 lines
1.0 KiB
C++

#include "message.h"
#include <QStringList>
#include <vector>
Message::Message(QString str)
{
if(str.startsWith("PING"))
{
command = "PING";
nick = str.split(':')[1];
args = nick;
target = nick;
}
else
{
// remove the first char, which is ':'
str = str.remove(0, 1);
// locate the mid ':' separator
int mid = str.indexOf(':');
// the arguments are after the separator
args = str.right(str.size()-(mid+1));
// the interesting infos before the separator are separated by spaces
QStringList list = str.split(' ');
// source of the message (creates the user if he is new)
QString temp = list.takeFirst();
nick = temp.left(temp.indexOf('!'));
// command issued by the source
command = list.takeFirst();
// target of the command
target = list.takeFirst();
if(!list.empty())
target2 = list.takeFirst();
}
}
Message::~Message()
{
}