From 54cf18cff4eb19eab68535842d5c7af0d324e9f9 Mon Sep 17 00:00:00 2001 From: Nando <24811313+fzavalia@users.noreply.github.com> Date: Wed, 15 Oct 2025 15:29:12 -0300 Subject: [PATCH 1/3] feat: Rename packages --- package.json | 2 +- packages/onboarding-modal/package.json | 4 ++-- packages/server/package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index ae36bb3..f37b92f 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "dme-monorepo", + "name": "@bootnodedev/dme-monorepo", "version": "1.0.0", "private": true, "description": "", diff --git a/packages/onboarding-modal/package.json b/packages/onboarding-modal/package.json index c8386b5..0327d59 100644 --- a/packages/onboarding-modal/package.json +++ b/packages/onboarding-modal/package.json @@ -1,6 +1,6 @@ { - "name": "dme-onboarding-modal", - "version": "0.0.6", + "name": "@bootnodedev/dme-onboarding-modal", + "version": "0.0.1", "author": "BootNode", "license": "MIT", "type": "module", diff --git a/packages/server/package.json b/packages/server/package.json index 0414cd5..563f1bc 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,5 +1,5 @@ { - "name": "server", + "name": "@bootnodedev/dme-server", "version": "1.0.0", "private": true, "description": "", From 583b2d9ba90f06004b2a0bfafa49251e35cd0b62 Mon Sep 17 00:00:00 2001 From: Nando <24811313+fzavalia@users.noreply.github.com> Date: Wed, 15 Oct 2025 15:43:15 -0300 Subject: [PATCH 2/3] fix: Update readme --- README.md | 6 +++--- packages/onboarding-modal/README.md | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 960d37b..16b01fd 100644 --- a/README.md +++ b/README.md @@ -195,19 +195,19 @@ The framework includes a React component that can be integrated into your React ### 1. Install the Component ```bash -pnpm install dme-onboarding-modal +pnpm install @bootnodedev/dme-onboarding-modal ``` ### 2. Import Styles in Your Main App File ```tsx -import "dme-onboarding-modal/lib/index.css"; +import "@bootnodedev/dme-onboarding-modal/lib/index.css"; ``` ### 3. Use the Component in Your React App ```tsx -import { Button } from "dme-onboarding-modal"; +import { Button } from "@bootnodedev/dme-onboarding-modal"; function Navbar() { return ( diff --git a/packages/onboarding-modal/README.md b/packages/onboarding-modal/README.md index 2946d08..c0e1f36 100644 --- a/packages/onboarding-modal/README.md +++ b/packages/onboarding-modal/README.md @@ -5,7 +5,7 @@ A React component for seamless user onboarding to Telegram bot notifications, pa ## Installation ```bash -npm install dme-onboarding-modal +npm install @bootnodedev/dme-onboarding-modal ``` ## Usage @@ -15,13 +15,13 @@ npm install dme-onboarding-modal In your main app file (e.g., `App.tsx` or `index.tsx`), import the component's styles: ```tsx -import "dme-onboarding-modal/lib/index.css"; +import "@bootnodedev/dme-onboarding-modal/lib/index.css"; ``` ### 2. Use the Component in Your React App ```tsx -import { Button } from "dme-onboarding-modal"; +import { Button } from "@bootnodedev/dme-onboarding-modal"; function Navbar() { return ( @@ -42,7 +42,7 @@ function Navbar() { The wallet address can be obtained from your dApp's Web3 provider, such as **MetaMask** or **WalletConnect**: ```tsx -import { Button } from "dme-onboarding-modal"; +import { Button } from "@bootnodedev/dme-onboarding-modal"; import { useAccount } from "wagmi"; // or your Web3 library function Navbar() { @@ -86,8 +86,8 @@ The modal generates a deep link to your Telegram bot with the wallet address as ## Example ```tsx -import { Button } from "dme-onboarding-modal"; -import "dme-onboarding-modal/lib/index.css"; +import { Button } from "@bootnodedev/dme-onboarding-modal"; +import "@bootnodedev/dme-onboarding-modal/lib/index.css"; function App() { return ( From eedfcc731d05cdb76a505070fd1c08f9043ec21a Mon Sep 17 00:00:00 2001 From: Nando <24811313+fzavalia@users.noreply.github.com> Date: Wed, 15 Oct 2025 15:52:51 -0300 Subject: [PATCH 3/3] fix: Add new readme section --- README.md | 60 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 16b01fd..00d0968 100644 --- a/README.md +++ b/README.md @@ -11,26 +11,27 @@ It is designed for anyone to clone or fork and use it as a starting point to bui - [Example](#example) - [Project Structure](#project-structure) - [Telegram Bot Commands](#telegram-bot-commands) +- [Queuing Messages](#queuing-messages) - [Onboarding Modal Component](#onboarding-modal-component) - [Database](#database) - [Deployment](#deployment) ## Features -| Feature | Description | -|---------|-------------| -| Optimized Notifications | Reliable Telegram delivery out of the box. No complex setup required. | -| From Pull to Push | Trigger relevant, contextual messages based on wallet activity. Keep your users informed in real-time without them having to check your dashboard. | -| Telegram Bot | Prebuilt bot with wallet linkage and user controls. No need to build your own interface. | -| Telegram Mini App (Coming Soon) | Richer Telegram UI via a lightweight, integrated Telegram Mini App. | -| Onboarding Component | React component for instant onboarding. Users click a link or scan a QR. No wallet connection needed. | -| Zero Installs | No apps, no browser extensions. Everything runs through Telegram. | -| Easy Deployment | Runs as a single-node service. Self-host or deploy in your cloud infra. | -| White Label | Customize components with your own branding and front-end logic. | -| Data Flexibility | Compatible with SQLite, Postgres, MySQL, or MongoDB. Use your preferred stack. You own your user's data, eliminating exposure to third-party risks. | -| Built for Simplicity | Deliver what drives user engagement, retention, and re-activation. DMe handles delivery logic; you focus on wallet signals. | -| Attribution Dashboard (Coming Soon) | Track delivery, opens, and basic interaction metrics to measure messaging impact. | -| Open Source | This framework is **fully open source**. You can inspect, extend, and contribute to its codebase. It’s actively maintained and open to community feedback and contributions. | +| Feature | Description | +| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Optimized Notifications | Reliable Telegram delivery out of the box. No complex setup required. | +| From Pull to Push | Trigger relevant, contextual messages based on wallet activity. Keep your users informed in real-time without them having to check your dashboard. | +| Telegram Bot | Prebuilt bot with wallet linkage and user controls. No need to build your own interface. | +| Telegram Mini App (Coming Soon) | Richer Telegram UI via a lightweight, integrated Telegram Mini App. | +| Onboarding Component | React component for instant onboarding. Users click a link or scan a QR. No wallet connection needed. | +| Zero Installs | No apps, no browser extensions. Everything runs through Telegram. | +| Easy Deployment | Runs as a single-node service. Self-host or deploy in your cloud infra. | +| White Label | Customize components with your own branding and front-end logic. | +| Data Flexibility | Compatible with SQLite, Postgres, MySQL, or MongoDB. Use your preferred stack. You own your user's data, eliminating exposure to third-party risks. | +| Built for Simplicity | Deliver what drives user engagement, retention, and re-activation. DMe handles delivery logic; you focus on wallet signals. | +| Attribution Dashboard (Coming Soon) | Track delivery, opens, and basic interaction metrics to measure messaging impact. | +| Open Source | This framework is **fully open source**. You can inspect, extend, and contribute to its codebase. It’s actively maintained and open to community feedback and contributions. | ## Getting Started @@ -148,8 +149,8 @@ The example also demonstrates how commands can be customized—for instance, obt The monorepo is organized into the following packages: -* `packages/server`: The main server application that runs the Telegram bot and handles user interactions, message dispatching, and job scheduling. -* `packages/onboarding-modal`: A React component that provides a user-friendly onboarding experience for linking Telegram accounts with their wallet addresses. +- `packages/server`: The main server application that runs the Telegram bot and handles user interactions, message dispatching, and job scheduling. +- `packages/onboarding-modal`: A React component that provides a user-friendly onboarding experience for linking Telegram accounts with their wallet addresses. The server package is built with TypeScript and uses the [grammy](https://grammy.dev/) framework for Telegram bot interactions, [Prisma](https://www.prisma.io/) for database management, and [node-cron](https://www.npmjs.com/package/node-cron) for scheduling jobs. @@ -181,12 +182,27 @@ In this case, you would add an `aave.ts` service to the **services** folder and The DMe framework includes a set of predefined commands that users can use to interact with the Telegram bot. These commands allow users to manage their subscriptions and get information about their linked wallets. -| Command | Description | -|--------------------|---------------------------------------------------------------------------------------------------------------------------------------| -| `/start [address]` | Starts a conversation with the bot. If a wallet address is provided, it is linked to the user. | -| `/add
` | Links an additional wallet address to the user's Telegram account. | -| `/remove