feat: Add Telegram bot with group support

- Full Telegram bot implementation for Lightning Jackpot
- Commands: /start, /buy, /tickets, /wins, /address, /jackpot, /help
- Lightning invoice generation with QR codes
- Payment polling and confirmation notifications
- User state management (Redis/in-memory fallback)
- Group support with admin settings panel
- Configurable draw announcements and reminders
- Centralized messages for easy i18n
- Docker configuration included
This commit is contained in:
Michilis
2025-11-27 23:10:25 +00:00
parent d3bf8080b6
commit f743a6749c
29 changed files with 7616 additions and 1 deletions

37
telegram_bot/package.json Normal file
View File

@@ -0,0 +1,37 @@
{
"name": "lightning-lotto-telegram-bot",
"version": "1.0.0",
"description": "Telegram bot for Lightning Lottery - Buy tickets, check wins, and receive payouts via Lightning",
"main": "dist/index.js",
"scripts": {
"build": "tsc",
"start": "node dist/index.js",
"dev": "ts-node src/index.ts",
"dev:watch": "nodemon --exec ts-node src/index.ts"
},
"keywords": [
"telegram",
"bot",
"lightning",
"lottery",
"bitcoin"
],
"license": "MIT",
"dependencies": {
"axios": "^1.6.2",
"dotenv": "^16.3.1",
"ioredis": "^5.3.2",
"node-telegram-bot-api": "^0.64.0",
"qrcode": "^1.5.3",
"winston": "^3.11.0"
},
"devDependencies": {
"@types/node": "^20.10.4",
"@types/node-telegram-bot-api": "^0.64.2",
"@types/qrcode": "^1.5.5",
"nodemon": "^3.0.2",
"ts-node": "^10.9.2",
"typescript": "^5.3.3"
}
}