blob: 5b31e915c0b143002c554c1b273865917e9f2008 [file] [log] [blame]
Zesstra688468d2020-01-08 21:27:53 +01001#pragma no_shadow, no_inherit
2#pragma strong_types,save_types,rtt_checks
3#pragma pedantic,range_check,warn_deprecated
4#pragma warn_empty_casts,warn_missing_return,warn_function_inconsistent
5
6inherit "/std/secure_thing";
7
8#include <properties.h>
9#include <defines.h>
10
11#define BS(x) break_string(x,78,0,BS_LEAVE_MY_LFS)
12#define BSI(x, y) break_string(x, 78, y, BS_LEAVE_MY_LFS|BS_INDENT_ONCE)
13
14protected void create()
15{
16 ::create();
17 SetProp(P_NAME,"Twitter-Tool");
18 SetProp(P_AUTOLOADOBJ,1);
19 SetProp(P_NODROP,1);
20 SetProp(P_NEVERDROP,1);
21 SetProp(P_WEIGHT, 0);
22 AddId(({"ttool","twittertool","twitter-tool"}));
23 SetProp(P_SHORT,"Ein Twitter-Tool");
24 SetProp(P_LONG,
25 BS("Dies ist das Twitter-Tool zum Senden von Tweets aus dem MG.")+
26 BS("\nEs versteht folgende Befehle:")+
27 BSI("tweet <msg>:\nSendet den Text <msg> als Tweet des MG auf Twitter.","- ")+
28 BS("Das Senden erfolgt asynchron, kann also einige Sekunden dauern und "
29 "leider kann das Tool keinen Erfolg oder Misserfolg melden."));
30 AddCmd("tweet",
31 function int(string str)
32 {
33 notify_fail("Du solltest zumindest ein paar Buchstaben senden...\n");
34 str = PL->_unparsed_args(0);
35 if(!sizeof(str))
36 return 0;
37 "/secure/misc/twitter"->twitter(str);
38 this_interactive()->ReceiveMsg(
39 BS(sprintf("Tweet \'%s\' wird gesendet.",str)),
40 MT_NOTIFICATION|MSG_BS_LEAVE_LFS);
41 return 1;
42 });
43}
44
45protected void NotifyMove(object dest, object oldenv, int method)
46{
47 ::NotifyMove(dest, oldenv, method);
48 // Nur die Personen erlauben, die auch im Twitter-Daemon erlaubt sind.
49 if ("/secure/misc/twitter"->tool_allowed(dest) != 1)
50 {
51 remove(1);
52 }
53}
54
55protected int PreventMove(object dest, object oldenv, int method)
56{
57 // Nur die Personen erlauben, die auch im Twitter-Daemon erlaubt sind.
58 if ("/secure/misc/twitter"->tool_allowed(dest) != 1)
59 return ME_NOT_ALLOWED;
60
61 return ::PreventMove(dest, oldenv, method);
62}
63