ec65aaf57d
- Stop blindly retrying send_photo/send_video/send_media_group and MAX send_message on ambiguous network timeouts - a timeout doesn't prove the message wasn't delivered, and retrying risked posting duplicates (observed live: a video posted 3-5x after repeated timeout retries). - Raise/rework timeouts that were too short for real large-file transfer speeds: TG media upload timeout, and yt-dlp download now uses stall detection (killed only on true silence) instead of a flat ceiling that was cutting off legitimately slow-but-successful video downloads. - Fix sendRichMessage: ok=true with an unparseable message_id no longer triggers a fallback send (Telegram already created the message). - MAX: videos over the documented 250MB cap are now sent as a "watch via link" note instead of silently failing the upload. - Add PRAGMA busy_timeout to all DB connections. - Remove unused MAX_MEDIA_CHANNEL_ID (MAX's /uploads returns a portable token directly, no staging channel needed, unlike Telegram). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
95 lines
3.6 KiB
Bash
95 lines
3.6 KiB
Bash
# ==========================================
|
|
# VKontakte Settings
|
|
# ==========================================
|
|
# VK User/Service access token
|
|
VK_ACCESS_TOKEN=vk1.a.your_vk_token_here
|
|
# Target VK source: screen name, URL or owner_id (e.g., "redairsoft", "club123456", "-123456", "https://vk.com/redairsoft")
|
|
VK_SOURCE=redairsoft
|
|
# VK API Version
|
|
VK_API_VERSION=5.199
|
|
# Number of wall posts to fetch each cycle (default 10)
|
|
VK_CHECK_COUNT=10
|
|
|
|
# ==========================================
|
|
# Telegram Settings
|
|
# ==========================================
|
|
# Telegram Bot Token (from @BotFather)
|
|
TG_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrSTUvwxYZ
|
|
# Destination Chat/Channel ID (e.g., "-1001234567890" or with topic thread "-1001234567890:42")
|
|
TG_CHAT_ID=-1001234567890
|
|
# Optional TG Media Storage Channel (e.g. for generating permanent file_ids)
|
|
TG_MEDIA_CHANNEL_ID=
|
|
# Admin Telegram ID(s) for notifications & reports (single ID or comma-separated "123456,789012")
|
|
TG_ADMIN_IDS=123456789
|
|
# Timeout (seconds) for send_photo/send_video/send_media_group. Must comfortably
|
|
# cover your largest expected video at real upload speed (default 1800 = 30min).
|
|
TG_MEDIA_UPLOAD_TIMEOUT_SEC=1800
|
|
|
|
# ==========================================
|
|
# Local Telegram Bot API (Optional)
|
|
# If TELEGRAM_API_ID & TELEGRAM_API_HASH are provided, local API server runs inside container automatically
|
|
# ==========================================
|
|
LOCAL_BOT_API_URL=
|
|
TELEGRAM_API_ID=
|
|
TELEGRAM_API_HASH=
|
|
|
|
# ==========================================
|
|
# MAX Messenger Settings
|
|
# ==========================================
|
|
# MAX Bot Token
|
|
MAX_BOT_TOKEN=your_max_bot_token_here
|
|
# MAX Destination Chat ID
|
|
MAX_CHAT_ID=123456
|
|
# MAX API Base URL
|
|
MAX_API_BASE_URL=https://platform-api2.max.ru
|
|
# MAX's documented hard cap for a single video attachment. Videos over this are
|
|
# sent as a "watch via link" text note instead of failing the upload.
|
|
MAX_VIDEO_LIMIT_MB=250
|
|
|
|
# ==========================================
|
|
# Polling, Reporting & Maintenance
|
|
# ==========================================
|
|
# Check interval in minutes (default: 15)
|
|
CHECK_INTERVAL_MINUTES=15
|
|
# Initial start behavior on fresh DB:
|
|
# "skip_existing" (default) - ignores old history, posts only new posts published after start
|
|
# "publish_latest_one" - publishes only the 1 latest post and skips older ones
|
|
# "publish_all" - publishes all wall posts fetched
|
|
BOOTSTRAP_MODE=skip_existing
|
|
# Send report to admin even if 0 new posts were found
|
|
REPORT_EMPTY_RUNS=false
|
|
# Send report to admin if an error occurred during checking/posting
|
|
REPORT_ON_ERROR=true
|
|
# Clean stale temp files older than X minutes (default: 30)
|
|
CACHE_MAX_AGE_MINUTES=30
|
|
|
|
# ==========================================
|
|
# Media & Video Limits
|
|
# ==========================================
|
|
# Max video size for Cloud TG API in MB (limit: 49-50 MB)
|
|
VIDEO_MAX_SIZE_MB_CLOUD=49
|
|
# Max video size when using Local TG API in MB (supports up to 2000 MB)
|
|
VIDEO_MAX_SIZE_MB_LOCAL=500
|
|
# Max video duration in seconds (default: 600s / 10 min)
|
|
VIDEO_MAX_DURATION_SEC=600
|
|
# Max video resolution height (default: 720p)
|
|
VIDEO_MAX_HEIGHT=720
|
|
|
|
# ==========================================
|
|
# Post Formatting & Customization
|
|
# ==========================================
|
|
# Text to prepend before every post
|
|
HEADER_TEXT=
|
|
# Text to append after every post
|
|
FOOTER_TEXT=
|
|
# Common hashtags to attach (e.g., "#redairsoft #страйкбол")
|
|
COMMON_TAGS=#redairsoft #страйкбол
|
|
# Make the first line of the post bold
|
|
FORMAT_FIRST_LINE_BOLD=true
|
|
# Telegram auto-reaction emoji on published posts (real Bot API method, unlike MAX)
|
|
TG_AUTO_REACTION=👍
|
|
TG_AUTO_REACTION_ENABLED=true
|
|
|
|
# Logging Level (DEBUG, INFO, WARNING, ERROR)
|
|
LOG_LEVEL=INFO
|