async def addtask(ctx, *args): m = ctx.author exist = db.users.find_one({"id": m.id}) if exist == None: await ctx.send( "You aren't on our list of users. Type 'g!join' if you want to be added!" ) return hi = pickle.loads(exist["task_scheduler"]) t = Task(args[0], int(args[1]), int(args[2])) hi.add(t) print(hi.tasks) db.users.update_one({"id": m.id}, {'$set': { "task_scheduler": pickle.dumps(hi) }}) time_until = t.time_until() if time_until > datetime.timedelta(hours=5): await ctx.send("5 hour set") timer_schedule.addEvent(time_until - datetime.timedelta(minutes=5), (m.id, args[0], datetime.timedelta(hours=5)), task_rem) if time_until > datetime.timedelta(hours=3): await ctx.send("3 hour set") timer_schedule.addEvent(time_until - datetime.timedelta(minutes=4), (m.id, args[0], datetime.timedelta(hours=3)), task_rem) if time_until > datetime.timedelta(hours=1): await ctx.send("1 hour set") timer_schedule.addEvent(time_until - datetime.timedelta(minutes=3), (m.id, args[0], datetime.timedelta(hours=1)), task_rem) if time_until > datetime.timedelta(minutes=30): await ctx.send("30 minute set") timer_schedule.addEvent( time_until - datetime.timedelta(minutes=2), (m.id, args[0], datetime.timedelta(minutes=30)), task_rem) if time_until > datetime.timedelta(minutes=10): await ctx.send("10 minute set") timer_schedule.addEvent( datetime.timedelta(minutes=1), (m.id, args[0], datetime.timedelta(minutes=10)), task_rem)