2025-05-29 22:58:53 +02:00

37 lines
1.4 KiB
Python
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import dns.resolver
class DnsPlugin:
"""Plugin para consultar registros DNS de un dominio."""
def run(self, sender, *args):
"""Consulta registros DNS de un dominio."""
if not args:
return " Uso: `.dns <dominio>` - Consulta registros DNS A, AAAA, MX, CNAME y TXT."
domain = args[0]
records = ["A", "AAAA", "MX", "CNAME", "TXT"]
response = [f"** Registros DNS de {domain}**"]
try:
for record in records:
try:
answers = dns.resolver.resolve(domain, record)
registros = ", ".join([r.to_text() for r in answers])
response.append(f" **{record}:** {registros}")
except dns.resolver.NoAnswer:
continue # Si no hay respuesta, omitimos el registro
except dns.resolver.NXDOMAIN:
return f" El dominio `{domain}` no existe."
except dns.resolver.Timeout:
return f"⏳ Tiempo de espera agotado consultando `{domain}`."
return "\n".join(response) if len(response) > 1 else f" No se encontraron registros para `{domain}`."
except Exception as e:
return f" Error en consulta DNS: {str(e)}"
def help(self):
"""Muestra la ayuda para el comando .dns"""
return " Uso: `.dns <dominio>` - Muestra los registros DNS A, AAAA, MX, CNAME y TXT de un dominio."