Browse Source

Initial commit

master
Schneider 7 years ago
parent
commit
4da1a74ff2
  1. 47
      bot.py

47
bot.py

@ -4,15 +4,26 @@ Code for schneiderbot
"""
import os
import datetime
import urllib.request
import json
import logging
import discord
from discord.ext import commands
logging.basicConfig(level=logging.INFO)
DESCRIPTION = '''Schneiderbot, bald mit tollen Funktionen'''
BOT = commands.Bot(command_prefix='!', description=DESCRIPTION)
MENSA_URL = {
"zentral": "zentralmensa",
"nord": "nordmensa"
"nord": "nordmensa",
"turm": "turmmensa"
}
MENSA_NAME = {
"zentral": "Zentralmensa",
"nord": "Nordmensa",
"turm": "Turmmensa"
}
@BOT.event
@ -25,23 +36,43 @@ async def on_ready():
@BOT.command()
async def hello():
"""Says world"""
await BOT.say("world")
"""Was ist das hier für eins Bot?"""
await BOT.say("""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!""")
@BOT.command()
async def mensa(which="zentral"):
"""Gibt leckere, äh, nützliche Infos über die Mensa aus.
Standardmäßig für die Zentralmensa, aber probier auch mal nord aus."""
Standardmäßig für die Zentralmensa, aber probier auch mal nord oder turm aus."""
today = datetime.datetime.now().date().weekday() + 1
if datetime.datetime.now().time() > datetime.time(hour=16):
# Es ist zu spät am Tag, zeig das essen für morgen an
today += 1
await BOT.say("""Hallo, ich bin ein Bot.
Hier gibt es tolle Infos über das Essen in der Mensa:
https://mensa.schneider-hosting.de/%s/%d
Mhmm, lecker. Guten Appetit!""" % (MENSA_URL[which], today))
with urllib.request.urlopen("https://mensa.schneider-hosting.de/static/%s.%d.json" % (MENSA_URL[which], today)) as url:
data = json.loads(url.read().decode())
message = ""
for meal in data["meals"]:
meal_line = "**%s**\n" % meal["category"]
meal_line += meal["title"].strip() + "\n"
# Discord only allows up to 2000 chars per message
if len(message) + len(meal_line) > 2000:
await BOT.say(message)
message = meal_line
else:
message += meal_line
await BOT.say(message)
@BOT.command()
async def magie():
"""MAGIEEEEEE"""
await BOT.say("Magie ist Physik durch wollen!")
def main():
""" entry point """

Loading…
Cancel
Save