コード例 #1
0
async def cmd_edit_timer(msg: Message, *args):
    if len(args) < 3:
        raise InvalidArgumentsError(reason='missing required arguments', cmd=cmd_edit_timer)

    name = args[0].lower()
    timer = get_message_timer(msg.channel_name, name)

    if not timer:
        raise InvalidArgumentsError(reason=f'no timer was found by "{name}"', cmd=cmd_edit_timer)

    mode = args[1].lower()
    if mode not in ('msg', 'interval'):
        raise InvalidArgumentsError(reason='invalid option, must be `msg` or `interval`', cmd=cmd_edit_timer)

    if mode == 'interval':
        try:
            interval = int(args[2])
        except ValueError:
            raise InvalidArgumentsError(reason='interval must be a valid integer, ex: 10', cmd=cmd_edit_timer)

        set_message_timer_interval(msg.channel_name, name, interval)
        restart_message_timer(msg.channel_name, name)

        return await msg.reply(f'updated timer interval for "{name}"')

    elif mode == 'msg':
        value = ' '.join(args[2:])

        set_message_timer_message(msg.channel_name, name, value)
        restart_message_timer(msg.channel_name, name)

        return await msg.reply(f'updated timer message for "{name}"')
コード例 #2
0
async def cmd_edit_timer(msg: Message, *args):
    if len(args) < 3:
        raise InvalidArgumentsException()

    name = args[0].lower()
    timer = get_message_timer(msg.channel_name, name)

    if not timer:
        return await msg.reply(f'no timer was found by "{name}"')

    mode = args[1].lower()

    if mode not in ('msg', 'interval'):
        raise InvalidArgumentsException()

    if mode == 'interval':
        try:
            interval = int(args[2])
        except ValueError:
            raise InvalidArgumentsException()

        set_message_timer_interval(msg.channel_name, name, interval)
        restart_message_timer(msg.channel_name, name)

        return await msg.reply(f'updated timer interval for "{name}"')

    elif mode == 'msg':
        value = ' '.join(args[2:])

        set_message_timer_message(msg.channel_name, name, value)
        restart_message_timer(msg.channel_name, name)

        return await msg.reply(f'updated timer message for "{name}"')
コード例 #3
0
async def cmd_del_timer(msg: Message, *args):
    if not args:
        raise InvalidArgumentsError(reason='missing required argument', cmd=cmd_del_timer)

    name = args[0].lower()
    timer = get_message_timer(msg.channel_name, name)

    if not timer:
        raise InvalidArgumentsError(reason=f'no timer was found by "{name}"', cmd=cmd_del_timer)

    if delete_message_timer(msg.channel_name, name):
        await msg.reply(f'successfully deleted timer "{name}"')
    else:
        await msg.reply(f'failed to delete timer "{name}"')
コード例 #4
0
async def cmd_del_timer(msg: Message, *args):
    if not args:
        raise InvalidArgumentsException()

    name = args[0]
    timer = get_message_timer(msg.channel_name, name)

    if not timer:
        await msg.reply(f'no timer was found by "{name}"')

    if delete_message_timer(msg.channel_name, name):
        await msg.reply(f'successfully deleted timer "{name}"')
    else:
        await msg.reply(f'failed to delete timer "{name}"')
コード例 #5
0
async def cmd_stop_timer(msg: Message, *args):
    if not args:
        raise InvalidArgumentsError(reason='missing required argument', cmd=cmd_stop_timer)

    name = args[0].lower()
    timer = get_message_timer(msg.channel_name, name)

    if not timer:
        raise InvalidArgumentsError(reason=f'no timer was found by "{name}"', cmd=cmd_stop_timer)

    if not timer.running:
        await msg.reply(f'that timer is not running')
        return

    if set_message_timer_active(msg.channel_name, name, False):
        await msg.reply(f'successfully stopped the timer "{name}"')
    else:
        await msg.reply(f'failed to stop the timer "{name}"')
コード例 #6
0
async def cmd_start_timer(msg: Message, *args):
    if not args:
        raise InvalidArgumentsException()

    name = args[0]
    timer = get_message_timer(msg.channel_name, name)

    if not timer:
        await msg.reply(f'no timer was found by "{name}"')
        return

    if not timer.running:
        await msg.reply(f'that timer is not running')
        return

    if set_message_timer_active(msg.channel_name, name, False):
        await msg.reply(f'successfully stopped the timer "{name}"')
    else:
        await msg.reply(f'failed to stop the timer "{name}"')