async def tryAddRegionName(self, event, databaseUser): name = event.message.message region = Region(databaseUser[2], None) possibleNames = [ n.lower() for n in self.dataStoreProvider.getPossibleNameForRegionType(region) ] if (name.lower() in possibleNames): await event.respond( "Alles klar, ab jetzt bekommst du jeden Morgen um 09:00 eine Nachricht über die aktuelle Lage!", buttons=getDefaultKeyboard()) self.userStore.setRegionNameOfUser(databaseUser[0], databaseUser[1], name) else: me = "Ich habe diesen Ort nicht gefunden!" bs = Button.clear() closeMatches = list( difflib.get_close_matches(name, possibleNames, n=5)) if (len(closeMatches) > 0): bs = getKeyboardFromList( map(lambda n: n.capitalize(), closeMatches)) me += "\n\nMeinst du vielleicht:\n" for m in closeMatches: me += " - %s\n" % (m.capitalize()) await event.respond(me, buttons=bs)
async def tryAddRegionType(self, event, databaseUser): regionType = event.message.message isRegionType = any( map(lambda b: b.button.text == event.message.message, flatten(getRegionTypeKeyboard()))) if (not isRegionType): await event.respond("Das war kein erlaubte Regionsart!", buttons=getRegionTypeKeyboard()) else: try: self.userStore.setRegionTypeOfUser(databaseUser[0], databaseUser[1], regionType) await event.respond( "Schreibe jetzt bitte den Namen der Region!", buttons=Button.clear()) except Exception as e: print("region type saving failed", e) await event.respond( "Beim Speichern ist etwas schief gelaufen, versuche es nochmal oder kontaktiere den Admin" )