# Path: mods/cog.py
# class Cog(metaclass=CogMeta):
# 	def __init__(self, bot:NotSoBot):
# 		self._bot = bot
# 
# 	@property
# 	def bot(self):
# 		return self._bot
# 
# 	@classmethod
# 	def setup(cls, bot:NotSoBot):
# 		bot.add_cog(cls(bot))


import discord
import asyncio
import re
import timestring
import time as ti
from timestring.timestring_re import TIMESTRING_RE
from datetime import datetime
from discord.ext import commands
from mods.cog import Cog
      if weeks:
        time += int(weeks) * 604800
      if days:
        time += int(days) * 86400
      if hours:
        time += int(hours) * 3600
      if minutes:
        time += int(minutes) * 60
      if seconds:
        time += int(seconds)
    text = re.sub(self.time_regex, '', txt)
    if text and text[0] == ' ':
      text = text[1:]
    return time, text

  @commands.group(pass_context=True, aliases=['reminder'], invoke_without_command=True)
  async def remind(self, ctx, *, text:str=None):
    if text is None:
      await self.bot.say(':warning: `Invalid Time Format`\n**Example:** `1h2m` (1 hour, 2 minutes)')
      return
    curr = ti.time()
    time_result = await self.get_time(text)
    if time_result:
      time = time_result[0]
      text = time_result[1]
    if time_result is False:
      time = 1
      try:
        epoch = int(timestring.Date(text).to_unixtime())
        assert curr >= epoch

# Path: mods/cog.py
# class Cog(metaclass=CogMeta):
# 	def __init__(self, bot:NotSoBot):
# 		self._bot = bot
# 
# 	@property
# 	def bot(self):
# 		return self._bot
# 
# 	@classmethod
# 	def setup(cls, bot:NotSoBot):
# 		bot.add_cog(cls(bot))


# Path: mods/Reminders.py
import discord
import asyncio
import re
import timestring
import time as ti
from timestring.timestring_re import TIMESTRING_RE
from datetime import datetime
from discord.ext import commands
from mods.cog import Cog

      if weeks:
        time += int(weeks) * 604800
      if days:
        time += int(days) * 86400
      if hours:
        time += int(hours) * 3600
      if minutes:
        time += int(minutes) * 60
      if seconds:
        time += int(seconds)
    text = re.sub(self.time_regex, '', txt)
    if text and text[0] == ' ':
      text = text[1:]
    return time, text

  @commands.group(pass_context=True, aliases=['reminder'], invoke_without_command=True)
  async def remind(self, ctx, *, text:str=None):
    if text is None:
      await self.bot.say(':warning: `Invalid Time Format`\n**Example:** `1h2m` (1 hour, 2 minutes)')
      return
    curr = ti.time()
    time_result = await self.get_time(text)
    if time_result:
      time = time_result[0]
      text = time_result[1]
    if time_result is False:
      time = 1
      try:
        epoch = int(timestring.Date(text).to_unixtime())
        assert curr >= epoch

        text = re.sub(TIMESTRING_RE, '', text)