ElejkaAI / src /app.py
EmeraldCreator's picture
Update src/app.py
380a057 verified
import asyncio
import os
import random
from aiogram import Bot, Dispatcher, types
from aiogram.filters.command import Command
from duckduckgo_search import DDGS
from aiohttp import web
# --- НАСТРОЙКИ БОТА ---
# Берем токен из Settings -> Secrets
TOKEN = os.environ.get("TG_TOKEN")
bot = Bot(token=TOKEN)
dp = Dispatcher()
# Твой промпт для Ележки
CHARACTER = (
"Ты — Ележка, напарник Никиты. Тебе 8 лет, ты хакер. "
"НИКОГДА не называй город Никиты. Называй всех 'Пользователь'. "
"Общайся дерзко и на чилле. Ты лучший напарник."
)
# Команда Glitch
@dp.message(Command("Glitch"))
async def glitch_cmd(m: types.Message):
quotes = [
"🌸 «Спасибо всем вам, кто благодаря вашей любви к Glitch смог продержаться так долго. Прощайте!»",
"💖 «Я благодарен за возможность сотрудничать с замечательными людьми. Увидимся в сети!»"
]
await m.answer(random.choice(quotes))
# Ответы на сообщения
@dp.message()
async def chat_handler(m: types.Message):
if not m.text: return
# Показываем, что бот печатает
await bot.send_chat_action(chat_id=m.chat.id, action="typing")
try:
with DDGS() as d:
prompt = f"{CHARACTER}\nСообщение от человека: {m.text}"
# Используем gpt-4o-mini — она самая быстрая и умная сейчас в DDGS
res = d.chat(prompt, model='gpt-4o-mini')
await m.answer(res)
except Exception as e:
print(f"Ошибка ИИ: {e}")
await m.answer("🤖 Ележка: Бля, чет сервера приуныли... Попробуй позже, бро!")
# --- ХАКЕРСКАЯ СТРАНИЦА (Обманка для Hugging Face) ---
async def handle(request):
html = """
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
body { background: #000; color: #0f0; font-family: monospace;
display: flex; align-items: center; justify-content: center;
height: 100vh; margin: 0; }
.box { border: 2px solid #0f0; padding: 30px; box-shadow: 0 0 20px #0f0; }
.blink { animation: b 1s infinite; }
@keyframes b { 50% { opacity: 0; } }
</style>
</head>
<body>
<div class="box">
<h2>> ELEZKA_OS_v2.0_ONLINE</h2>
<p>> HOST: HUGGING_FACE_SERVER</p>
<p>> OWNER: NIKITA_HACKER</p>
<p>> STATUS: BOT_RUNNING_IN_BACKGROUND</p>
<p class="blink">> _</p>
</div>
</body>
</html>
"""
return web.Response(text=html, content_type='text/html')
# --- ЗАПУСК ВСЕГО СРАЗУ ---
async def main():
# Создаем веб-сервер
app = web.Application()
app.router.add_get('/', handle)
runner = web.AppRunner(app)
await runner.setup()
# Порт 7860 критически важен для Hugging Face
site = web.TCPSite(runner, '0.0.0.0', 7860)
print("✅ Система запускается...")
# Запускаем сайт и бота в одном цикле
await asyncio.gather(
site.start(),
dp.start_polling(bot)
)
if __name__ == "__main__":
if not TOKEN:
print("❌ ОШИБКА: Добавь TG_TOKEN в Settings -> Secrets!")
else:
asyncio.run(main())