Twittertool und Interactive entfernt

Wir haben uns aus Twitter dauerhaft verabschiedet.
Daher wird das Tool und auch das Kommunikationsobjekt entfernt.

Change-Id: Ieba00049d393e4b9be5b0d0dba6e9d26126ec8d6
diff --git a/secure/misc/twitter.c b/secure/misc/twitter.c
deleted file mode 100644
index af1145c..0000000
--- a/secure/misc/twitter.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/* rumatas twitter client, sendet text
- * an einen twitterproxyprozess, der sie dann an twitter
- * weiterschickt.
- *
- * version 2
- * mit persistenter verbindung zum proxy und input-channel
- *
- * 25.5.2016 rumata@mg.mud.de
- */
-#pragma no_clone
-
-#include <wizlevels.h>
-#include <daemon/channel.h>
-
-#define HOST "127.0.0.1"
-#define PORT 4911
-
-#define DEBUG(x) tell_object(find_player("rumata"),x+"\n")
-
-nosave variables inherit "/std/channel_supervisor";
-
-protected void create() {
-  ::create();
-	ch_read_init_file();
-  seteuid(getuid());
-  CHMASTER->join("twitter",this_object());
-}
-
-object caller;
-string msgbuf;
-
-// Explizit erlaubte Personen/UIDs mit ihren Kuerzeln
-mapping registered = ([
-	"rumata": "ru",
-	"arathorn": "ara",
-	"ark": "ark",
-	"zesstra": "ze",
-	"zook": "zo",
-	"humni": "hu",
-	"miril": "mi",
-	"gloinson": "gl",
-  "amaryllis": "ama",
-  "zaphob": "zap",
-]);
-
-// Erlaubt sind EM+ und ausgewaehlte weitere Personen
-// geprueft wird anhand der UID des Interactives und weiterhin, dass alle
-// Objekte in der Aufrufkette mindestens ein gleich grosses Level haben wie
-// der Interactive.
-int allowed() {
-	return ARCH_SECURITY
-         || ( this_interactive()
-              && member(registered, getuid(this_interactive()))
-              && secure_level() >= (query_wiz_level(geteuid(this_interactive())))
-             ) ;
-}
-// Wer darf das Tool bekommen/nutzen?
-// Alle oben eingetragenen UIDs.
-public int tool_allowed(object pl)
-{
-  return IS_ARCH(pl) || member(registered, getuid(pl));
-}
-
-string sig( object pl ) {
-	string uid = getuid(pl);
-	if( !uid ) return "??";
-	string abbr = registered[uid];
-	if( !abbr ) return uid;
-	return abbr;
-}
-
-void emit( string msg ) {
-	CHMASTER->send("twitter",this_object(),msg,MSG_SAY);
-	/*
-	foreach( string uid: m_indices(registered) ) {
-		object pl = find_player(uid);
-		if( pl ) tell_object(pl,msg);
-	}*/
-}
-
-/* Offizielle API funktion
- * xeval "/secure/misc/twitter"->twitter("@_zesstra_ welcome back")
- */
-int twitter(string msg) {
-	int err = 0;
-	if( !allowed() ) {
-		write( "Twitter ist ARCH+Berechtigte only.\n" );
-		return 0;
-	}
-	msg = msg + "^" + sig(this_interactive()) + "\n";
-	if (sizeof(msg) > 279) {
-    write("Tweet ist zu lang.\n");
-    return 0;
-  }
-
-  if(interactive(this_object())) {
-		tell_object(this_object(),msg);
-	} else {
-		msgbuf = msg;
-		caller = this_interactive();
-		if( (err=net_connect(HOST,PORT))!=0 ) {
-			write( "Konnte Tweet nicht senden. err="+err+"\n" );
-      return 0;
-		}
-	}
-  return 1;
-}
-
-// sonderfunktion fuer den fall, dass man die verbindung
-// aufbauen will, ohne dass etwas auf twitter erscheint
-void connect() {
-	int err = 0;
-	if( interactive(this_object()) ) return;
-	msgbuf = "";
-	caller = this_interactive();
-	if( (err=net_connect(HOST,PORT))!=0 ) {
-		write( "Konnte Tweet nicht connected. err="+err+"\n" );
-	}
-}
-
-varargs void logon(int flag) {
-	if( flag<0 ) {
-		tell_object(caller,"Twitterproxy antwortet nicht?\n");
-  } else {
-		enable_commands();
-		add_action("input","",1);
-		write(msgbuf);
-		if( msgbuf!="" ) emit( msgbuf );
-		//"/secure/master"->disconnect(this_object());
-	}
-}
-
-void NetDead() {
-	disable_commands();
-}
-
-string query_real_name() {
-	return "(Twitter)";
-}
-
-varargs string name( int casus, int demon ) {
-	return "twitter";
-}
-
-varargs string Name( int casus, int demon ) {
-	return "Twitter";
-}
-
-// daten werden via tell_object an dieses objekt gesendet
-// und dann nach aussen weitergeben
-void catch_tell( string msg ) {
-	if( allowed() && interactive(this_object()) ) {
-		write( msg );
-	}
-}
-
-// hier landen daten von aussen
-int input( string s ) {
-	string msg = query_verb();
-	if( s ) msg = msg + " " + s;
-	emit( msg ); //"Twitter teilt dir mit: "+msg+"\n" );
-	return 1;
-}
-
diff --git a/secure/misc/twitter_tool.c b/secure/misc/twitter_tool.c
deleted file mode 100644
index 22b0b36..0000000
--- a/secure/misc/twitter_tool.c
+++ /dev/null
@@ -1,66 +0,0 @@
-#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;
-
-      // Der Twitter-Relay gibt Fehlermeldungen selbst aus, d.h. nur bei
-      // Erfolg muessen wir selber etwas ausgeben.
-      if ("/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);
-}
-