moss-n-puddles/utils/user_info.py
2026-02-16 14:52:32 -08:00

24 lines
734 B
Python
Executable file

#!/usr/bin/env python
from evennia.utils import logger
import requests
def location(character):
"""
Return a tuple of physical location information about
the player playing `character`.
"""
session = character.sessions.get()[0]
address = session.address
if address == "127.0.0.1":
return ("Localhost", None, None, address)
response = requests.get(f'https://ipapi.co/{address}/json/',
timeout=1).json()
logger.info(f"User location: {response}")
city = response.get("city") or "Unknown City"
region = response.get("region") or "Unknown Region"
country = response.get("country_name") or "Unknown Country"
return (city, region, country, address)