| #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); |
| } |
| |