feat(repo): make all cogs pylance-typechecking compliant
at `basic` level, does not include Aurora as it's being rewritten in the `aurora/v3` branch
This commit is contained in:
parent
ea0b7937f8
commit
2a5b924409
11 changed files with 184 additions and 139 deletions
|
@ -42,7 +42,7 @@ class SeaUtils(commands.Cog):
|
|||
|
||||
__author__ = ["[cswimr](https://www.coastalcommits.com/cswimr)"]
|
||||
__git__ = "https://www.coastalcommits.com/cswimr/SeaCogs"
|
||||
__version__ = "1.0.1"
|
||||
__version__ = "1.0.2"
|
||||
__documentation__ = "https://seacogs.coastalcommits.com/seautils/"
|
||||
|
||||
def __init__(self, bot: Red) -> None:
|
||||
|
@ -74,7 +74,7 @@ class SeaUtils(commands.Cog):
|
|||
src = obj.function
|
||||
return inspect.getsource(object=src)
|
||||
|
||||
@commands.command(aliases=["source", "src", "code", "showsource"])
|
||||
@commands.command(aliases=["source", "src", "code", "showsource"]) # type: ignore
|
||||
@commands.is_owner()
|
||||
async def showcode(self, ctx: commands.Context, *, object: str) -> None: # pylint: disable=redefined-builtin # noqa: A002
|
||||
"""Show the code for a particular object."""
|
||||
|
@ -102,7 +102,7 @@ class SeaUtils(commands.Cog):
|
|||
else:
|
||||
await ctx.send(content="Object not found!", reference=ctx.message.to_reference(fail_if_not_exists=False))
|
||||
|
||||
@commands.command(name="dig", aliases=["dnslookup", "nslookup"])
|
||||
@commands.command(name="dig", aliases=["dnslookup", "nslookup"]) # type: ignore
|
||||
@commands.is_owner()
|
||||
async def dig(self, ctx: commands.Context, name: str, record_type: str | None = None, server: str | None = None, port: int = 53) -> None:
|
||||
"""Retrieve DNS information for a domain.
|
||||
|
@ -110,7 +110,7 @@ class SeaUtils(commands.Cog):
|
|||
Uses `dig` to perform a DNS query. Will fall back to `nslookup` if `dig` is not installed on the system.
|
||||
`nslookup` does not provide as much information as `dig`, so only the `name` parameter will be used if `nslookup` is used.
|
||||
Will return the A, AAAA, and CNAME records for a domain by default. You can specify a different record type with the `type` parameter."""
|
||||
command_opts: list[str | int] = ["dig"]
|
||||
command_opts: list[str] = ["dig"]
|
||||
query_types: list[str] = [record_type] if record_type else ["A", "AAAA", "CNAME"]
|
||||
if server:
|
||||
command_opts.extend(["@", server])
|
||||
|
@ -176,7 +176,7 @@ class SeaUtils(commands.Cog):
|
|||
embed.add_field(name="Authority Section", value=f"{cf.box(text=authority_section, lang='prolog')}", inline=False)
|
||||
await ctx.send(embed=embed)
|
||||
else:
|
||||
await ctx.send(content=cf.box(text=stdout, lang="yaml"))
|
||||
await ctx.send(content=cf.box(text=str(stdout), lang="yaml"))
|
||||
except FileNotFoundError:
|
||||
try:
|
||||
ns_process = await asyncio.create_subprocess_exec("nslookup", name, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE)
|
||||
|
@ -208,7 +208,7 @@ class SeaUtils(commands.Cog):
|
|||
html = await response.text()
|
||||
soup = BeautifulSoup(html, "html.parser")
|
||||
pre_tags = soup.find_all("pre")
|
||||
content: list[Embed | str] = []
|
||||
content: list[str | Embed] = []
|
||||
for pre_tag in pre_tags:
|
||||
text = format_rfc_text(md(pre_tag), number)
|
||||
if len(text) > 4096:
|
||||
|
@ -227,6 +227,6 @@ class SeaUtils(commands.Cog):
|
|||
if await ctx.embed_requested():
|
||||
for embed in content:
|
||||
embed.set_footer(text=f"Page {content.index(embed) + 1}/{len(content)}")
|
||||
await SimpleMenu(pages=content, disable_after_timeout=True, timeout=300).start(ctx)
|
||||
await SimpleMenu(pages=content, disable_after_timeout=True, timeout=300).start(ctx) # type: ignore
|
||||
else:
|
||||
await ctx.maybe_send_embed(message=cf.error(f"An error occurred while fetching RFC {number}. Status code: {response.status}."))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue