Загрузка данных


import logging
from telegram import Update
from telegram.ext import Application, MessageHandler, filters, ContextTypes

# ------------------- Чтение конфига из config.txt -------------------
def read_config(filename="config.txt"):
    config = {}
    try:
        with open(filename, "r", encoding="utf-8") as f:
            for line in f:
                line = line.strip()
                if not line or line.startswith("#") or "=" not in line:
                    continue
                key, value = line.split("=", 1)
                config[key.strip()] = value.strip()
    except FileNotFoundError:
        print(f"❌ Файл {filename} не найден. Положи его рядом с bot.py")
        exit(1)
    return config

config = read_config()
BOT_TOKEN = config.get("BOT_TOKEN")
GROUP_ID = int(config.get("GROUP_ID", 0))      # ID группы — число
CHANNEL_ID = config.get("CHANNEL_ID", "")      # пока просто сохраняем

if not BOT_TOKEN or not GROUP_ID:
    print("❌ Проверь config.txt: нужны BOT_TOKEN и GROUP_ID")
    exit(1)

logging.basicConfig(
    format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
    level=logging.INFO
)

# Обработчик: пересылает ТОЛЬКО личные сообщения в твою группу
async def forward_to_group(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await update.message.forward(chat_id=GROUP_ID)
    # Можешь раскомментировать, если хочешь, чтобы отправитель видел подтверждение:
    # await update.message.reply_text("✅ Сообщение доставлено владельцу.")

def main():
    app = Application.builder().token(BOT_TOKEN).build()

    # Ловим ЛЮБЫЕ личные сообщения (текст, фото, видео и т.д.)
    private_filter = filters.ChatType.PRIVATE
    app.add_handler(MessageHandler(private_filter, forward_to_group))

    # Важно: никаких обработчиков для групп/каналов — бот их молча игнорирует
    logging.info("Бот запущен. Жду личные сообщения...")
    app.run_polling()

if __name__ == "__main__":
    main()