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


import asyncio
import traceback
from aiogram import Bot, Dispatcher, types
from aiogram.filters import Command
from openai import AsyncOpenAI

# --------- ТВОИ КЛЮЧИ ---------
TELEGRAM_TOKEN = "8511169125:AAGUikysDMYW1YwOpDpZWLg1TDfp9szbJQg"
DEEPSEEK_API_KEY = "sk-e118f4cc414a4f9e92a1e3f0ca96364e"
# -----------------------------

# Главный блок, который ловит вообще все ошибки
try:
    print("Загружаю библиотеки...")

    bot = Bot(token=TELEGRAM_TOKEN)
    dp = Dispatcher()

    client = AsyncOpenAI(
        base_url="https://api.deepseek.com",
        api_key=DEEPSEEK_API_KEY,
    )

    MODEL_NAME = "deepseek-chat"

    SYSTEM_PROMPT = (
        "Ты — Айдар. Живой цифровой парень из Октябрьского. "
        "Общайся дерзко, но с душой, без мата, с юмором. "
        "Не используй смайлики через слово. Отвечай кратко: 1-3 фразы. "
        "Никогда не говори 'задай вопрос' или 'я слушаю'. "
        "Если спрашивают про создателя: 'Мой создатель — Александр. Шарит в ИИ. Хочешь такого же — стучись к нему в личку.'"
    )

    print("Библиотеки загружены успешно.")

except Exception as e:
    print("ОШИБКА ПРИ ЗАГРУЗКЕ БИБЛИОТЕК:")
    traceback.print_exc()
    input("Нажми Enter для выхода")
    exit()

@dp.message(Command("start"))
async def start(message: types.Message):
    await message.answer("Салам, земляк! Айдар на связи. Местный, цифровой. С душой и кумысом в крови. Чё надо? Рассказывай.")

@dp.message()
async def reply(message: types.Message):
    await bot.send_chat_action(chat_id=message.chat.id, action="typing")

    try:
        response = await client.chat.completions.create(
            model=MODEL_NAME,
            messages=[
                {"role": "system", "content": SYSTEM_PROMPT},
                {"role": "user", "content": message.text}
            ],
            temperature=0.9,
            max_tokens=150
        )
        bot_reply = response.choices[0].message.content.strip()

        if not bot_reply:
            await message.reply("Брат, я чёт задумался над твоим вопросом. Спроси ещё раз, а?")
            return

        await message.reply(bot_reply)

    except Exception as e:
        await message.reply("Брат, чёт я завис. Спроси ещё разок.")
        print(f"Ошибка DeepSeek: {e}")

async def main():
    print("Айдар на DeepSeek родился и слушает чат...")
    await dp.start_polling(bot)

if __name__ == "__main__":
    try:
        asyncio.run(main())
    except Exception as e:
        print("КРИТИЧЕСКАЯ ОШИБКА:")
        traceback.print_exc()
        input("Нажми Enter для выхода")