Esempio n. 1
0
def set_language(message, lang):
    if not data.exists_lang(lang):
        messages.send_message(message, 'unknown-lang')
        return
    user = get_user(message)
    user.lang = lang
    user.store_settings()
    messages.send_custom_message(message,
                                 messages.get_string('lang-changed') + lang)
Esempio n. 2
0
def add_quote(quote_list, message):
    if not utils.check_permissions(message):
        messages.send_message(message, 'no-permissions')
    if not os.path.isfile(data.get_path(message, "quotes")):
        f = open(data.get_path(message, "quotes"),'w+')
    else:
        f = open(data.get_path(message, "quotes"),'a+')
    quote = ""
    for s in quote_list:
        quote += s + ' '
    f.write("[quote] " + quote.strip())
    messages.send_custom_message(message, messages.get_string('quotes-added') + quote)
Esempio n. 3
0
def dev_issue(message, split, label):
    """
    create a new issue
    :param message: MessageWrapper for formatting & data
    :param split: where to split the message content to get the issue content
    :param label: the label to apply, TODO: SUPPORT MORE THAN ONE
    :return: messages.send_message() result
    """
    content = message.content.split(split, 1)[1].strip()

    description = ''

    if content[0] == '\"':
        splits = content[1:].split('\"', 1)
    else:
        splits = content.split(' ', 1)

    name = splits[0]
    if len(splits) > 1:
        description = splits[1]

    description = '[Issue created by {user}]\n'.format(
        user=message.author.name) + description
    make_github_issue(name, description, [label, 'status: pending'])
    return messages.send_message(message, 'dev-issue-created')
Esempio n. 4
0
def cmd_quotes(message, args):
    if len(args) == 0:
        return random_quote(message)
    if args[0] == "add":
        if len(args) < 2:
            return "Error: Not enough arguments."
        return add_quote(args[1:], message)
    if args[0] == "all":
        quotes = get_quotes(message)
        msg = ""
        for idx, q in enumerate(quotes):
            msg += str(idx + 1) + ': ' + q + '\n\n'
        messages.send_custom_message(message, msg.strip())
    if utils.represents_int(args[0]):
        quotes = get_quotes(message)
        qid = int(args[0])
        if qid > len(quotes) or qid == 0:
            return messages.send_message(message, 'quotes-out-of-range')
        return messages.send_custom_message(message, quotes[qid - 1])

    if args[0] == 'help':
        return messages.send_message(message, 'quotes-help')
Esempio n. 5
0
def cmd_dice(message, args):
    """
    cmd switch for dice
    :param message: the message to read from
    :type message: messages.MessageWrapper
    :param args: command arguments
    :type args: list(str)
    :return:
    """
    if len(args) < 1:
        return roll_dice(message, 1, 6)
    if args[0] == 'help':
        return messages.send_message(message, 'dice-help')
    return roll_dice_str(message, args)
Esempio n. 6
0
def cmd_user(message, args):
    if len(args) == 0:
        return messages.MessageCode.UNKNOWN_ARGS
    if args[0] == 'help':
        return messages.send_message(message, 'user-help')
    if len(args) >= 2 and args[0] == 'setlang':
        if args[1].lower() in ['de', 'deutsch', 'german']:
            set_language(message, 'de')
            return
        elif args[1].lower() in ['en', 'english', 'englisch']:
            set_language(message, 'en')
            return
        else:
            set_language(message, args[1].lower())
            return
    return messages.MessageCode.UNKNOWN_ARGS
Esempio n. 7
0
def cmd_dev(message, args):
    """
    cmd switch for dev
    :param message: MessageWrapper for formatting & data
    :param args: list of arguments after the command
    :return: MessageCode result of dev actions
    """
    if len(args) == 0:
        return messages.MessageCode.UNKNOWN_ARGS
    if args[0] == 'help':
        return messages.send_message(message, 'dev-help')
    if len(args) < 2:
        return messages.MessageCode.UNKNOWN_ARGS
    if args[0] == 'request':
        return dev_issue(message, args[0], 'type: enhancement')
    if args[0] == 'bugreport':
        return dev_issue(message, args[0], 'type: bug')
    return messages.MessageCode.UNKNOWN_ARGS
Esempio n. 8
0
def set_settings(message, args):
    if not utils.check_permissions(message, admin=True):
        return messages.send_message(message, 'no-permissions')
    set_what = args[0][3:]
    if set_what == 'welcome' and len(message.channel_mentions) != 0:
        channel = message.channel_mentions[0]
        if not isinstance(channel, discord.TextChannel):
            return messages.MessageCode.UNKNOWN_ARGS
        message.server_data.set('welcome-channel', channel.id)
        message.server_data.store_settings()
        messages.send_custom_message(message,
                                     messages.get_string('channel-set').format(
                                         channel, 'welcome channel'),
                                     format_content=False)
        return messages.MessageCode.SENT
    elif set_what == 'welcomeroles' and len(args) > 1:
        roles = args[1:]
        roles_confirmed = list()
        for r in roles:
            for gr in message.guild.roles:
                if r.lower() == gr.name.lower():
                    roles_confirmed.append(gr)
        confirmed_ids = list()
        for r in roles_confirmed:
            confirmed_ids.append(r.id)
        message.server_data.set('welcome-roles', confirmed_ids)
        message.server_data.store_settings()
        if len(confirmed_ids) < 1:
            return messages.MessageCode.UNKNOWN_ARGS
    elif set_what == 'join' and len(message.channel_mentions) != 0:
        channel = message.channel_mentions[0]
        if not isinstance(channel, discord.TextChannel):
            return messages.MessageCode.UNKNOWN_ARGS
        message.server_data.set('join-channel', channel.id)
        message.server_data.store_settings()
        messages.send_custom_message(message,
                                     messages.get_string('channel-set').format(
                                         channel, 'join channel'),
                                     format_content=False)
        return messages.MessageCode.SENT
    else:
        return messages.MessageCode.UNKNOWN_ARGS
Esempio n. 9
0
def cmd_server(message, args):
    if len(args) == 0:
        return messages.MessageCode.UNKNOWN_ARGS
    elif args[0] == 'help':
        return messages.send_message(message, 'server-help')
    elif args[0].startswith('set'):
        return set_settings(message, args)
    elif args[0] == 'welcomeroles':
        roles = list()
        for r in message.server_data.get('welcome-roles'):
            role = message.guild.get_role(int(r))
            roles.append(role.name)
        return messages.send_custom_message(message, str(roles))
    elif args[0] == 'welcomechannel':
        return messages.send_custom_message(
            message,
            '<#' + str(message.server_data.get('welcome-channel')) + '>')
    elif args[0] == 'joinchannel':
        return messages.send_custom_message(
            message, '<#' + str(message.server_data.get('join-channel')) + '>')
Esempio n. 10
0
def random_quote(message):
    quotes = get_quotes(message)
    if len(quotes) == 0:
        return messages.send_message(message, 'quotes-none')
    messages.send_custom_message(message, quotes[random.randrange(0,
        len(quotes),1)])