// receiving data sent from the user $data = $bot->read_post_message(); $message = $data->message; $date = $message->date; $chatid = $message->chat->id; $text = @$message->text; // instantiating a new triggers set $ts = new telegram_trigger_set($TELEGRAM_BOTNAME, $chatid, $singletrigger); // registering the triggers $ts->register_trigger_text_command("trigger_welcome", ["/start", "/welcome", "/hi"], 0, null); // initial state $ts->register_trigger_text_command("trigger_help", ["/help"], 0, "in_chat"); // /help command is accepted only when state is "in_chat" $ts->register_trigger_text_command("trigger_write", ["/write"], "in_chat"); // /write command is accepted only when state is "in_chat" $ts->register_trigger_any("trigger_input", "waiting_for_input"); // each input retrieved will trigger the trigger_input function when state is "waiting_for_input" // error trigger $ts->register_trigger_error("trigger_err", "*"); // this trigger is registered indipendently on the state // running triggers management $response = $ts->run($bot, $message); // returns an array of triggered events // log messages exchange on the database @db_log($TELEGRAM_BOTNAME, 'recv', $chatid, 'text', $text, $date); if (count($response) > 0) { foreach ($response as $r) { @db_log($TELEGRAM_BOTNAME, 'sent', $chatid, $r['type'], $r['content'], $date); } } else { @db_log($TELEGRAM_BOTNAME, 'error', $chatid, 'Error', $date);