Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Эконом-бот сообщества: виртуальная валюта DR, ежедневные пособия и зарплаты, переводы между участниками с комиссией, заявки на роли, обращения и донаты.
Переписан с Python (aiogram) на TypeScript + grammY под Val Town (Deno). Данные хранятся в SQLite (не сбрасываются при перезапуске, в отличие от словарей в памяти в оригинале).
- Создай бота у @BotFather →
/newbot, получи токен. - Добавь токен в переменные окружения как
TELEGRAM_TOKEN. - Открой HTTP-эндпоинт
index.tsодин раз в браузере — вебхук зарегистрируется автоматически. - Напиши боту
/start.
Rendering mermaid diagram...
| Файл | Назначение |
|---|---|
index.ts | HTTP-вход, приём вебхука, регистрация вебхука |
bot.ts | команды, кнопки, чат-логика (Б, П), сессия для обращений |
keyboards.ts | инлайн-клавиатуры |
db.ts | таблицы users / applications, баланс, утилиты |
- 📋 Паспорт — статус, баланс, наличие приписки
#DR. - 💰 Баланс + команды в чате:
Б— показать баланс,П <сумма>в ответ на сообщение — перевод (комиссия 16%). - 🎁 Пособие — 3 DR в день (нужна приписка
#DRв нике). - 💼 Зарплата — раз в день по должности: DL3=90, DL2=100, DL1=45 (минус 16%).
- 👑 Заявки на роли — уходят императорам, принять / отклонить кнопкой.
- 📩 Обращения — сообщение императорам за 10 DR.
- 💎 Донат — через подарки @lovenexu, курс 1 ⭐ = 200 DR.
/add_dr @username сумма— начислить DR по нику (если человек запускал бота)./add_dr_id ID сумма— начислить DR по ID./balance_user @username— посмотреть баланс участника.
Императоры задаются в db.ts (массив IMPERATORS) и имеют «бесконечный» баланс.