fix(seautils): retrieve A, AAAA, and CNAME records by default (& docstring changes)
This commit is contained in:
parent
b27a3ee778
commit
fb468ee63e
1 changed files with 10 additions and 3 deletions
|
@ -88,12 +88,19 @@ class SeaUtils(commands.Cog):
|
||||||
|
|
||||||
@commands.command(name='dig', aliases=['dnslookup', 'nslookup'])
|
@commands.command(name='dig', aliases=['dnslookup', 'nslookup'])
|
||||||
@commands.is_owner()
|
@commands.is_owner()
|
||||||
async def dig(self, ctx: commands.Context, name: str, type: str | None = 'ANY', server: str | None = None, port: int = 53) -> None:
|
async def dig(self, ctx: commands.Context, name: str, type: str | None = None, server: str | None = None, port: int = 53) -> None:
|
||||||
"""Retrieve DNS information for a domain."""
|
"""Retrieve DNS information for a domain.
|
||||||
|
|
||||||
|
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 | int] = ['dig']
|
||||||
|
query_types = [type] if type else ['A', 'AAAA', 'CNAME']
|
||||||
if server:
|
if server:
|
||||||
command_opts.extend(['@', server])
|
command_opts.extend(['@', server])
|
||||||
command_opts.extend([name, type, '-p', str(port), '+yaml'])
|
for query_type in query_types:
|
||||||
|
command_opts.extend([name, query_type])
|
||||||
|
command_opts.extend(['-p', str(port), '+yaml'])
|
||||||
|
|
||||||
try:
|
try:
|
||||||
process: Process = await asyncio.create_subprocess_exec(*command_opts, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE)
|
process: Process = await asyncio.create_subprocess_exec(*command_opts, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE)
|
||||||
|
|
Loading…
Reference in a new issue