Einfaches Twitter-Tool gebaut.
Ein ganz simples Tool zum Absetzen von Tweets und sonst
nix.
Benutzbar nur fuer die in twitter.c nutzungsberechtigten UIDs.
Change-Id: I1a9688fb147c63ea3f10dfedde808889de3e6432
diff --git a/secure/misc/twitter_tool.c b/secure/misc/twitter_tool.c
new file mode 100644
index 0000000..5b31e91
--- /dev/null
+++ b/secure/misc/twitter_tool.c
@@ -0,0 +1,63 @@
+#pragma no_shadow, no_inherit
+#pragma strong_types,save_types,rtt_checks
+#pragma pedantic,range_check,warn_deprecated
+#pragma warn_empty_casts,warn_missing_return,warn_function_inconsistent
+
+inherit "/std/secure_thing";
+
+#include <properties.h>
+#include <defines.h>
+
+#define BS(x) break_string(x,78,0,BS_LEAVE_MY_LFS)
+#define BSI(x, y) break_string(x, 78, y, BS_LEAVE_MY_LFS|BS_INDENT_ONCE)
+
+protected void create()
+{
+ ::create();
+ SetProp(P_NAME,"Twitter-Tool");
+ SetProp(P_AUTOLOADOBJ,1);
+ SetProp(P_NODROP,1);
+ SetProp(P_NEVERDROP,1);
+ SetProp(P_WEIGHT, 0);
+ AddId(({"ttool","twittertool","twitter-tool"}));
+ SetProp(P_SHORT,"Ein Twitter-Tool");
+ SetProp(P_LONG,
+ BS("Dies ist das Twitter-Tool zum Senden von Tweets aus dem MG.")+
+ BS("\nEs versteht folgende Befehle:")+
+ BSI("tweet <msg>:\nSendet den Text <msg> als Tweet des MG auf Twitter.","- ")+
+ BS("Das Senden erfolgt asynchron, kann also einige Sekunden dauern und "
+ "leider kann das Tool keinen Erfolg oder Misserfolg melden."));
+ AddCmd("tweet",
+ function int(string str)
+ {
+ notify_fail("Du solltest zumindest ein paar Buchstaben senden...\n");
+ str = PL->_unparsed_args(0);
+ if(!sizeof(str))
+ return 0;
+ "/secure/misc/twitter"->twitter(str);
+ this_interactive()->ReceiveMsg(
+ BS(sprintf("Tweet \'%s\' wird gesendet.",str)),
+ MT_NOTIFICATION|MSG_BS_LEAVE_LFS);
+ return 1;
+ });
+}
+
+protected void NotifyMove(object dest, object oldenv, int method)
+{
+ ::NotifyMove(dest, oldenv, method);
+ // Nur die Personen erlauben, die auch im Twitter-Daemon erlaubt sind.
+ if ("/secure/misc/twitter"->tool_allowed(dest) != 1)
+ {
+ remove(1);
+ }
+}
+
+protected int PreventMove(object dest, object oldenv, int method)
+{
+ // Nur die Personen erlauben, die auch im Twitter-Daemon erlaubt sind.
+ if ("/secure/misc/twitter"->tool_allowed(dest) != 1)
+ return ME_NOT_ALLOWED;
+
+ return ::PreventMove(dest, oldenv, method);
+}
+