Skip to content

NekoSenseii/casio-watch-notifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

74 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Casio Watch Stock Monitor Bot 🎯

1. Title and Description

A Telegram bot that automatically monitors the Casio AE-1200WHL-5AVDF watch stock on casiostore.bhawar.com and sends instant notifications when it becomes available.

2. Badges

Node.js Express.js Telegram Render

3. Features

  • βœ… 24/7 Monitoring - Checks stock every 1 minute automatically
  • βœ… Instant Alerts - Telegram notifications when watch is back in stock
  • βœ… Bot Commands - /status and /check commands
  • βœ… Free Hosting - Runs on Render's free tier
  • βœ… Self-Healing - Self-ping mechanism prevents server sleep
  • βœ… Smart Detection - Finds "out of stock" vs "add to cart" text
  • βœ… Polling-Based - Stable connection without webhook issues
  • βœ… Security features - Rate limiting and authentication

4. Tech

Built With:

5. Installation

Prerequisites

  • Node.js 18+ installed
  • Telegram account
  • GitHub account (for deployment)

Local Setup

-> Clone the repository

-> Install dependencies

  • npm install

-> Set up environment variables

Create a .env file in the root directory (copy from .env.example) and fill in your values:

  • TELEGRAM_BOT_TOKEN β†’ Your Telegram bot token
  • TELEGRAM_CHAT_ID β†’ Your group chat ID
  • TELEGRAM_ADMIN_USER_ID β†’ Your admin user ID
  • TELEGRAM_TEST_CHAT_ID β†’ Your personal chat ID (for testing)
  • HEALTH_CHECK_KEY β†’ A random secret key for health checks
  • PORT β†’ Port number (default: 3000)

⚠️ Never commit your .env file to version control!

6. Environment Variables

To run this project, you will need to add the following environment variables:

Required:

  • TELEGRAM_BOT_TOKEN - Get from @BotFather on Telegram
  • TELEGRAM_CHAT_ID - Your Telegram group chat ID
  • TELEGRAM_ADMIN_USER_ID - Your personal Telegram user ID
  • HEALTH_CHECK_KEY - Your random secret key

Optional:

  • TELEGRAM_TEST_CHAT_ID - For personal testing (can be same as admin ID)
  • PORT - Server port (default: 3000)

Getting your Bot Token:

  • Message @BotFather on Telegram
  • Use /newbot command
  • Follow instructions and copy the token

Getting your Chat IDs:

  • Group ID: Add @RawDataBot to your group, it will show the group ID
  • Personal ID: Message @RawDataBot privately to get your user ID

7. Run Locally

Install dependencies

npm install

Create .env file from template

cp .env.example .env

Edit .env with your credentials

nano .env

Start the application

npm start

8. Deployment

Deploy on Render (Free)

  1. Fork this repository to your GitHub account

  2. Create new Web Service on Render

  3. Connect your repository and configure:

  • Build Command: npm install
  • Start Command: npm start
  1. Add Environment Variables:
  • TELEGRAM_BOT_TOKEN: Your bot token
  • TELEGRAM_CHAT_ID: Your chat ID
  1. Deploy and your bot will be live 24/7!

Alternative Platforms

  • Railway - Free 500 hours/month
  • Fly.io - Free tier available
  • Replit - Always-on for $5/month

9. Usage/Examples

Bot Commands

Once deployed, use these commands in Telegram:

Check Status:

/status

Shows bot uptime, stock status, and monitoring info

Manual Check:

/check

Immediately checks current stock status

Admin Commands (Private Chat Only)

/devtest

Sends test notification to admin's private chat

Admin Status:

/adminstatus

Detailed bot status with configuration info

Configuration View:

/config

View current bot configuration and settings

⚠️ Note: Admin commands only work in private chat with the bot owner and are hidden from regular group users.

Automatic Notifications

The bot automatically sends alerts like this when stock is found:

πŸŽ‰ STOCK ALERT!

βœ… Casio AE-1200WHL-5AVDF is back in stock!

πŸ›’ Buy now: [Product Link]

πŸ’° Price: Check website for current price
⏰ Checked at: 29/8/2025, 12:30:00 PM

⚑ Hurry! Limited stock available

10. Contributing

Contributions are what make the open source community amazing! Any contributions you make are greatly appreciated.

-> Fork the Project

-> Create your Feature Branch (git checkout -b feature/AmazingFeature)

-> Commit your Changes (git commit -m 'Add some AmazingFeature')

-> Push to the Branch (git push origin feature/AmazingFeature)

-> Open a Pull Request

Ideas for Contributions:

  • Add support for multiple products
  • Create web dashboard
  • Add price tracking
  • Support more stores
  • Add more notification channels

11. License

This project is licensed under the GNU AGPL v3.

You are free to:

  • Use commercially
  • Modify
  • Distribute

12. Authors

See also the list of contributors who participated in this project.

13. Acknowledgements

14. Support

If this project helped you, please consider:

  • ⭐ Star this repository
  • πŸ› Report issues in the Issues tab
  • πŸ’‘ Suggest features via Issues
  • πŸ”„ Share with others who might find it useful

Need help?

⚠️ Disclaimer: This bot is for personal use only. Please respect the website's terms of service.

About

a bot that checks availabiltiy of casio AE - 1299WHL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors