summaryrefslogtreecommitdiffstats
path: root/src/libcommuni/examples/qmlbot/qml
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcommuni/examples/qmlbot/qml')
-rw-r--r--src/libcommuni/examples/qmlbot/qml/main.qml84
1 files changed, 0 insertions, 84 deletions
diff --git a/src/libcommuni/examples/qmlbot/qml/main.qml b/src/libcommuni/examples/qmlbot/qml/main.qml
deleted file mode 100644
index 2dad458..0000000
--- a/src/libcommuni/examples/qmlbot/qml/main.qml
+++ /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.
- */
-
-import QtQml 2.0
-import Communi 3.0
-
-QtObject {
- id: bot
-
- property string channel: "#communi"
-
- property Irc irc: Irc { id: irc }
- property IrcCommand command: IrcCommand { id: command }
-
- property IrcBufferModel model: IrcBufferModel {
- id: model
-
-//! [connection]
- connection: IrcConnection {
- id: connection
-
- host: "irc.freenode.net"
- userName: "communi"
- nickName: "QmlBot" + Math.round(Math.random() * 9999)
- realName: qsTr("Communi %1 QML bot example").arg(irc.version())
-
- Component.onCompleted: {
- // queue a command to automatically join a channel when connected
- sendCommand(command.createJoin(channel))
- open()
- }
-//! [connection]
-
-//! [receive]
- onMessageReceived: {
- if (message.type === IrcMessage.Private) {
- // - in private, reply to the message sender
- // - on channel, reply to the target channel
- parser.target = message.private ? message.nick : message.target
-
- var command = parser.parse(message.content)
- if (command) {
- // send the command to the IRC server
- sendCommand(command)
- if (command.type === IrcCommand.Quit) {
- // close the connection & quit the app when a !quit command was received
- close()
- Qt.quit()
- }
- }
- }
- }
-//! [receive]
- }
- }
-
-//! [parser]
- property IrcCommandParser parser: IrcCommandParser {
- id: parser
-
- // keep the parser aware of the context
- channels: model.channels
-
- // - on channel, respond to: "!<command> <params>" and "bot: <command> <params>"
- // - in query, respond to: "!<command> <params>" and "<command> <params>"
- triggers: connection.network.isChannel(target) ? ["!", connection.nickName + ":"] : ["!", ""]
-
- Component.onCompleted: {
- // teach the bot some commands
- 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...>");
- }
- }
-//! [parser]
-}