async def _list_sound_queue(self, ctx): """list current items in queue""" queue = self.bot.audio.list_queue(ctx.guild.id) msg = "" _index = 0 if queue is not None: for t in queue: msg += f"\n# Position {_index} #\n- " msg += f"{t.title}" _index = _index + 1 for page in fmt.pagify(msg, delims=["\n#"], page_length=1990): if page: await self.bot.sendc(ctx, fmt.box(page, "md")) else: await self.bot.sendc(ctx, fmt.box("Queue is empty."))
async def history(self, ctx): """displays the last 10 received commands since last restart""" if ctx.guild.id in ctx.bot.last_cmd_cache: msg = "" for m in ctx.bot.last_cmd_cache[ctx.guild.id]: msg += f"{m.author} - {m.content}\n" await self.bot.sendc(ctx, fmt.box(msg, "md"))
async def list(self, ctx): """displays a list of all users on your server""" msg = "" for member in self.bot.guild.members: msg += f"{member.display_name} - created at {member.created_at} - joined at {member.joined_at}\n" for page in fmt.pagify(msg, delims=["\n#"], page_length=1990): await self.bot.sendc(ctx, fmt.box(page, "md"))
async def raw(self, ctx, name: clean_content): """raw tag data""" with self.bot.session_scope() as session: t = Tag.get(name, ctx.guild.id, session) msg = f"==== {t.Name} ====\n\n" for entry in t.entries.all(): msg += entry.TextContent await self.bot.sendc(ctx, fmt.box(msg))
async def list(self, ctx): """ list all current timed messages """ to_send = "" with self.bot.session_scope() as session: msgs = TimedMessage.get_all_from_guild(ctx.guild.id, session) for msg in msgs: to_send += f"{str(msg)}\n\n" for page in pagify(to_send, delims=["\n#"], page_length=1990): await self.bot.sendc(ctx, box(page, "md"))
async def list(self, ctx): """a list of all available tags""" self.bot.log.info("list") with self.bot.session_scope() as session: tags = Tag.get_all_from_guild(ctx.guild.id, session) msg = "" last_header = "^" for t in tags: if t.Name[0] is not last_header: last_header = t.Name[0] msg += f"\n# {last_header} #\n- " msg += f"[{t.Name}]" typ = TagType(t.Type).name.upper()[0] msg += f"({typ}|{t.entries.count()}) - " for page in fmt.pagify(msg, delims=["\n#"], page_length=1990): await self.bot.sendc(ctx, fmt.box(page, "md"))
async def info(self, ctx, name: clean_content): """information about the tag""" with self.bot.session_scope() as session: t = Tag.get(name, ctx.guild.id, session) await self.bot.sendc(ctx, fmt.box(str(t)))