admin.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:MangoByte 作者: mdiller 项目源码 文件源码
def config_set_parse(self, ctx, var, value):
        if value in [ "default", "reset", "clear", "none", "null" ]:
            return var["default"]

        if var["type"] == bool:
            if value.lower() in [ "enable", "enabled", "true", "yes" ]:
                return True
            elif value.lower() in [ "disable", "disabled", "false", "no" ]:
                return False
            else:
                raise UserError("Invalid input. Give me something like `enable` or `disable`")
        elif var["type"] == discord.TextChannel:
            try:
                channel = await commands.TextChannelConverter().convert(ctx, value)
                return channel.id
            except commands.BadArgument:
                raise UserError("Invalid input. Give me a channel reference like `#general`")
        elif var["type"] == discord.Role:
            try:
                channel = await commands.RoleConverter().convert(ctx, value)
                return channel.id
            except commands.BadArgument:
                raise UserError("Invalid input. Give me a role reference like `@BotAdmin`")
        elif var["type"] == "GttsLang":
            lang = GttsLang.get(value)
            if lang is None:
                raise UserError("Invalid input. See https://github.com/mdiller/MangoByte/blob/master/resource/json/gtts_languages.json for valid langs")
            else:
                return lang.lang
        else:
            raise ValueError("I don't know how to parse this type")
        embed.add_field(name="Example", value=f"`?config {var['key']} {var['example']}`")
        return embed
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号