From a69ec09d6baa480e96dd23160a6359267b3cfecd Mon Sep 17 00:00:00 2001 From: John Reese Date: Thu, 29 Sep 2011 09:30:06 -0400 Subject: [PATCH] Rebrand project as ZNC Push Issue #226 --- .gitignore | 2 +- Makefile | 6 +++--- README.md | 29 ++++++++++++++++++++--------- notifo.cpp => push.cpp | 42 +++++++++++++++++++++--------------------- 4 files changed, 45 insertions(+), 34 deletions(-) rename notifo.cpp => push.cpp (97%) diff --git a/.gitignore b/.gitignore index 6db68bb..c42d8df 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -notifo.so +push.so diff --git a/Makefile b/Makefile index ee5f4fb..27dfa5d 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ -notifo.so: notifo.cpp - znc-buildmod notifo.cpp +push.so: push.cpp + znc-buildmod push.cpp clean: - -rm -f notifo.so + -rm -f push.so diff --git a/README.md b/README.md index 821a331..33e0aa0 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ -ZNC to Notifo +ZNC Push ============= -ZNC to Notifo is a module for [ZNC][] that will send notifications to a [Notifo][] account +ZNC Push is a module for [ZNC][] that will send notifications to a [Notifo][] account for any private message or channel highlight that matches a configurable set of conditions. This project is still a Work In Progress, but should be functional enough and stable enough for everyday usage. Users are more than welcome to submit feature requests or patches for discussion or inclusion. Bug reports and feature requests can be submitted to -[my bug tracker][mantis] by selecting the "ZNC to Notifo" project from the top right, or +[my bug tracker][mantis] by selecting the "ZNC Push" project from the top right, or sent via email. For full functionality, this module requires ZNC version 0.090 or newer, but should compile @@ -15,7 +15,7 @@ and run with a reduced feature set on versions as old as 0.078, the current vers Ubuntu. However, development and testing is done exclusively against the latest source distribution, so feedback on older releases of ZNC is needed to continue supporting them. -ZNC to Notifo was created by [John Reese](http://johnmreese.com) and designed to fill a +ZNC Push was created by [John Reese](http://johnmreese.com) and designed to fill a personal need. It may not fit your use cases, but any and all feedback would be greatly appreciated. @@ -35,7 +35,7 @@ If you have `make` installed, you can compile the module with: Otherwise, run the full command: - $ znc-build notifo.cpp + $ znc-build push.cpp Installation @@ -43,24 +43,35 @@ Installation Copy the compiled module into your ZNC profile: - $ cp notifo.so ~/.znc/modules/ + $ cp push.so ~/.znc/modules/ Now, load the module in ZNC: - /msg *status loadmod notifo + /msg *status loadmod push Then set your Notifo username and API secret. The API secret is not your password, and can be obtained by logging into Notifo's website, clicking Settings, and then "Click to Show" next to the "API Secret" heading: - /msg *notifo set username foo - /msg *notifo set secret ... + /msg *push set username foo + /msg *push set secret ... At this point, it should start sending notifications every time you get a private message or someone says your name in a channel. If this is everything you wanted, congratulations, you're done! +Migrating From Notifo +--------------------- + +Before uninstalling the old Notifo module, save your settings to a file. When you have the +new Push module installed, you can then load those settings back in, rather than needing +to set your configuration all over again: + + /msg *notifo save /tmp/znc_notifo + /msg *push load /tmp/znc_notifo + + Commands -------- diff --git a/notifo.cpp b/push.cpp similarity index 97% rename from notifo.cpp rename to push.cpp index 72ef807..1fd83d1 100644 --- a/notifo.cpp +++ b/push.cpp @@ -1,8 +1,8 @@ /** - * ZNC Notifo Module + * ZNC Push Module * - * Allows the user to enter a Notifo user and API token, and sends - * channel highlights and personal messages to Notifo. + * Allows the user to enter a Push user and API token, and sends + * channel highlights and personal messages to Push. * * Copyright (c) 2011 John Reese * Licensed under the MIT license @@ -22,19 +22,19 @@ // Handle versions of ZNC older than 0.090 by disabling the away_only condition #if VERSION_MAJOR == 0 && VERSION_MINOR >= 90 -#define NOTIFO_AWAY +#define PUSH_AWAY #endif // Debug output -#define NOTIFO_DEBUG 0 +#define PUSH_DEBUG 0 -#if NOTIFO_DEBUG +#if PUSH_DEBUG #define PutDebug(s) PutModule(s) #else #define PutDebug(s) //s #endif -class CNotifoMod : public CModule +class CPushMod : public CModule { protected: @@ -75,7 +75,7 @@ class CNotifoMod : public CModule public: - MODCONSTRUCTOR(CNotifoMod) { + MODCONSTRUCTOR(CPushMod) { app = "ZNC"; crlf = "\r\n"; @@ -83,7 +83,7 @@ class CNotifoMod : public CModule notifo_auth = ""; notifo_host = "api.notifo.com"; notifo_url = "/v1/send_notification"; - user_agent = "ZNC To Notifo"; + user_agent = "ZNC Push"; // Current user user = GetUser(); @@ -97,7 +97,7 @@ class CNotifoMod : public CModule defaults["query_conditions"] = "all"; // Notification conditions -#ifdef NOTIFO_AWAY +#ifdef PUSH_AWAY defaults["away_only"] = "no"; #endif defaults["client_count_less_than"] = "0"; @@ -112,7 +112,7 @@ class CNotifoMod : public CModule defaults["message_length"] = "100"; defaults["message_uri"] = ""; } - virtual ~CNotifoMod() {} + virtual ~CPushMod() {} protected: @@ -167,7 +167,7 @@ class CNotifoMod : public CModule * @param title Message title to use * @param context Channel or nick context */ - void send_message(const CString& message, const CString& title="New Message", const CString& context="*notifo", const CNick& nick=CString("*notifo")) + void send_message(const CString& message, const CString& title="New Message", const CString& context="*push", const CNick& nick=CString("*push")) { // Set the last notification time last_notification_time[context] = time(NULL); @@ -351,7 +351,7 @@ class CNotifoMod : public CModule */ bool away_only() { -#ifdef NOTIFO_AWAY +#ifdef PUSH_AWAY CString value = options["away_only"].AsLower(); return value != "yes" || user->IsIRCAway(); #else @@ -397,11 +397,11 @@ class CNotifoMod : public CModule { CString value = i->AsLower(); char prefix = value[0]; - bool notify = true; + bool push = true; if (prefix == '-') { - notify = false; + push = false; value.LeftChomp(1); } else if (prefix == '_') @@ -413,7 +413,7 @@ class CNotifoMod : public CModule if (msg.WildCmp(value)) { - return notify; + return push; } } @@ -747,7 +747,7 @@ class CNotifoMod : public CModule } /** - * Handle direct commands to the *notifo virtual user. + * Handle direct commands to the *push virtual user. * * @param command Command string */ @@ -951,7 +951,7 @@ class CNotifoMod : public CModule } CString file_path = command.Token(1, true, " "); - + if (!CFile::Exists(file_path)) { PutModule("File does not exist: " + file_path); @@ -986,7 +986,7 @@ class CNotifoMod : public CModule table.AddColumn("Condition"); table.AddColumn("Status"); -#ifdef NOTIFO_AWAY +#ifdef PUSH_AWAY table.AddRow(); table.SetCell("Condition", "away"); table.SetCell("Status", user->IsIRCAway() ? "yes" : "no"); @@ -1049,7 +1049,7 @@ class CNotifoMod : public CModule // HELP command else if (action == "help") { - PutModule("View the detailed documentation at https://github.com/jreese/znc-notifo/blob/master/README.md"); + PutModule("View the detailed documentation at https://github.com/jreese/znc-push/blob/master/README.md"); } // EVAL command else if (action == "eval") @@ -1064,4 +1064,4 @@ class CNotifoMod : public CModule } }; -MODULEDEFS(CNotifoMod, "Send highlights and personal messages to a Notifo account") +MODULEDEFS(CPushMod, "Send highlights and personal messages to a push notification service")