feat: add Polymarket wallet activity watcher and update .env example with its configuration.
This commit is contained in:
@@ -65,6 +65,8 @@ POLYMARKET_WALLET_ACTIVITY_USERS=0x0000000000000000000000000000000000000000
|
|||||||
# Optional wallet nicknames:
|
# Optional wallet nicknames:
|
||||||
# - CSV: 0xabc...=Whale_A,0xdef...=Main_Account
|
# - CSV: 0xabc...=Whale_A,0xdef...=Main_Account
|
||||||
# - JSON: {"0xabc...":"Whale A","0xdef...":"Main Account"}
|
# - JSON: {"0xabc...":"Whale A","0xdef...":"Main Account"}
|
||||||
|
# - Env key: POLYMARKET_WALLET_ACTIVITY_USER_ALIASES
|
||||||
|
# (legacy typo POLYMARKET_WALLET_ACTIVITY_USERS_ALIASES is also accepted)
|
||||||
POLYMARKET_WALLET_ACTIVITY_USER_ALIASES=
|
POLYMARKET_WALLET_ACTIVITY_USER_ALIASES=
|
||||||
POLYMARKET_WALLET_ACTIVITY_DATA_API_URL=https://data-api.polymarket.com
|
POLYMARKET_WALLET_ACTIVITY_DATA_API_URL=https://data-api.polymarket.com
|
||||||
POLYMARKET_WALLET_ACTIVITY_INTERVAL_SEC=20
|
POLYMARKET_WALLET_ACTIVITY_INTERVAL_SEC=20
|
||||||
|
|||||||
@@ -152,12 +152,11 @@ def _market_url(position: Dict[str, Any]) -> str:
|
|||||||
slug = str(position.get("slug") or "").strip()
|
slug = str(position.get("slug") or "").strip()
|
||||||
event_slug = str(position.get("event_slug") or "").strip()
|
event_slug = str(position.get("event_slug") or "").strip()
|
||||||
|
|
||||||
if slug and event_slug:
|
# Prefer event-level URL first: Telegram preview is usually more stable.
|
||||||
return f"https://polymarket.com/event/{event_slug}/{slug}"
|
|
||||||
if slug:
|
|
||||||
return f"https://polymarket.com/market/{slug}"
|
|
||||||
if event_slug:
|
if event_slug:
|
||||||
return f"https://polymarket.com/event/{event_slug}"
|
return f"https://polymarket.com/event/{event_slug}"
|
||||||
|
if slug:
|
||||||
|
return f"https://polymarket.com/market/{slug}"
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
|
|
||||||
@@ -519,6 +518,7 @@ def start_polymarket_wallet_activity_loop(bot: Any) -> Optional[threading.Thread
|
|||||||
users = _parse_addresses(os.getenv("POLYMARKET_WALLET_ACTIVITY_USERS"))
|
users = _parse_addresses(os.getenv("POLYMARKET_WALLET_ACTIVITY_USERS"))
|
||||||
user_aliases = _parse_address_aliases(
|
user_aliases = _parse_address_aliases(
|
||||||
os.getenv("POLYMARKET_WALLET_ACTIVITY_USER_ALIASES")
|
os.getenv("POLYMARKET_WALLET_ACTIVITY_USER_ALIASES")
|
||||||
|
or os.getenv("POLYMARKET_WALLET_ACTIVITY_USERS_ALIASES")
|
||||||
)
|
)
|
||||||
|
|
||||||
if not enabled:
|
if not enabled:
|
||||||
@@ -586,6 +586,7 @@ def start_polymarket_wallet_activity_loop(bot: Any) -> Optional[threading.Thread
|
|||||||
logger.info(
|
logger.info(
|
||||||
f"polymarket wallet activity watcher started users={len(users)} "
|
f"polymarket wallet activity watcher started users={len(users)} "
|
||||||
f"poll={poll_sec}s data_api={data_api_url} price_filter={min_price}-{max_price} "
|
f"poll={poll_sec}s data_api={data_api_url} price_filter={min_price}-{max_price} "
|
||||||
|
f"aliases={len(user_aliases)} link_preview={link_preview} "
|
||||||
f"min_avg_price_delta={min_avg_price_delta} "
|
f"min_avg_price_delta={min_avg_price_delta} "
|
||||||
f"immediate_on_size_delta={immediate_on_size_delta} "
|
f"immediate_on_size_delta={immediate_on_size_delta} "
|
||||||
f"immediate_size_delta_min={immediate_size_delta_min} "
|
f"immediate_size_delta_min={immediate_size_delta_min} "
|
||||||
|
|||||||
Reference in New Issue
Block a user