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