mirror of https://github.com/stijndcl/didier
				
				
				
			Tidy up events a bit
							parent
							
								
									c570cd2db2
								
							
						
					
					
						commit
						264e7b5300
					
				| 
						 | 
				
			
			@ -63,10 +63,11 @@ class Discord(commands.Cog):
 | 
			
		|||
                return await self.client.log_error(f"Unable to find event with id {event_id}", log_to_discord=True)
 | 
			
		||||
 | 
			
		||||
            channel = self.client.get_channel(event.notification_channel)
 | 
			
		||||
            human_readable_time = event.timestamp.strftime("%A, %B %d %Y - %H:%M")
 | 
			
		||||
 | 
			
		||||
            embed = discord.Embed(title="Upcoming Events", colour=discord.Colour.blue())
 | 
			
		||||
            embed.add_field(name="Event", value=event.name, inline=False)
 | 
			
		||||
            embed.description = event.description
 | 
			
		||||
            embed = discord.Embed(title="Upcoming Event", colour=discord.Colour.blue())
 | 
			
		||||
            embed.description = f"{human_readable_time} (<t:{round(event.timestamp.timestamp())}:R>)"
 | 
			
		||||
            embed.add_field(name=event.name, value=event.description, inline=False)
 | 
			
		||||
 | 
			
		||||
            await channel.send(embed=embed)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,9 +1,10 @@
 | 
			
		|||
import asyncio
 | 
			
		||||
from datetime import datetime
 | 
			
		||||
from datetime import datetime, timedelta
 | 
			
		||||
from typing import Optional
 | 
			
		||||
 | 
			
		||||
import discord.utils
 | 
			
		||||
 | 
			
		||||
import settings
 | 
			
		||||
from database.crud.events import get_next_event
 | 
			
		||||
from database.schemas import Event
 | 
			
		||||
from didier import Didier
 | 
			
		||||
| 
						 | 
				
			
			@ -12,6 +13,9 @@ from didier.utils.types.datetime import tz_aware_now
 | 
			
		|||
__all__ = ["Timer"]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
REMINDER_PREDELAY = timedelta(minutes=settings.REMINDER_PRE)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Timer:
 | 
			
		||||
    """Class for scheduled timers"""
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -58,7 +62,7 @@ class Timer:
 | 
			
		|||
 | 
			
		||||
    async def end_timer(self, *, endtime: datetime, event_id: int):
 | 
			
		||||
        """Wait until a timer runs out, and then trigger an event to send the message"""
 | 
			
		||||
        await discord.utils.sleep_until(endtime)
 | 
			
		||||
        await discord.utils.sleep_until(endtime - REMINDER_PREDELAY)
 | 
			
		||||
        self.upcoming_timer = None
 | 
			
		||||
        self.upcoming_event_id = None
 | 
			
		||||
        self.client.dispatch("timer_end", event_id)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,6 +16,7 @@ __all__ = [
 | 
			
		|||
    "YEAR",
 | 
			
		||||
    "MENU_TIMEOUT",
 | 
			
		||||
    "EASTER_EGG_CHANCE",
 | 
			
		||||
    "REMINDER_PRE",
 | 
			
		||||
    "POSTGRES_DB",
 | 
			
		||||
    "POSTGRES_USER",
 | 
			
		||||
    "POSTGRES_PASS",
 | 
			
		||||
| 
						 | 
				
			
			@ -47,6 +48,7 @@ SEMESTER: int = env.int("SEMESTER", 2)
 | 
			
		|||
YEAR: int = env.int("YEAR", 3)
 | 
			
		||||
MENU_TIMEOUT: int = env.int("MENU_TIMEOUT", 30)
 | 
			
		||||
EASTER_EGG_CHANCE: int = env.int("EASTER_EGG_CHANCE", 15)
 | 
			
		||||
REMINDER_PRE: int = env.int("REMINDER_PRE", 15)
 | 
			
		||||
 | 
			
		||||
"""Database"""
 | 
			
		||||
# PostgreSQL
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue