A Telegram Bot to help you store, organize, and retrieve your book notes and Bible verse meditations.
- 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.
- Language: TypeScript
- Runtime: Node.js
- Database: MongoDB (Mongoose)
- Bot Framework:
node-telegram-bot-api
- Node.js installed
- MongoDB instance (local or Atlas)
- Telegram Bot Token (from @BotFather)
-
Clone the repository:
git clone https://github.com/your-username/booknotebot.git cd booknotebot -
Install dependencies:
npm install
-
Configure environment variables: Create a
.envfile in the root directory:BOT_TOKEN=your_telegram_bot_token DB_URI=your_mongodb_connection_string
-
Build and Run:
npm run build npm start
For development:
npm run dev
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.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the ISC License.