Bot notifier for the ghost dao
Go to file
Uncle Stretch 564cf0dd5c
fix requirements to work bot for python3.9 and python3.10
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2026-04-07 11:53:49 +03:00
rpcs initial bot notification with <3 2026-04-06 17:48:36 +03:00
.env.template initial bot notification with <3 2026-04-06 17:48:36 +03:00
.gitignore initial bot notification with <3 2026-04-06 17:48:36 +03:00
main.py update the pair address on hoodi 2026-04-06 18:32:12 +03:00
messages.json initial bot notification with <3 2026-04-06 17:48:36 +03:00
networks.json update the pair address on hoodi 2026-04-06 18:32:12 +03:00
README.md initial bot notification with <3 2026-04-06 17:48:36 +03:00
requirements.txt fix requirements to work bot for python3.9 and python3.10 2026-04-07 11:53:49 +03:00

Ghost Notifier Bot

A Telegram bot that monitors onchain events on ghostDAO and sends real-time notifications to a Telegram group using aiogram.

Features

  • Listens to specified onchain events (e.g., swaps, bond purchases, proposals creation)
  • Sends instant notifications to a configured Telegram group
  • Built with aiogram for async Telegram bot functionality
  • Usage of public RPC endpoints from chainlist

Networks

Each network has unique name, explorer link and event details to listen on:

  • Event name that will be used for messages only
  • Address is address of smart contract to listen on
  • Event topic is keccak256 hash of the event aka topic[0]

For more info go to networks.json.

Messages

All possible messages mapped to the event name. It is using predefined structure of message:

  • Header is bold text on top of the message
  • Body is main text of the message
  • Link is text of the link (in out case is the link to transaction hash)
  • Footer is text in the end of the message
  • Button text is text of the inline button
  • Button URL is the template link for the inline button

RPCs

Becase we are aiming to use public RPC endpoints we need to have list of enpoints in rpcs/NETWORK_NAME.txt where network name is described inside networks.json.