| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import asyncio
- from pyrogram import filters
- from pyrogram.types import Message
- from wbb import app
- from wbb.utils import http
- # For /help menu
- __MODULE__ = "iplookup"
- __HELP__ = """
- /iplookup [ip address] to get the details about that ip
- """
- @app.on_message(filters.command("iplookup"))
- async def ip_lookup(_, message: Message):
- if len(message.command) < 2:
- return await message.reply_text("ip address is missing")
- ip_address = message.command[1]
- msg = await message.reply_text("checking ip address...")
- try:
- res = await http.get(f"https://ipinfo.io/{ip_address}/json", timeout=5)
- except asyncio.TimeoutError:
- return await message.reply_text("request timeout")
- except Exception as e:
- return await message.reply_text(f"ERROR: `{e}`")
- hostname = res.get("hostname", "N/A")
- city = res.get("city", "N/A")
- region = res.get("region", "N/A")
- country = res.get("country", "N/A")
- location = res.get("loc", "N/A")
- org = res.get("org", "N/A")
- await msg.edit(
- (
- f"**Details of `{ip_address}`**\n\n"
- f"HostName: `{hostname}`\n"
- f"City: `{city}`\n"
- f"Region: `{region}`\n"
- f"Country: `{country}`\n"
- f"Org: `{org}`\n"
- f"Map: https://www.google.fr/maps?q={location}\n"
- ),
- disable_web_page_preview=True,
- )
|