Exemple #1
0
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)