from twisted.internet import reactor

class RemindPlugin(object):
    def remind(self, cardinal, user, channel, msg):
        message = msg.split(None, 2)
        if len(message) < 3:
            cardinal.sendMsg(channel, "Syntax: .remind <minutes> <message>")
            return
        
        try:
            reactor.callLater(60 * int(message[1]), cardinal.sendMsg, user.group(1), message[2])
            cardinal.sendMsg(channel, "%s: You will be reminded in %d minutes." % (user.group(1), int(message[1])))
        except ValueError:
            cardinal.sendMsg(channel, "You did not give a valid number of minutes to be reminded in.")
        except AssertionError:
            cardinal.sendMsg(channel, "You did not give a valid number of minutes to be reminded in.")

    remind.commands = ['remind']
    remind.help = ["Sets up a reminder, where the bot will message the user after a predetermined time.",
                   "Syntax: .remind <minutes> <message>"]

def setup():
    return RemindPlugin()

@@ -1,69 +1,217 @@
-from twisted.internet import reactor%0A%0Aclass RemindPlugin(object):
+import threading%0A%0Afrom cardinal.decorators import command, help%0A%0A%0Aclass RemindPlugin(object):%0A    @command('remind')%0A    @help(%22Sends a reminder after a set time.%22)%0A    @help(%22Syntax: .remind %3Cminutes%3E %3Cmessage%3E%22)
 %0A   
@@ -421,24 +421,16 @@
  return%0A
-        
 %0A       
@@ -435,190 +435,102 @@
    t
-ry:%0A            reactor.callLater(60 * int(message%5B1%5D), cardinal.sendMsg, user.group(1), message%5B2%5D)%0A            cardinal.sendMsg(channel, %22%25s: You will be reminded in %25d minutes.%22 %25
+imer = threading.Timer(60 * int(message%5B1%5D),%0A                                cardinal.sendMsg,
  (us
@@ -542,28 +542,24 @@
 oup(1), 
-int(
 message%5B
 1%5D)))%0A  
@@ -550,19 +550,18 @@
 message%5B
-1%5D)
+2%5D
 ))%0A     
@@ -567,31 +567,23 @@
     
-except ValueError:%0A    
+timer.start()%0A%0A
     
@@ -615,405 +615,137 @@
 nel,
- %22You did not give a valid number of minutes to be reminded in.%22)%0A        except AssertionError:%0A            cardinal.sendMsg(channel, %22You did not give a valid number of minutes to be reminded in.%22)%0A%0A    remind.commands = %5B'remind'%5D%0A    remind.help = %5B%22Sets up a reminder, where the bot will message the user after a predetermined time.%22,%0A                   %22Syntax: .remind %3Cminutes%3E %3Cmessage%3E%22%5D
+%0A                         %22%25s: You will be reminded in %25d minutes.%22 %25%0A                         (user.group(1), int(message%5B1%5D)))%0A
 %0A%0Ade

Remove Twisted dependency in remind plugin