Skip to content

Commit

Permalink
Bugfixes etc.
Browse files Browse the repository at this point in the history
  • Loading branch information
LuminatiHD committed Oct 31, 2021
1 parent fe899c6 commit 86ce222
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 23 deletions.
31 changes: 28 additions & 3 deletions Buttons.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,12 @@


class PageButtons(nextcord.ui.View): # buttons für d siitene
""""Diese Buttons sind für den outlook-command. Dabei hat es 5 select-buttons (mit welchen man ein bestimmtes
Element vom Outlook auswählen kann), sowie 4 Buttons fürs blättern. Dabei gibt es jeweils einen knopf für 1 Seite
weiter zurück, sowie je einen Knopf für ganz nach hinten/vorne."""

def __init__(self, results, currentpage):
super().__init__(timeout=120.0) # timeout macht eifach das d buttons nach 2 minute nümme chöi drückt wärde.
super().__init__(timeout=None) # timeout macht eifach das d buttons nach 2 minute nümme chöi drückt wärde.
self.currentpage = currentpage
self.results = results
self.left = False
Expand Down Expand Up @@ -69,6 +73,11 @@ async def bigright(self, button: nextcord.ui.Button, interaction: nextcord.Inter


class Selectionmode(nextcord.ui.View):
"""
Wenn man ein Item mit den obrigen knöpfen ausgewählt hat, kann man hier auswählen, was man mite dem Item tun will.
Es gibt einen Knopf, um das Element zu löschen, einen um es zu editieren und einen zum wieder zur outlook-sicht
zurückzugelangen."""

def __init__(self):
super().__init__(timeout=120.0)
self.edit = False
Expand All @@ -92,25 +101,32 @@ async def goback(self, button: nextcord.ui.Button, interaction: nextcord.Interac


class Confirm(nextcord.ui.View):
"""
Fragt nach einer Bestätigung für etw.
"""
def __init__(self):
super().__init__(timeout=120.0)
self.confirm = False

@nextcord.ui.button(label="Yes", style=nextcord.ButtonStyle.green)
@nextcord.ui.button(label="Ja", style=nextcord.ButtonStyle.green)
async def confirm(self, button: nextcord.ui.Button, interaction: nextcord.Interaction):
self.confirm = True
self.stop()

@nextcord.ui.button(label="No", style=nextcord.ButtonStyle.red)
@nextcord.ui.button(label="Nein", style=nextcord.ButtonStyle.red)
async def cancel(self, button: nextcord.ui.Button, interaction: nextcord.Interaction):
self.confirm = False
self.stop()


class EditButtons(nextcord.ui.View):
"""Das ist für das Editieren eines Items. Mit den unteren Knöpfen fragt man nach, was man genau editieren möchte."""

def __init__(self):
super().__init__(timeout=120.0)
self.edit = []
self.goback = False

@nextcord.ui.button(label="Kategorie", style=nextcord.ButtonStyle.primary)
async def kategorie(self, button: nextcord.ui.Button, interaction: nextcord.Interaction):
self.edit.append("kategorie")
Expand All @@ -131,7 +147,16 @@ async def fach(self, button: nextcord.ui.Button, interaction: nextcord.Interacti
self.edit.append("fach")
self.stop()

@nextcord.ui.button(label="Zurück", style=nextcord.ButtonStyle.gray)
async def fach(self, button: nextcord.ui.Button, interaction: nextcord.Interaction):
self.goback = True
self.stop()


class TestOrHA(nextcord.ui.View):
"""Diese Knöpfe sind da für wenn man ein neues Item erstellen will. Diese beiden Buttons fragen nach, ob man einen
Test oder eine Hausaufgabe eintragen will."""

def __init__(self):
super().__init__(timeout=120.0)
self.choice = "Hausaufgabe"
Expand Down
Binary file modified ItemFiles.db
Binary file not shown.
35 changes: 21 additions & 14 deletions cogs/newItem.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,45 +67,52 @@ async def new(self, ctx:Context):
await ctx.reply("Was möchtest du machen?\nA: Neue Aufgabe\nB: Neuer Test", view = button)
await button.wait()
category = button.choice

exitcommand = False
error = True
while error:
await ctx.message.reply("Wann ist der Test oder die Aufgabe fällig?")
try:
dateraw = await self.bot.wait_for("message", check = lambda msg: msg.author == ctx.author)
exitcommand = dateraw.content in ["break", "exit", "stop"]
if exitcommand:
error = False
break
date = str(datetime.date(int(dateraw.content.split(".")[2]),
int(dateraw.content.split(".")[1]),
int(dateraw.content.split(".")[0])))
# datetime.date nimmt daten nur in der Form YY/MM/DD an
error = False
except:
except (ValueError, IndexError): # IndexError wöu ja dr input no gsplittet und indexet wird.
await ctx.reply("ungültiges Datum")
continue
# fragt nachemne valid input bis ä valid input gäh wird.

await ctx.reply("Welches Fach? ")
fach = changefachname(await self.bot.wait_for("message", check = lambda msg: msg.author == ctx.author))

if not exitcommand:
await ctx.reply("Welches Fach? ")
fach = changefachname(await self.bot.wait_for("message", check = lambda msg: msg.author == ctx.author))
exitcommand = fach in ["Break", "Exit", "Stop"]

if category == "Hausaufgabe":
if category == "Hausaufgabe" and not exitcommand:
await ctx.reply("Aufgabe: ")
aufgabe = await self.bot.wait_for("message", check=lambda msg: msg.author == ctx.author)
aufgabe = aufgabe.content
else:
await ctx.reply("Schon Lernziele? ")

yesno = await self.bot.wait_for("message", check=lambda msg: msg.author == ctx.author)
if yesno.content.lower() == "ja":
exitcommand = aufgabe in ["break", "exit", "stop"]
elif not exitcommand:
yesno = Buttons.Confirm()
await ctx.reply("Schon Lernziele? ", view=yesno)
await yesno.wait()
if yesno.confirm:
await ctx.reply("Lernziele:")
aufgabe = await self.bot.wait_for("message", check=lambda msg: msg.author == ctx.author)
aufgabe = aufgabe.content
else:
await ctx.reply("Keine aufgabe")
aufgabe = None

await ctx.reply(f"{category}, {date}, {fach}, {aufgabe}")
database.cursor().execute(f"INSERT INTO {Itemtable} VALUES ('{date}', '{category}', '{fach}', '{aufgabe}')")
database.commit()
if not exitcommand:
database.cursor().execute(f"INSERT INTO {Itemtable} VALUES ('{date}', '{category}', '{fach}', '{aufgabe}')")
await ctx.channel.send(f"{category} wurde eingetragen")
database.commit()


def setup(client):
Expand Down
16 changes: 10 additions & 6 deletions cogs/searchItem.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,28 +34,32 @@ def layout(items, footer):
(year, month, day) = item[0].split("-")

if date(int(year), int(month), int(day)) <= date.today() + timedelta(7) and not week_1: # week_1 teschtet öb ds scho isch vergäh worde, wenn nid de machter das häre
output.add_field(name="__Bis nächste Woche:__", value=f"(Bis zum {date.today() + timedelta(7)})",inline=False)
output.add_field(name="__BIS NÄCHSTE WOCHE:__", value=f"(Bis zum {date.today() + timedelta(7)})",inline=False)
week_1 = True

if date.today() + timedelta(7) <= date(int(year), int(month), int(day)) <= date.today() + timedelta(14) and not week_2:
output.add_field(name="__Nächste 2 Wochen:__", value=f"(Bis zum {date.today() + timedelta(14)})")
output.add_field(name="__NÄCHSTE 2 WOCHEN:__", value=f"(Bis zum {date.today() + timedelta(14)})")
week_2 = True

if date.today() + timedelta(14) <= date(int(year), int(month), int(day)) <= date.today() + timedelta(30) and not month_1:
output.add_field(name="__Innerhalb von 30 Tagen:__", value=f"(Bis zum {date.today() + timedelta(30)})")
output.add_field(name="__INNERHALB VON 30 TAGEN:__", value=f"(Bis zum {date.today() + timedelta(30)})")
month_1 = True

if date.today() + timedelta(30) <= date(int(year), int(month), int(day)) <= date.today() + timedelta(60) and not month_2:
output.add_field(name="__Innerhalb von 60 Tagen:__", value=f"(Bis zum {date.today() + timedelta(60)})")
output.add_field(name="__INNERHALB VON 60 TAGEN:__", value=f"(Bis zum {date.today() + timedelta(60)})")
month_2 = True

if date.today() + timedelta(60) <= date(int(year), int(month), int(day)) and not future:
lastitem = items[-1][0].split("-")
output.add_field(name="__Später als 60 Tage:__", value=f"(Bis zum {date(int(lastitem[0]), int(lastitem[1]), int(lastitem[2]))})")
output.add_field(name="__SPÄTER ALS 60 TAGE:__", value=f"(Bis zum {date(int(lastitem[0]), int(lastitem[1]), int(lastitem[2]))})")
future = True

desc = item[3]
if len(desc)>20:
desc = item[3][:20]+"..." # wöu schüsch chasch du lernziele ha wo viu ds läng si.

output.add_field(name=f" {item[1].capitalize()} {item[2]}", value=f" {str(weekdays[date(int(year), int(month), int(day)).weekday()])}, {day}.{month}.{year}\n"
f" {item[3]}\n ", inline=False)
f" {desc}\n ", inline=False)
output.set_footer(text=footer)
return output

Expand Down

0 comments on commit 86ce222

Please sign in to comment.