Represents an incoming message to your bot.
        private static void aw_unregisterfor(UpdateInfo update, string userAnswer = null)
        {
            var userName = update.Message.From.FirstName;
            var userId = update.Message.From.Id;
            if (userAnswer == null) {
                var answer = String.Format ("Okay {0}, bitte gebe nun die UUID des OPENweb ein, von dem du dich austragen möchtest", userName);
                SendMessage (userId, answer);
                AwaitedAnswers.Add (userId, BotCommands.UnRegisterFor);
            } else if (userAnswer == "/yes") {
                var answer = String.Format( "Okay {0}, ich trage dich aus der Liste aus.", userName);
                SendMessage (userId, answer);
                AwaitedAnswers.Remove (userId);
                var owpid = RemoveOpenWebIds [userId];
                RemoveOpenWebIds.Remove (userId);
                db_RemoveOpenWebId (userId, owpid);
            } else if (userAnswer == "/no") {
                var answer = String.Format( "Okay {0}, schön das du es dir noch einmal anders überlegt hast :)", userName);
                SendMessage (userId, answer);
                AwaitedAnswers.Remove (userId);
                RemoveOpenWebIds.Remove (userId);
            } else {
                var exist = db_ExistOpenWebId (userAnswer);
                if (exist) {
                    var owpname = db_GetOpenWebName (userAnswer);
                    var answer = "Okay, soll ich dich vom OPENweb " + owpname + " austragen?";
                    if (RemoveOpenWebIds.ContainsKey (userId)) {
                        RemoveOpenWebIds [userId] = userAnswer;
                    }else {
                        RemoveOpenWebIds.Add (userId, userAnswer);
                    }

                    SendMessage (userId, answer, null, null, BotKeyboards.Yes_No);
                } else {
                    var answer = String.Format( "Leider kenne ich die OPENweb UUID {0} nicht! Für abbruch /cancel eingeben, ansonsten nochmal die UUID eintragen!", userAnswer);
                    SendMessage (userId, answer);
                }
            }
        }
 private static void aw_start(UpdateInfo update)
 {
     var userName = update.Message.From.FirstName;
     var answer = String.Format ("Hallo {0}, ich freue mich das du dich für diesen Dienst interresierst. Als erstes musst du dir eine UUID generieren lassen. Diese UUID muss in jeder Meldung die Du mir schicken möchtest hinterlegt sein. Keine Angst, ist nicht so schwer wie es sich anhört. Um eine UUID zu erhalten, gib einfach den Befehl /registernew ein!", userName);
     SendMessage (update.Message.From.Id, answer);
 }
        private static void aw_registernew(UpdateInfo update, string userAnswer = null)
        {
            var userName = update.Message.From.FirstName;
            var userId = update.Message.From.Id;

            if (userAnswer == null) {
                var answer = String.Format ("Okay {0}, bitte gebe nun noch irgend eine Bezwichnung für deinen OPENweb ein.", userName);
                SendMessage (userId, answer);
                AwaitedAnswers.Add (userId, BotCommands.RegisterNew);
            } else {
                var answer = String.Format ("Okay {0}, ich werde Dir nun eine UUID generieren und zusenden. Am einfachsten du trägst diese UUID in deinen OPENweb als Vortext in deinem Dienst ein!", userName);
                SendMessage (userId, answer);
                System.Threading.Thread.Sleep (1000); // Damit wird sicher gestellt, das niemals zwei die selbe UUID erhalten
                var uuid = TickIdGet ();
                SendMessage (userId, uuid);
                answer = String.Format ( "Erhalte ich nun eine Textmeldung von {0}, so wird diese an dich weiter geleitet!", userAnswer);
                SendMessage (userId, answer);
                db_AddOpenWebId (update.Message.From, uuid, userAnswer);
                AwaitedAnswers.Remove (userId);
            }
        }
 private static void aw_registerfor(UpdateInfo update, string userAnswer = null)
 {
     var userName = update.Message.From.FirstName;
     var userId = update.Message.From.Id;
     if (userAnswer == null) {
         var answer = String.Format ("Okay {0}, bitte gebe nun die UUID des OPENweb ein, an dem du dich registrierem möchtest", userName);
         SendMessage (userId, answer);
         AwaitedAnswers.Add (userId, "/registerfor");
     } else {
         var exist = db_ExistOpenWebId (userAnswer);
         if (exist) {
             var answer = "Erhalte ich nun eine Textmeldung, so wird diese an deine (und nur deine) Telegram ID weiter geleitet!";
             db_AddOpenWebId (update.Message.From, userAnswer);
             SendMessage (userId, answer);
             AwaitedAnswers.Remove (userId);
         } else {
             var answer = String.Format( "Leider kenne ich die OPENweb UUID {0} nicht! Für abbruch /cancel eingeben, ansonsten nochmal die UUID eintragen!", userAnswer);
             SendMessage (userId, answer);
         }
     }
 }
 private static void aw_list(UpdateInfo update)
 {
     var userName = update.Message.From.FirstName;
     var answer = String.Format ("Okay {0}, dann mal sehen wo du eingetragen bist ...", userName);
     SendMessage (update.Message.From.Id, answer);
     var owps = db_ListOpenWebs (update.Message.From);
     if (owps != null) {
         answer =  "";
         foreach (var owp in owps) {
             answer += owp.UUID + " -> " + owp.Name + "\n";
         }
         SendMessage (update.Message.From.Id, answer);
     } else {
         SendMessage (update.Message.From.Id, "Du hast noch keine OPENweb's registriert?!?");
     }
 }
 public TelegramUpdateEventArgs(UpdateInfo[] updates)
 {
     Updates = updates;
 }