async def update_guild(self, guild): if guild.me.server_permissions.manage_webhooks: server_webhooks = await self.bot.get_server_webhooks(guild) else: server_webhooks = [] async with threadpool(): with self.get_session() as session: gui = session.query(Guilds).filter( Guilds.guild_id == guild.id).first() if not gui: gui = Guilds( guild.id, guild.name, json.dumps(get_roles_list(guild.roles)), json.dumps(get_channels_list(guild.channels)), json.dumps(get_webhooks_list(server_webhooks)), json.dumps(get_emojis_list(guild.emojis)), guild.owner_id, guild.icon) session.add(gui) else: gui.name = guild.name gui.roles = json.dumps(get_roles_list(guild.roles)) gui.channels = json.dumps(get_channels_list( guild.channels)) gui.webhooks = json.dumps( get_webhooks_list(server_webhooks)) gui.emojis = json.dumps(get_emojis_list(guild.emojis)) gui.owner_id = guild.owner_id gui.icon = guild.icon session.commit()
def _update_guild(self, guild, server_webhooks): with self.get_session() as session: gui = session.query(Guilds).filter( Guilds.guild_id == guild.id).first() if not gui: gui = Guilds(int(guild.id), guild.name, json.dumps(get_roles_list(guild.roles)), json.dumps(get_channels_list(guild.channels)), json.dumps(get_webhooks_list(server_webhooks)), json.dumps(get_emojis_list(guild.emojis)), int(guild.owner_id), guild.icon) session.add(gui) else: gui.name = guild.name gui.roles = json.dumps(get_roles_list(guild.roles)) gui.channels = json.dumps(get_channels_list(guild.channels)) gui.webhooks = json.dumps(get_webhooks_list(server_webhooks)) gui.emojis = json.dumps(get_emojis_list(guild.emojis)) gui.owner_id = int(guild.owner_id) gui.icon = guild.icon session.commit()
def get_formatted_emojis(self, emojis): emotes = [] for emo in emojis: emotes.append({ "id": str(emo.id), "managed": emo.managed, "name": emo.name, "require_colons": emo.require_colons, "roles": get_roles_list(emo.roles), "url": emo.url, }) return emotes
async def update_guild(self, guild): if guild.me.guild_permissions.manage_webhooks: try: server_webhooks = await guild.webhooks() except: server_webhooks = [] else: server_webhooks = [] gui = await Guilds.get(guild.id) if not gui: await Guilds.create( guild_id=int(guild.id), name=guild.name, unauth_users=True, visitor_view=False, webhook_messages=False, guest_icon=None, chat_links=True, bracket_links=True, unauth_captcha=True, mentions_limit=-1, roles=json.dumps(get_roles_list(guild.roles)), channels=json.dumps(get_channels_list(guild.channels)), webhooks=json.dumps(get_webhooks_list(server_webhooks)), emojis=json.dumps(get_emojis_list(guild.emojis)), owner_id=int(guild.owner_id), icon=guild.icon) else: await gui.update( name=guild.name, roles=json.dumps(get_roles_list(guild.roles)), channels=json.dumps(get_channels_list(guild.channels)), webhooks=json.dumps(get_webhooks_list(server_webhooks)), emojis=json.dumps(get_emojis_list(guild.emojis)), owner_id=int(guild.owner_id), icon=guild.icon).apply()