Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BookNoteBot

TypeScript MongoDB Telegram

A Telegram Bot to help you store, organize, and retrieve your book notes and Bible verse meditations.

📖 Features

  • Create Notes: Save your thoughts on specific books, chapters, and verses.
  • Organization: Automatically categorizes notes by book reference (e.g., Ps 23:1).
  • Edit & Delete: Easily manage your notes through an interactive menu.
  • Privacy: Each user has their own private notebook.

🛠 Tech Stack

  • Language: TypeScript
  • Runtime: Node.js
  • Database: MongoDB (Mongoose)
  • Bot Framework: node-telegram-bot-api

🚀 Getting Started

Prerequisites

  • Node.js installed
  • MongoDB instance (local or Atlas)
  • Telegram Bot Token (from @BotFather)

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/booknotebot.git
    cd booknotebot
  2. Install dependencies:

    npm install
  3. Configure environment variables: Create a .env file in the root directory:

    BOT_TOKEN=your_telegram_bot_token
    DB_URI=your_mongodb_connection_string
  4. Build and Run:

    npm run build
    npm start

    For development:

    npm run dev

🏗 Architecture

The project follows a clean MVC-style architecture:

  • src/models: Mongoose schemas defining the data structure.
  • src/controllers: Business logic and database interactions.
  • src/botData: Static bot configurations (commands, menus).
  • src/resources: Localization strings (messages.ts) for easy internationalization.
  • callbackFunctions.ts: Handles user interactions and bot flows.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the ISC License.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages