import datetime import re import discord REMINDERS_FILE_PATH = '/mnt/reminders.txt' def parse_time(time_str): # Parse the time string and return a timedelta try: time_components = re.findall(r'(\d+)\s*([dDhHrRmMsS]?)', time_str) total_seconds = 0 for value, unit in time_components: value = int(value) if unit.lower() in ('d', 'day', 'days'): total_seconds += value * 86400 # seconds in a day elif unit.lower() in ('h', 'hr', 'hour', 'hours'): total_seconds += value * 3600 # seconds in an hour elif unit.lower() in ('m', 'min', 'minute', 'minutes'): total_seconds += value * 60 # seconds in a minute elif unit.lower() in ('s', 'sec', 'second', 'seconds'): total_seconds += value return datetime.timedelta(seconds=total_seconds) except ValueError: return None def read_reminders(): try: with open(REMINDERS_FILE_PATH, 'r') as file: reminders = [line.strip().split(',') for line in file.readlines()] # Remove empty lines reminders = [r for r in reminders if len(r) == 3] if len(reminders) == 0: return [] return [{ 'user_id': r[0], 'time': r[1], 'text': r[2] } for r in reminders] except FileNotFoundError: return [] def write_reminders(reminders): with open(REMINDERS_FILE_PATH, 'w') as file: for reminder in reminders: file.write(f"{reminder['user_id']},{reminder['time']},{reminder['text']}\n") def store_reminder(user_id, reminder_time, reminder_text): reminders = read_reminders() reminders.append({ 'user_id': str(user_id), 'time': reminder_time.strftime("%Y-%m-%d %H:%M:%S"), 'text': reminder_text }) write_reminders(reminders) def embed(title, description): embed = discord.Embed( title=title, description=description, color=discord.Color.dark_purple() ) # Set a footer for the embed embed.set_footer(text='Powered by Nathan.Woodburn/') return embed def timestamp_relative(date_time): return "" if __name__ == '__main__': print(parse_time('1d')) print(timestamp_relative(datetime.datetime.now()+parse_time('1d'))) print(parse_time('1s')) print(timestamp_relative(datetime.datetime.now()+parse_time('1s')))