Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
BOT_TOKEN=7948634128:AAF48Hj4hGWvqdczE-4BF3wR3YbN7FqXSBU
BOT_USERNAME=mydogeevbot
MEMPOOL_BASE_URL=https://dev-mempool.space
MIN_CONFIRMATIONS=1
DOGEEV_NETWORK=dev
MASTER_XPRV=
38 changes: 38 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# DogecoinEV Telegram Tipbot

Node.js TypeScript bot and API for tipping DOGEEV and broadcasting raw tx.

## Features
- POST /api/tx: broadcast raw transaction hex to dev mempool
- Telegram bot commands: /start, /deposit, /balance, /tip, /faucet, /help
- SQLite ledger for internal tips

## Setup
1. Requirements: Node 18+
2. Install deps:
```bash
npm install
```
3. Configure env in `.env`:
```bash
BOT_TOKEN=your_telegram_bot_token
BOT_USERNAME=mydogeevbot
MEMPOOL_BASE_URL=https://dev-mempool.space
MIN_CONFIRMATIONS=1
DOGEEV_NETWORK=dev
MASTER_XPRV= # wallet xprv for deposit addresses (optional now)
```
4. Build and run:
```bash
npm run build
npm start
```

## API
- POST /api/tx
- Body: raw hex string or `{ "hex": "..." }`
- Response: `{ "txid": "..." }`

## Notes
- Deposit addresses require `bitcore-lib-dev` available in runtime. A placeholder type is included.
- For production, set `NODE_ENV=production`.
Binary file added data/dogeev_tipbot.sqlite
Binary file not shown.
Binary file added data/dogeev_tipbot.sqlite-shm
Binary file not shown.
Binary file added data/dogeev_tipbot.sqlite-wal
Binary file not shown.
3 changes: 3 additions & 0 deletions dist/bot/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import { Telegraf } from 'telegraf';
export declare function createBot(): Telegraf;
//# sourceMappingURL=index.d.ts.map
1 change: 1 addition & 0 deletions dist/bot/index.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

86 changes: 86 additions & 0 deletions dist/bot/index.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions dist/bot/index.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions dist/config.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
export declare const config: {
port: number;
botToken: string;
botUsername: string;
dbFile: string;
mempoolBaseUrl: string;
minConfirmations: number;
network: string;
masterXprv: string;
};
//# sourceMappingURL=config.d.ts.map
1 change: 1 addition & 0 deletions dist/config.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 18 additions & 0 deletions dist/config.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions dist/config.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions dist/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
import 'dotenv/config';
//# sourceMappingURL=index.d.ts.map
1 change: 1 addition & 0 deletions dist/index.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

41 changes: 41 additions & 0 deletions dist/index.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions dist/index.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions dist/lib/db.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import Database from 'better-sqlite3';
export declare function getDb(): Database.Database;
export declare function ensureDb(): Promise<void>;
//# sourceMappingURL=db.d.ts.map
1 change: 1 addition & 0 deletions dist/lib/db.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

78 changes: 78 additions & 0 deletions dist/lib/db.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions dist/lib/db.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions dist/lib/logger.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import pino from 'pino';
export declare const logger: pino.Logger<never, boolean>;
//# sourceMappingURL=logger.d.ts.map
1 change: 1 addition & 0 deletions dist/lib/logger.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions dist/lib/logger.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading