예제 #1
0
def assemble_guild_info(bot, member):
    return {
        "guild_info": server_info.server_info_raw(bot, member.guild),
        "user_perms": {
            "user_dash_perms": get_guild_perms(member),
            "user_level": Permissioncheckers.user_lvl(member)
        }
    }
예제 #2
0
 def check(guild, value, preview, user, *_):
     user_lvl = Permissioncheckers.user_lvl(user)
     new_upper = min(upper, user_lvl)
     new_lower = lower
     if other_min is not None:
         new_lower = max(lower, preview[other_min])
     return check_number_range(new_lower, new_upper)(guild, value, preview,
                                                     user)
예제 #3
0
def get_guild_perms(member):
    if member is None:
        return 0

    mappings = {
        "ACCESS": DASH_PERMS.ACCESS,
        "INFRACTION": DASH_PERMS.VIEW_INFRACTIONS,
        "VIEW_CONFIG": DASH_PERMS.VIEW_CONFIG,
        "ALTER_CONFIG": DASH_PERMS.ALTER_CONFIG
    }

    permission = 0
    user_lvl = Permissioncheckers.user_lvl(member)
    for k, v in mappings.items():
        if user_lvl >= Configuration.get_var(member.guild.id, "DASH_SECURITY",
                                             k):
            permission |= v

    return permission