TelegramAuth + TelegramAuthBot + WatchTogether; README/AGENT

- mods/TelegramAuth, mods/TelegramAuthBot, mods/WatchTogether: копии из
  образа с enable: true (правило 1), секции в config/init.conf
- TelegramAuth в API-режиме (enable: false -> accsdb/гейт не поднимается),
  TelegramAuthBot: бот @GatusMonBot, long polling
- WatchTogether: customPlugins watchtogether.js, relay /wt/c/
- README: секция про SQLite/volume (первый запуск), таблица модулей,
  состояние Tg-notify и TelegramAuth, раздел WatchTogether
- AGENT: правило 10 дополнено секретами init.conf, §12 переписан,
  добавлен §13 WatchTogether, список mods/ в §1
- в git bot_token и mutations_api_secret оставлены пустыми (правило 10),
  реальные значения только в рабочем файле на сервере
This commit is contained in:
2026-10-04 15:03:00 +00:00
parent 67e5713064
commit b6acef01ef
44 changed files with 13692 additions and 14 deletions
@@ -0,0 +1,68 @@
using System.Collections.Generic;
namespace TelegramAuthBot.Models
{
public sealed class BindCompleteResult
{
public bool Ok { get; set; }
public bool PendingAdminApproval { get; set; }
}
public class UserByTelegramDto
{
public bool found { get; set; }
public string telegramId { get; set; }
public string username { get; set; }
public string role { get; set; }
public string lang { get; set; }
public bool disabled { get; set; }
public bool registrationPending { get; set; }
public bool active { get; set; }
public string expiresAt { get; set; }
public int deviceCount { get; set; }
public int maxDevices { get; set; }
}
public class DevicesResponseDto
{
public string telegramId { get; set; }
public string username { get; set; }
public List<DeviceDto> devices { get; set; }
}
public class DeviceDto
{
public string uid { get; set; }
public string name { get; set; }
public bool active { get; set; }
}
public class AdminUsersListResponseDto
{
public bool ok { get; set; }
public List<AdminUserRowDto> users { get; set; }
}
public class AdminUserAccsBriefDto
{
public int? group { get; set; }
public bool? IsPasswd { get; set; }
public bool? ban { get; set; }
public string ban_msg { get; set; }
public string comment { get; set; }
public List<string> ids { get; set; }
}
public class AdminUserRowDto
{
public string telegramId { get; set; }
public string username { get; set; }
public string role { get; set; }
public bool disabled { get; set; }
public bool registrationPending { get; set; }
public bool active { get; set; }
public string expiresAt { get; set; }
public int deviceCount { get; set; }
public AdminUserAccsBriefDto accs { get; set; }
}
}
@@ -0,0 +1,23 @@
namespace TelegramAuthBot.Models
{
public class TelegramAuthBotConf
{
public bool enable { get; set; } = true;
public string bot_token { get; set; } = "";
public string lampac_base_url { get; set; } = "http://127.0.0.1:9118";
public int request_timeout_sec { get; set; } = 10;
public string service_display_name { get; set; } = "Lampac NextGen Bot";
public string mutations_api_secret { get; set; } = "";
public long[] admin_chat_ids { get; set; }
public long[] owner_telegram_ids { get; set; }
public bool notify_admins_on_pending_provision { get; set; } = true;
}
}