added arguments

This commit is contained in:
anselme 2015-05-26 19:54:26 +02:00
parent 9c440b9760
commit f82b053b67
4 changed files with 36 additions and 12 deletions

View File

@ -5,10 +5,10 @@ read -s -p "git password ?" pass
mkdir build
while true
do
git pull https://$user:$pass@epicsparrow.com/Anselme/sparrowbot.git
git pull https://'$user':'$pass'@epicsparrow.com/Anselme/sparrowbot.git
cd build
qmake-qt5 ../SparrowBot.pro
make
./SparrowBot -nogui
./SparrowBot -nogui nick=SparrowBot chan=epicsparrow server=irc.freenode.net port=6667
cd ..
done

View File

@ -5,21 +5,45 @@
int main(int argc, char *argv[])
{
bool nogui = false;
QString server = "irc.freenode.net";
int port = 6667;
QString nick = "SparrowBotDebug";
QString chan = "epicsparrow";
// parsing arguments
for(int i=1; i<argc; ++i)
{
QString str = QString(argv[i]);
if(str.compare("-nogui") == 0)
nogui = true;
else if(str.contains('='))
{
QStringList argList = str.split('=');
QString key = argList.at(0);
if(key.compare("server"))
server = argList.at(1);
else if(key.compare("port"))
port = argList.at(1).toInt();
else if(key.compare("nick"))
nick = argList.at(1);
else if(key.compare("chan"))
chan = argList.at(1);
}
}
// create the socket
SocketIRC sock;
sock.setServer("irc.freenode.net");
sock.setPort(6667);
sock.setServer(server);
sock.setPort(port);
// create the bot
SparrowBot* bot = new SparrowBot("SparrowBotDebug", "epicsparrow");
SparrowBot* bot = new SparrowBot(nick, chan);
// connect the bot to the socket
QObject::connect(&sock, SIGNAL(receivedMsg(QString)), bot, SLOT(receiveMsg(QString)));
QObject::connect(bot, SIGNAL(sendMsg(QString)), &sock, SLOT(sendMsg(QString)));
// parsing arguments
bool nogui = argc > 1 && QString(argv[1]).compare("-nogui") == 0;
// set up UI
if(!nogui)
{

View File

@ -7,7 +7,7 @@ SocketIRC::SocketIRC() : server("irc.freenode.net"), port(6667), isConnected(fal
connect(&sock, SIGNAL(disconnected()), this, SLOT(onDisconnect()));
}
void SocketIRC::setServer(std::string server_)
void SocketIRC::setServer(QString server_)
{
server = server_;
}
@ -28,7 +28,7 @@ void SocketIRC::connectToServer(QCoreApplication* app_)
{
app = app_;
sock.connectToHost(QString(server.c_str()), quint16(port));
sock.connectToHost(server, quint16(port));
if(!sock.waitForConnected(3000))
{
std::cerr << "failed to connect : " << sock.errorString().toStdString() << std::endl;

View File

@ -13,14 +13,14 @@ class SocketIRC : public QObject
public:
SocketIRC();
void setServer(std::string server_);
void setServer(QString server_);
void setPort(int port_);
void connectToServer(QCoreApplication* app_);
private:
QCoreApplication* app;
std::string server;
QString server;
int port;
QTcpSocket sock;
bool isConnected;