41 lines
1.3 KiB
Markdown
41 lines
1.3 KiB
Markdown
# Ghost Notifier Bot
|
|
|
|
A Telegram bot that monitors onchain events on
|
|
[ghostDAO](https://app.dao.ghostchain.io/) 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](https://chainlist.org/)
|
|
|
|
## 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`. |