|
|
@ -12,68 +12,68 @@ import cat |
|
|
|
import pydog |
|
|
|
|
|
|
|
DIETS = { |
|
|
|
"veggy" : "fleischlos", |
|
|
|
"fleisch" : "mit Fleisch", |
|
|
|
"fisch" : "mit Fisch/ Meeresfrüchten" |
|
|
|
} |
|
|
|
"veggy" : "fleischlos", |
|
|
|
"fleisch" : "mit Fleisch", |
|
|
|
"fisch" : "mit Fisch/ Meeresfrüchten" |
|
|
|
} |
|
|
|
|
|
|
|
WEEKDAYS = { |
|
|
|
"montag" : 1, |
|
|
|
"dienstag" : 2, |
|
|
|
"mittwoch" : 3, |
|
|
|
"donnerstag" : 4, |
|
|
|
"freitag" : 5, |
|
|
|
"samstag" : 6 |
|
|
|
} |
|
|
|
"montag" : 1, |
|
|
|
"dienstag" : 2, |
|
|
|
"mittwoch" : 3, |
|
|
|
"donnerstag" : 4, |
|
|
|
"freitag" : 5, |
|
|
|
"samstag" : 6 |
|
|
|
} |
|
|
|
|
|
|
|
MENSA_URL = { |
|
|
|
"zentral": "zentralmensa", |
|
|
|
"nord": "nordmensa", |
|
|
|
"turm": "turmmensa" |
|
|
|
} |
|
|
|
"zentral": "zentralmensa", |
|
|
|
"nord": "nordmensa", |
|
|
|
"turm": "turmmensa" |
|
|
|
} |
|
|
|
|
|
|
|
MENSA_NAME = { |
|
|
|
"zentral": "Zentralmensa", |
|
|
|
"nord": "Nordmensa", |
|
|
|
"turm": "Turmmensa" |
|
|
|
} |
|
|
|
"zentral": "Zentralmensa", |
|
|
|
"nord": "Nordmensa", |
|
|
|
"turm": "Turmmensa" |
|
|
|
} |
|
|
|
|
|
|
|
HIDE_CATEGORIES_LIGHT = { |
|
|
|
"CampusCurry", |
|
|
|
"natürlich fit", |
|
|
|
"Fitnesscenter", |
|
|
|
"Salatbuffet", |
|
|
|
"Studentenfutter", |
|
|
|
"Süße Versuchung", |
|
|
|
"Süße Spezial Tagesangebot", |
|
|
|
"Vollwert & Co. Stärke", |
|
|
|
"Vollwert & Co. Gemüse", |
|
|
|
"Bio-Beilagen", |
|
|
|
"Dessertbuffet", |
|
|
|
"Last Minute ab 14:30 Uhr", |
|
|
|
## Nordmensa: |
|
|
|
"Salatbuffet/Pastapoint", |
|
|
|
"Last Minute ab 13:30 Uhr", |
|
|
|
## Turmmensa: |
|
|
|
"Beilagen", |
|
|
|
"Last Minute ab 14:00Uhr" |
|
|
|
} |
|
|
|
"CampusCurry", |
|
|
|
"natürlich fit", |
|
|
|
"Fitnesscenter", |
|
|
|
"Salatbuffet", |
|
|
|
"Studentenfutter", |
|
|
|
"Süße Versuchung", |
|
|
|
"Süße Spezial Tagesangebot", |
|
|
|
"Vollwert & Co. Stärke", |
|
|
|
"Vollwert & Co. Gemüse", |
|
|
|
"Bio-Beilagen", |
|
|
|
"Dessertbuffet", |
|
|
|
"Last Minute ab 14:30 Uhr", |
|
|
|
## Nordmensa: |
|
|
|
"Salatbuffet/Pastapoint", |
|
|
|
"Last Minute ab 13:30 Uhr", |
|
|
|
## Turmmensa: |
|
|
|
"Beilagen", |
|
|
|
"Last Minute ab 14:00Uhr" |
|
|
|
} |
|
|
|
|
|
|
|
HIDE_CATEGORIES_FULL = { |
|
|
|
"Last Minute ab 14:30 Uhr", |
|
|
|
"Last Minute ab 13:30 Uhr", |
|
|
|
"Last Minute ab 14:00Uhr" |
|
|
|
} |
|
|
|
"Last Minute ab 14:30 Uhr", |
|
|
|
"Last Minute ab 13:30 Uhr", |
|
|
|
"Last Minute ab 14:00Uhr" |
|
|
|
} |
|
|
|
|
|
|
|
MODES = { |
|
|
|
"light" : HIDE_CATEGORIES_LIGHT, |
|
|
|
"full" : HIDE_CATEGORIES_FULL |
|
|
|
} |
|
|
|
"light" : HIDE_CATEGORIES_LIGHT, |
|
|
|
"full" : HIDE_CATEGORIES_FULL |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
# Enable logging |
|
|
|
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', |
|
|
|
level=logging.INFO) |
|
|
|
level=logging.INFO) |
|
|
|
|
|
|
|
logger = logging.getLogger(__name__) |
|
|
|
|
|
|
@ -88,24 +88,24 @@ with open("manta.txt", "r") as tmp_file: |
|
|
|
def start(bot, update): |
|
|
|
"""Was ist das hier für eins Bot?""" |
|
|
|
update.message.reply_text("""Hallo, ich bin ein Bot. |
|
|
|
Ich liefere tolle Informationen über die Mensa. Die Infos kommen von |
|
|
|
https://mensa.schneider-hosting.de |
|
|
|
Mhmm, lecker. Guten Appetit!""") |
|
|
|
Ich liefere tolle Informationen über die Mensa. Die Infos kommen von |
|
|
|
https://mensa.schneider-hosting.de |
|
|
|
Mhmm, lecker. Guten Appetit!""") |
|
|
|
|
|
|
|
def help(bot, update): |
|
|
|
"""Send a message when the command /help is issued.""" |
|
|
|
update.message.reply_text("""Commands: |
|
|
|
*Mensa*: |
|
|
|
/mensa _mensa_ - prints filtered list of meals for _mensa_ (if no _mensa_ given, zentralmensa is used) |
|
|
|
/mensa _mensa_ full - prints full list of meals for _mensa_ (if no _mensa_ given, zentralmensa is used) |
|
|
|
|
|
|
|
*Fun*: |
|
|
|
/cat - random cat (using thecatapi.com) |
|
|
|
/dog - random dog (https://dog.ceo/dog-api) |
|
|
|
/magie - random Axel Stoll qoute |
|
|
|
/manta - random Opel Manta joke |
|
|
|
|
|
|
|
/help - this help text""", parse_mode=ParseMode.MARKDOWN) |
|
|
|
*Mensa*: |
|
|
|
/mensa _mensa_ - prints filtered list of meals for _mensa_ (if no _mensa_ given, zentralmensa is used) |
|
|
|
/mensa _mensa_ full - prints full list of meals for _mensa_ (if no _mensa_ given, zentralmensa is used) |
|
|
|
|
|
|
|
*Fun*: |
|
|
|
/cat - random cat (using thecatapi.com) |
|
|
|
/dog - random dog (https://dog.ceo/dog-api) |
|
|
|
/magie - random Axel Stoll qoute |
|
|
|
/manta - random Opel Manta joke |
|
|
|
|
|
|
|
/help - this help text""", parse_mode=ParseMode.MARKDOWN) |
|
|
|
|
|
|
|
def sendCat(bot, update): |
|
|
|
"""CUTE""" |
|
|
@ -152,10 +152,9 @@ def mensa(bot, update, args): |
|
|
|
today += 1 |
|
|
|
|
|
|
|
today = today % 7 |
|
|
|
|
|
|
|
for arg in args: |
|
|
|
if arg in MENSA_NAME: |
|
|
|
which = args[0] |
|
|
|
which = arg |
|
|
|
elif arg in MODES: |
|
|
|
filter_categories = MODES[arg] |
|
|
|
elif arg in WEEKDAYS: |
|
|
@ -165,14 +164,16 @@ def mensa(bot, update, args): |
|
|
|
else: |
|
|
|
update.message.reply_text("Falscher Aufruf! RTFM und versuchs nochmal.") |
|
|
|
return |
|
|
|
|
|
|
|
if today == 0: |
|
|
|
update.message.reply_text("Sonntags hat die Mensa zu") |
|
|
|
return |
|
|
|
url = "https://mensa.schneider-hosting.de/static/%s.%d.json" % (MENSA_URL[which], today) |
|
|
|
request = requests.get(url) |
|
|
|
request.encoding = 'utf-8' |
|
|
|
data = request.json() |
|
|
|
|
|
|
|
message = "Das Essen für %s in der %s \n\n" % (data["date"], MENSA_NAME[which]) |
|
|
|
|
|
|
|
|
|
|
|
if len(data["meals"]) > 1: |
|
|
|
for meal in data["meals"]: |
|
|
|
if meal["category"] not in filter_categories and diet in meal["diet"]: |
|
|
|