added arguments
This commit is contained in:
		
							parent
							
								
									9c440b9760
								
							
						
					
					
						commit
						f82b053b67
					
				@ -5,10 +5,10 @@ read -s -p "git password ?" pass
 | 
				
			|||||||
mkdir build
 | 
					mkdir build
 | 
				
			||||||
while true
 | 
					while true
 | 
				
			||||||
do
 | 
					do
 | 
				
			||||||
	git pull https://$user:$pass@epicsparrow.com/Anselme/sparrowbot.git
 | 
						git pull https://'$user':'$pass'@epicsparrow.com/Anselme/sparrowbot.git
 | 
				
			||||||
	cd build
 | 
						cd build
 | 
				
			||||||
	qmake-qt5 ../SparrowBot.pro
 | 
						qmake-qt5 ../SparrowBot.pro
 | 
				
			||||||
	make
 | 
						make
 | 
				
			||||||
	./SparrowBot -nogui
 | 
						./SparrowBot -nogui nick=SparrowBot chan=epicsparrow server=irc.freenode.net port=6667
 | 
				
			||||||
	cd ..
 | 
						cd ..
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										36
									
								
								main.cpp
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								main.cpp
									
									
									
									
									
								
							@ -5,21 +5,45 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
int main(int argc, char *argv[])
 | 
					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
 | 
					    // create the socket
 | 
				
			||||||
    SocketIRC sock;
 | 
					    SocketIRC sock;
 | 
				
			||||||
    sock.setServer("irc.freenode.net");
 | 
					    sock.setServer(server);
 | 
				
			||||||
    sock.setPort(6667);
 | 
					    sock.setPort(port);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // create the bot
 | 
					    // create the bot
 | 
				
			||||||
    SparrowBot* bot = new SparrowBot("SparrowBotDebug", "epicsparrow");
 | 
					    SparrowBot* bot = new SparrowBot(nick, chan);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // connect the bot to the socket
 | 
					    // connect the bot to the socket
 | 
				
			||||||
    QObject::connect(&sock, SIGNAL(receivedMsg(QString)), bot, SLOT(receiveMsg(QString)));
 | 
					    QObject::connect(&sock, SIGNAL(receivedMsg(QString)), bot, SLOT(receiveMsg(QString)));
 | 
				
			||||||
    QObject::connect(bot, SIGNAL(sendMsg(QString)), &sock, SLOT(sendMsg(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
 | 
					    // set up UI
 | 
				
			||||||
    if(!nogui)
 | 
					    if(!nogui)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
				
			|||||||
@ -7,7 +7,7 @@ SocketIRC::SocketIRC() : server("irc.freenode.net"), port(6667), isConnected(fal
 | 
				
			|||||||
    connect(&sock, SIGNAL(disconnected()), this, SLOT(onDisconnect()));
 | 
					    connect(&sock, SIGNAL(disconnected()), this, SLOT(onDisconnect()));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void SocketIRC::setServer(std::string server_)
 | 
					void SocketIRC::setServer(QString server_)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    server = server_;
 | 
					    server = server_;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -28,7 +28,7 @@ void SocketIRC::connectToServer(QCoreApplication* app_)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    app = app_;
 | 
					    app = app_;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    sock.connectToHost(QString(server.c_str()), quint16(port));
 | 
					    sock.connectToHost(server, quint16(port));
 | 
				
			||||||
    if(!sock.waitForConnected(3000))
 | 
					    if(!sock.waitForConnected(3000))
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        std::cerr << "failed to connect : " << sock.errorString().toStdString() << std::endl;
 | 
					        std::cerr << "failed to connect : " << sock.errorString().toStdString() << std::endl;
 | 
				
			||||||
 | 
				
			|||||||
@ -13,14 +13,14 @@ class SocketIRC : public QObject
 | 
				
			|||||||
public:
 | 
					public:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    SocketIRC();
 | 
					    SocketIRC();
 | 
				
			||||||
    void setServer(std::string server_);
 | 
					    void setServer(QString server_);
 | 
				
			||||||
    void setPort(int port_);
 | 
					    void setPort(int port_);
 | 
				
			||||||
    void connectToServer(QCoreApplication* app_);
 | 
					    void connectToServer(QCoreApplication* app_);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    QCoreApplication* app;
 | 
					    QCoreApplication* app;
 | 
				
			||||||
    std::string server;
 | 
					    QString server;
 | 
				
			||||||
    int port;
 | 
					    int port;
 | 
				
			||||||
    QTcpSocket sock;
 | 
					    QTcpSocket sock;
 | 
				
			||||||
    bool isConnected;
 | 
					    bool isConnected;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user