Dokumentation
config.php
Enthält die Datenbank-Konfiguration. Hier müssen die eigenen Zugangsdaten eingetragen werden:
define('DB_HOST', 'localhost');
define('DB_NAME', 'database_name');
define('DB_USER', 'database_user');
define('DB_PW', 'user_password');
ClassDB
(static) get_instance()
- Argumente
- none
- Return
- Datenbankobjekt
- Beschreibung
- Die Datenbank folgt dem Singleton-Pattern. Um also eine Instanz der Datenbank-Klasse aufzurufen reicht es aus die get_instance()-Methode aufzurufen. Alles weitere erledigt die Klasse selbst.
- Beispiel
$Db = ClassDB:get_instance();
query($querystring)
- Argumente
- $querystring (String) - die MySQL-Query
- Return
- boolean
- Beschreibung
- Datenbank-Funktion zum Absenden von MySQL-Queries.
- Beispiel
$Db->query('SELECT * FROM twibbo_task');
get_row()
- Argumente
- none
- Return
- assoziatives Array
- Beschreibung
- Liefert eine Zeile des Ergebnisses einer MySQL-Query zurück.
- Beispiel
$Db->query('SELECT * FROM twibbo_task LIMIT 1'); $one_task_row = $Db->get_row();
get_rows()
- Argumente
- none
- Return
- assoziatives Array
- Beschreibung
- Liefert alle Zeilen des Ergebnisses einer MySQL-Query zurück.
- Beispiel
$Db->query('SELECT * FROM twibbo_task'); $all_task_rows = $Db->get_rows();
count_rows()
- Argumente
- none
- Return
- integer
- Beschreibung
- Liefert die Anzahl der Zeilen in der Ergebnismenge zurück.
- Beispiel
$Db->query('SELECT * FROM twibbo_task'); $amount_of_rows = $Db->count_rows();
get_tables()
- Argumente
- none
- Return
- Array
- Beschreibung
- Liefert ein Array mit den Namen der Tabellen in der Datenbank zurück.
- Beispiel
$tables_in_database = $Db->get_tables();
last_insert()
- Argumente
- none
- Return
- integer
- Beschreibung
- Beispiel
$Db->query('INSERT INTO twibbo_task (tweet_id, tweet_text, tweet_author) VALUES (123456789, \'140 characters long tweet\', \'name of the author\')'); $last_inserted_id = $Db->last_insert();
last_affect()
- Argumente
- none
- Return
- integer
- Beschreibung
- Liefert die zuletzt betroffene Zeile zurück.
- Beispiel
$Db->query('UPDATE twibbo_task SET tweet_author=\'another name\' WHERE tweet_id=123456789 LIMIT 1'); $last_affected_row = $Db->last_affect();
debug_mode($debug)
- Argumente
- optional $debug (boolean)
- Return
- none
- Beschreibung
- ktiviert/ Deaktiviert den Debug-Mode der Datenbank-Klasse.
- Beispiel
$Db->debug_mode(); $Db->query('SELECT * FROM twibbo_task'); $Db->debug_mode(FALSE);
ClassTwibboCollector
getFriends()
- Argumente
- none
- Return
- simpleXML
- Beschreibung
- Liest mittels cURL die Liste der User denen der Bot folgt aus.
- Beispiel
$TwibboCollector = new ClassTwibboCollector(); $friends = $TwibboCollector->getFriends();
getTweets($username)
- Argumente
- $username (string)
- Return
- simpleXML
- Beschreibung
- Liest die Tweets eines Users aus, Die Anzahl der ausgelesenen Tweets wird in der twitter.ini festgelegt.
- Beispiel
$tweets = $TwibboCollector->getTweets('a twitter username');
saveTweet($tweet_id, $text, $author)
- Argumente
- $tweet_id (bigint)
- $text (string)
- $author (string)
- Return
- boolean
- Beschreibung
- Schreibt gefundene Tweets zur späteren Bearbeitung in die Datenbank.
- Beispiel
$is_tweet_stored = $TwibboCollector->saveTweet(123456789, '140 characters long text', 'the twitter username');
logMode($log)
- Argumente
- optional $log (boolean)
- Return
- none
- Beschreibung
- Aktiviert/ Deaktiviert den Log-Mode.
- Beispiel
$TwibboCollector->logMode(); $friends = $TwibboCollector->getFriends(); $TwibboCollector->logMode(FALSE);
ClassTwibboWorker
getTaskList()
- Argumente
- none
- Return
- boolean
- Beschreibung
- Liest die Tweets (Aufgaben) aus der Datenbank-Tabelle und leert die Tabelle anschließend.
- Beispiel
$TwibboWorker = new ClassTwibboWorker(); $tasks = $TwibboWorker->getTaskList();
getCompletedTasks()
- Argumente
- none
- Return
- assoziatives Array
- Beschreibung
- Liest bereits erfolgreich bearbeitete Tweets aus der Datenbank.
- Beispiel
$completed_tasks = $TwibboWorker->getCompletedTasks();
findTask($task)
- Argumente
- $task (string)
- Return
- none
- Beschreibung
- Durchsucht den übergegebenen Tweet ($task) nach dem Base-Command aus der commands.ini. Wird das Base Command gefunden, wird die Nachricht geloggt, für die Ausgabe vorbereitet und getwittert.
- Beispiel
$tasks = $TwibboWorker->getTaskList(); $completed_tasks = $TwibboWorker->getCompletedTasks(); if (is_array($tasks)) { foreach ($tasks AS $task) { if (!in_array($task['tweet_id'], $completed_tasks)) $TwibboWorker->findTask($task); } }
(private) tweet($message)
- Argumente
- $message (string)
- Return
- boolean
- Beschreibung
- Veröffentlicht eine Nachricht auf Twitter.
- Beispiel
$message = $this->prepareMessage($task['tweet_text'], $task['tweet_author']); $this->tweet($message);
(private) logTweet($tweet_id)
- Argumente
- $tweet_id (bigint)
- Return
- boolean
- Beschreibung
- Markiert eine Nachricht als bearbeitet in der Datenbank.
- Beispiel
$this->logTweet($task['tweet_id']);
(private) prepareMessage($message, $author_name)
- Argumente
- $message (string)
- $author_name (string)
- Return
- string (tweet)
- Beschreibung
- Eigentliches Herzstück des Bots, sucht nach Kommandos und bearbeitet die Nachricht nach diesen.
- Beispiel
$message = $this->prepareMessage($task['tweet_text'], $task['tweet_author']);
(private) doWeatherCommand($message, $author_name)
- Argumente
- $message (string)
- $author_name (string)
- Return
- string (tweet)
- Beschreibung
- Beispiel-Funktion wie das verarbeiten eines Wetter-Requests aussehen kann.
- Beispiel
if (strpos($message, '#weather') !== FALSE) return $this->doWeatherCommand($message, $author_name);
logMode($log)
- Argumente
- $log (boolean)
- Return
- none
- Beschreibung
- Schreibt Daten in das Logfile, Schreibrechte und aktivierter Log-Mode vorausgesetzt.
- Beispiel
$TwibboWorker = new ClassTwibboWorker(); $TwibboWorker->logMode();

