async def log_event(self, embed: Embed, guild: Guild, priority: bool = False, **kwargs) -> None: """Have to use this backwards-ass method because it throws http exceptions.""" guild_config = self.get_guild_config(guild) if priority: priority_modlog = int(guild_config.get("priority_modlog", 0)) dest = self.bot.get_channel(priority_modlog) else: default_modlog = int(guild_config.get("default_modlog", 0)) dest = self.bot.get_channel(default_modlog) if not dest: return try: for i, page in enumerate(embed.split()): if i: await sleep(0.1) await dest.send(embed=page, **kwargs) except HTTPException as error: await self.errorlog.send(error)
async def err(self, ctx: Context, lines: int = 5): """Get stdout logs""" err = self.get_tail("error", lines) em = Embed(title="Administration: Tail", color=0x00FF00) em.add_field(name="Error", value=f"```diff\n{err}\n```", inline=False) for embed in em.split(): await ctx.send(embed=embed) await sleep(0.1)
async def _eval(self, ctx: Context, *, code: str) -> None: """Run eval() on an input.""" code = code.strip('` ') try: result = eval(code, self._env(ctx)) if isawaitable(result): result = await result self.ret = result em = Embed(title='Eval on', description=MD.format(code), color=0x00FF00) em.add_field(name="Result:", value=MD.format(result), inline=False) except Exception as e: em = Embed(title='Eval on', desc=MD.format(code), color=0xFF0000) em.add_field(name=f"Exception: {e.__name__}", value=str(e), inline=False) for page in em.split(): await ctx.send(embed=page) await sleep(0.1)