diff options
| author | Markus Mittendrein <git@maxmitti.tk> | 2015-09-09 19:00:56 +0200 |
|---|---|---|
| committer | Markus Mittendrein <git@maxmitti.tk> | 2015-09-09 19:02:23 +0200 |
| commit | 8a6d4b06f2291c363f3dea17837ed20893852453 (patch) | |
| tree | c091375499e35eaa1810586454e0834c06e6c9b2 /libcommuni/examples/bot | |
| parent | f554a27046f203e56a07baaf214d90834942e3f5 (diff) | |
| download | manager-8a6d4b06f2291c363f3dea17837ed20893852453.tar.gz manager-8a6d4b06f2291c363f3dea17837ed20893852453.zip | |
Cleanup repo with some directories
Diffstat (limited to 'libcommuni/examples/bot')
| -rw-r--r-- | libcommuni/examples/bot/bot.pro | 17 | ||||
| -rw-r--r-- | libcommuni/examples/bot/ircbot.cpp | 84 | ||||
| -rw-r--r-- | libcommuni/examples/bot/ircbot.h | 37 | ||||
| -rw-r--r-- | libcommuni/examples/bot/main.cpp | 59 |
4 files changed, 0 insertions, 197 deletions
diff --git a/libcommuni/examples/bot/bot.pro b/libcommuni/examples/bot/bot.pro deleted file mode 100644 index 1f4f434..0000000 --- a/libcommuni/examples/bot/bot.pro +++ /dev/null @@ -1,17 +0,0 @@ -###################################################################### -# Communi -###################################################################### - -TEMPLATE = app -TARGET = bot -DEPENDPATH += . -INCLUDEPATH += . -CONFIG += console -CONFIG -= app_bundle -QT = core network - -# Input -HEADERS += ircbot.h -SOURCES += ircbot.cpp main.cpp - -include(../examples.pri) diff --git a/libcommuni/examples/bot/ircbot.cpp b/libcommuni/examples/bot/ircbot.cpp deleted file mode 100644 index 1891e62..0000000 --- a/libcommuni/examples/bot/ircbot.cpp +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (C) 2008-2014 The Communi Project - * - * This example is free, and not covered by the BSD license. There is no - * restriction applied to their modification, redistribution, using and so on. - * You can study them, modify them, use them in your own program - either - * completely or partially. - */ - -#include "ircbot.h" -#include <IrcMessage> -#include <IrcCommand> -#include <QCoreApplication> -#include <QTimer> - -IrcBot::IrcBot(QObject* parent) : IrcConnection(parent) -{ -//! [messages] - connect(this, SIGNAL(privateMessageReceived(IrcPrivateMessage*)), this, SLOT(processMessage(IrcPrivateMessage*))); -//! [messages] - -//! [commands] - parser.addCommand(IrcCommand::CtcpAction, "ACT [target] <message...>"); - parser.addCommand(IrcCommand::Custom, "HELP (<command...>)"); - parser.addCommand(IrcCommand::Nick, "NICK <nick>"); - parser.addCommand(IrcCommand::Join, "JOIN <#channel> (<key>)"); - parser.addCommand(IrcCommand::Part, "PART (<#channel>) (<message...>)"); - parser.addCommand(IrcCommand::Quit, "QUIT (<message...>)"); - parser.addCommand(IrcCommand::Message, "SAY [target] <message...>"); -//! [commands] - - bufferModel.setConnection(this); -//! [channels] - connect(&bufferModel, SIGNAL(channelsChanged(QStringList)), &parser, SLOT(setChannels(QStringList))); -//! [channels] -} - -void IrcBot::join(QString channel) -{ - sendCommand(IrcCommand::createJoin(channel)); -} - -//![receive] -void IrcBot::processMessage(IrcPrivateMessage* message) -{ - if (message->isPrivate()) { - // private message: reply to the message sender - // => triggers: "!<cmd> <params>" and "<cmd> <params>" - parser.setTarget(message->nick()); - parser.setTriggers(QStringList() << "!" << ""); - } else { - // channel message: reply to the target channel - // => triggers: "!<cmd> <params>" and "bot: <cmd> <params>" - parser.setTarget(message->target()); - parser.setTriggers(QStringList() << "!" << nickName().append(":")); - } - - IrcCommand* cmd = parser.parse(message->content()); - if (cmd) { - if (cmd->type() == IrcCommand::Custom && cmd->parameters().value(0) == "HELP") { - help(cmd->parameters().mid(1)); - } else { - sendCommand(cmd); - - if (cmd->type() == IrcCommand::Quit) { - connect(this, SIGNAL(disconnected()), qApp, SLOT(quit())); - QTimer::singleShot(1000, qApp, SLOT(quit())); - } - } - } -} -//![receive] - -void IrcBot::help(QStringList commands) -{ - if (commands.isEmpty()) - commands = parser.commands(); - - QString target = parser.target(); - foreach (const QString& command, commands) { - QString syntax = parser.syntax(command); - sendCommand(IrcCommand::createMessage(target, syntax)); - } -} diff --git a/libcommuni/examples/bot/ircbot.h b/libcommuni/examples/bot/ircbot.h deleted file mode 100644 index 1a88a01..0000000 --- a/libcommuni/examples/bot/ircbot.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (C) 2008-2014 The Communi Project - * - * This example is free, and not covered by the BSD license. There is no - * restriction applied to their modification, redistribution, using and so on. - * You can study them, modify them, use them in your own program - either - * completely or partially. - */ - -#ifndef IRCBOT_H -#define IRCBOT_H - -#include <IrcConnection> -#include <IrcBufferModel> -#include <IrcCommandParser> - -class IrcBot : public IrcConnection -{ - Q_OBJECT - -public: - IrcBot(QObject* parent = 0); - -public slots: - void join(QString channel); - -private slots: - void processMessage(IrcPrivateMessage* message); - -private: - void help(QStringList commands); - - IrcCommandParser parser; - IrcBufferModel bufferModel; -}; - -#endif // IRCBOT_H diff --git a/libcommuni/examples/bot/main.cpp b/libcommuni/examples/bot/main.cpp deleted file mode 100644 index 526f776..0000000 --- a/libcommuni/examples/bot/main.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (C) 2008-2014 The Communi Project - * - * This example is free, and not covered by the BSD license. There is no - * restriction applied to their modification, redistribution, using and so on. - * You can study them, modify them, use them in your own program - either - * completely or partially. - */ - -#include <QtCore> -#include "ircbot.h" - -int main(int argc, char* argv[]) -{ - QCoreApplication app(argc, argv); - - // enable debug output - qputenv("IRC_DEBUG", "1"); - qsrand(QTime::currentTime().msec()); - - IrcBot bot; - bot.setHost("irc.freenode.net"); - bot.setUserName("communi"); - bot.setNickName("Bot" + QString::number(qrand() % 9999)); - bot.setRealName("Communi " + Irc::version() + " example bot"); - - bool joined = false; - QStringList args = app.arguments(); - for (int i = 0; i < args.count(); ++i) { - QString arg = args.at(i); - if (arg == "-help") { - qDebug() << "Usage:" << argv[0] << "(-host <host>) (-port <port>) (-ssl) (-nick <nick>) (-user <user>) (-password <password>) (-channel <channel>)"; - return 0; - } else if (arg == "-port") { - bool ok = false; - int port = args.value(++i).toInt(&ok); - if (ok) - bot.setPort(port); - } else if (arg == "-ssl") { - bot.setSecure(true); - } else if (arg == "-host") { - bot.setHost(args.value(++i)); - } else if (arg == "-user") { - bot.setUserName(args.value(++i)); - } else if (arg == "-password") { - bot.setPassword(args.value(++i)); - } else if (arg == "-nick") { - bot.setNickName(args.value(++i)); - } else if (arg == "-channel") { - bot.join(args.value(++i)); - joined = true; - } - } - if (!joined) - bot.join("#communi"); - - bot.open(); - return app.exec(); -} |
