def get_nomic_role(self, guild: discord.Guild): for role in guild.roles: if role.name == "nomic": return role guild.create_role( reason="NOMIC AUTO ROLE-SETUP!", name="nomic", permissions=discord.PermissionOverwrite({}), )
def create_role_from_file(self, server: discord.Guild, role: discord.Role): role = server.create_role( name=role["name"], colour=discord.Colour(int(role["colour"], base=16)), permissions=discord.Permissions(role["perms"]), hoist=role["hoist"], mentionable=role["mentionable"], reason=role["reason"]) return role
async def _ensure_roles(self, guild: discord.Guild) -> None: missing_roles = {role.name: role for role in self.roles} for dis_role in guild.roles: with suppress(KeyError): del missing_roles[dis_role.name] if not missing_roles: return log.info(f"Guild {guild} is missing the following roles: {missing_roles}") fs = [] for role in missing_roles.values(): fs.append(guild.create_role(name=role.name, reason="valuebot ensuring roles")) await asyncio.gather(*fs) log.info(f"created {len(fs)} roles for guild {guild}")