Перевести проект на Telegram Business (без хранения сессии)
Смена архитектуры с MTProto-юзербота (GramJS + строка сессии) на официальное бизнес-подключение Telegram (Bot API). Проект больше НЕ хранит сессию — работает только через бота с включённым Business Mode, подключённого в Настройках → Telegram для бизнеса → Чат-боты. Это соответствует ToS. Изменения: - удалено: scripts/login.js, src/userbot/client.js, модуль onetime - src/userbot/ → src/business/: events.js подписывает business_message / edited / deleted / connection и нормализует сообщение; context.js даёт ctx.api = bot.api - core/media.js: скачивание через getFile + fetch вместо GramJS - core/db.js: составной ключ PRIMARY KEY (chat_id, msg_id) — в Bot API message_id уникален только внутри чата - bot/panel.js: барьер владельца пропускает бизнес-апдейты (у них ctx.from это собеседник); убран UI одноразовых - index.js: сборка только на grammY, явный allowed_updates с бизнес-типами - config.js: убраны API_ID/API_HASH/SESSION, проверки на старте почищены - package.json: убраны зависимости telegram и input, скрипт login - README и .env.example переписаны под бизнес-подключение Границы: onetime невозможен через Business API (сервер отбрасывает self-destruct до доставки боту), медиа >~20 МБ не выгружаются (лимит getFile), перехват — только личные 1-на-1 чаты. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+3
-6
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "telegrambusiness",
|
||||
"version": "1.0.0",
|
||||
"description": "Личный Telegram-юзербот на MTProto: antidelete, one-time медиа, управление через компаньон-бота",
|
||||
"description": "Личный Telegram-бот на официальном бизнес-подключении: antidelete через business-апдейты, управление через панель. Без хранения сессии.",
|
||||
"type": "module",
|
||||
"main": "src/index.js",
|
||||
"engines": {
|
||||
@@ -9,12 +9,9 @@
|
||||
},
|
||||
"scripts": {
|
||||
"start": "node --env-file-if-exists=.env src/index.js",
|
||||
"dev": "node --watch --env-file-if-exists=.env src/index.js",
|
||||
"login": "node --env-file-if-exists=.env scripts/login.js"
|
||||
"dev": "node --watch --env-file-if-exists=.env src/index.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"grammy": "^1.45.1",
|
||||
"input": "^1.0.1",
|
||||
"telegram": "^2.26.22"
|
||||
"grammy": "^1.45.1"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user