A bot that allows you to receive notifications via email, SMS, Discord, Telegram, and/or WhatsApp when a listed token's price in USD goes above or below a specified value.
To configure the tokens you want to be notified about, create a tokens.json file in the project src/assets/ directory with the following format:
[
{
"address": "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",
"condition": "above",
"value_in_usd": 230,
"notification_types": [
"email",
"telegram"
]
},
{
"address": "0x715D400F88C167884bbCc41C5FeA407ed4D2f8A0",
"condition": "below",
"value_in_usd": 5,
"notification_types": [
"discord"
]
}
]Replace the example token entries with your desired tokens. Each token object should include the following properties:
| Property | Type | Description |
|---|---|---|
| address | TokenAddress |
BEP-20 valid The token address |
| condition | NotificationCondition |
The condition to trigger the notification below or above |
| value_in_usd | number |
The price value in USD |
| notification_types | NotificationType[] |
An array of notification types for the alert email, sms, discord, telegram, slack, whatsapp |
The following environment variables need to be set in order for the bot to function correctly:
BSCSAN_API_KEY: API key for BscScan (to fetch token ABIs).DISCORD_BOT_TOKEN: Bot token for Discord integration.DISCORD_CHANNEL_ID: Channel ID for Discord notifications.SMTP_HOST: SMTP host for email notifications.SMTP_PORT: SMTP port for email notifications.SMTP_USER: SMTP username for email notifications.SMTP_PASS: SMTP password for email notifications.FROM_EMAIL: Sender email address for email notifications.TO_EMAIL: Recipient email address for email notifications.EMAIL_SUBJECT: Email subject for notifications.TELEGRAM_BOT_TOKEN: Bot token for Telegram integration.TELEGRAM_CHAT_ID: Chat ID for Telegram notifications.TWILIGIO_ACCOUNT_SID: Twilio account SID for SMS notifications.TWILIGIO_AUTH_TOKEN: Twilio auth token for SMS notifications.FROM_NUMBER: Sender phone number for SMS and Whatsapp notifications.TO_NUMBER: Recipient phone number for SMS and Whatsapp notifications.APP_LOOP_INTERVAL: Interval (in milliseconds) at which the bot checks for price updates.NODE_ENV: Node environment (e.g., development, production).
Make sure to set these environment variables either directly or by using a .env file.
To start the bot, run the following command:
npm run install
Development:
npm run dev
Production:
npm run build
npm run start
The bot will start monitoring the token prices based on the configurations provided in config.json and send notifications accordingly.
info: |--- Starting clients ---|
error: sms service got wrong credentials.
info: |--- discord started ---|
info: |--- telegram started ---|
info: |--- Clients started ---|
info: |--- Bot started ---|
info: Price of WBNB is above 230 USDT !
info: Price of AXS is below 5 USDT !
info: Price of Cake is below 1.5 USDT !
info: Price of ADA is above 0.25 USDT !
info: |--- Bot finished ---|
This project is licensed under the MIT License.
We would like to express our gratitude to the open-source community for their invaluable contributions and support.
If you have any questions, suggestions, or feedback, please feel free to reach out to us at ma.rodriguez.dev@gmail.com