from twisted.internet import reactor
from IRCResponse import IRCResponse, ResponseType
from ModuleInterface import ModuleInterface
from timeparse import timeparse


class Module(ModuleInterface):
    triggers = ["timer"]
    help = "timer <time> - starts a countdown timer and notifies you when time's up. Max 1yrs0mths0w0d0h0m0s"

    def onTrigger(self, Hubbot, message):
        flag = False
        if len(message.ParameterList) != 1:
            return IRCResponse(ResponseType.Say, "Please use only 1 argument.", message.ReplyTo)
        try:
            delay = int(message.ParameterList[0])
            flag = True
        except:
            delay = timeparse(message.ParameterList[0])
        if delay <= 0 or delay == None:
            return IRCResponse(ResponseType.Say, "I don't think I understand that...", message.ReplyTo)
        elif delay > (60 * 60 * 24 * 365):
            return IRCResponse(ResponseType.Say, "Do you really need a timer that long?", message.ReplyTo)
        elif delay < 1:
            return IRCResponse(ResponseType.Say, "Less than a second? Really?", message.ReplyTo)

        else:
            reactor.callLater(delay, Hubbot.notifyUser, flag, message)
            if flag:
                return IRCResponse(ResponseType.Say, "{}: A {} second timer has been started!".format(message.User.Name, message.ParameterList[0]), message.ReplyTo)
            else:
                return IRCResponse(ResponseType.Say, "{}: A {} timer has been started!".format(message.User.Name,message.ParameterList[0]), message.ReplyTo)
@@ -303,31 +303,51 @@
 up. 
-Max 1yrs0mths0w0d0h0m0s
+No decimals in months or years, max 1 year.
 %22%0A%0A 
@@ -446,17 +446,17 @@
 erList) 
-!
+=
 = 1:%0A   
@@ -468,106 +468,19 @@
     
-return IRCResponse(ResponseType.Say, %22Please use only 1 argument.%22, message.ReplyTo)%0A        try:%0A
+try:%0A      
     
@@ -477,34 +477,32 @@
                 
-  
 delay = int(mess
@@ -531,24 +531,28 @@
             
+    
 flag = True%0A
@@ -559,16 +559,20 @@
         
+    
 except:%0A
@@ -575,32 +575,36 @@
 pt:%0A            
+  
+  
 delay = timepars
@@ -623,32 +623,109 @@
 rameterList%5B0%5D)%0A
+        else:%0A            delay = timeparse(%22 %22.join(message.ParameterList))%0A
         if delay
@@ -1526,16 +1526,25 @@
 er.Name,
+%22 %22.join(
 message.
@@ -1548,35 +1548,33 @@
 ge.ParameterList
-%5B0%5D
+)
 ), message.Reply

Allow spaces and tweak help