EmeraldCreator commited on
Commit
612be65
·
verified ·
1 Parent(s): b143cf1

Update src/app.py

Browse files
Files changed (1) hide show
  1. src/app.py +34 -11
src/app.py CHANGED
@@ -1,13 +1,21 @@
1
- import asyncio, os, random, streamlit as st
 
 
 
 
2
  from aiogram import Bot, Dispatcher, types
3
  from aiogram.filters.command import Command
4
  from duckduckgo_search import DDGS
5
 
6
- # Визуал для Hugging Face
7
  st.set_page_config(page_title="Elezka AI", page_icon="🤖")
8
  st.title("🤖 Ележка-Бот в эфире!")
 
 
 
 
9
 
10
- # Настройки бота
11
  TOKEN = os.environ.get("TG_TOKEN")
12
  bot = Bot(token=TOKEN)
13
  dp = Dispatcher()
@@ -21,10 +29,8 @@ CHARACTER = (
21
  @dp.message(Command("Glitch"))
22
  async def glitch_cmd(m: types.Message):
23
  quotes = [
24
- "🌸 «Спасибо всем вам, кто благодаря вашей любви к Glitch смог продержаться так долго. Прощайте! – Кейси Колдеруп, разработчик программного обеспечения
25
-
26
- »",
27
- "💖 «Я присоединился к этой команде в начале 2021 года с расчетом, что останусь на лето,выполняя какую-нибудь контрактную работу, прежде чем найти «настоящую работу». (Мой партнер называл это «летним лагерем».) Каким-то образом это превратилось в 4 года работы здесь, и я благодарен за возможность сотрудничать с замечательными людьми и оказывать услуги, которые имели значение для стольких людей. Мне не хочется прощаться, но я рад, что мне довелось это сделать, и поэтому я хотел бы попрощаться от имени тех из нас, кого больше нет рядом.» — Неизвестно"
28
  ]
29
  await m.answer(random.choice(quotes))
30
 
@@ -34,13 +40,30 @@ async def h(m: types.Message):
34
  try:
35
  with DDGS() as d:
36
  prompt = f"{CHARACTER}\nСообщение от человека: {m.text}"
37
- res = d.chat(prompt, model='llama-3-70b')
 
38
  await m.answer(res)
39
- except:
 
40
  await m.answer("🤖 Ележка: Бля, чет сервера приуныли... Попробуй позже, бро!")
41
 
 
42
  async def start_bot():
43
- await dp.start_polling(bot)
 
 
 
 
 
 
 
 
 
44
 
45
  if __name__ == "__main__":
46
- asyncio.run(start_bot())
 
 
 
 
 
 
1
+ import asyncio
2
+ import os
3
+ import random
4
+ import threading
5
+ import streamlit as st
6
  from aiogram import Bot, Dispatcher, types
7
  from aiogram.filters.command import Command
8
  from duckduckgo_search import DDGS
9
 
10
+ # --- ВИЗУАЛ ДЛЯ HUGGING FACE (STREAMLIT) ---
11
  st.set_page_config(page_title="Elezka AI", page_icon="🤖")
12
  st.title("🤖 Ележка-Бот в эфире!")
13
+ st.markdown("""
14
+ ### Статус: Бот запущен ✅
15
+ Бот работает в фоновом режиме. Ты можешь писать ему в Telegram.
16
+ """)
17
 
18
+ # --- НАСТРОЙКИ БОТА ---
19
  TOKEN = os.environ.get("TG_TOKEN")
20
  bot = Bot(token=TOKEN)
21
  dp = Dispatcher()
 
29
  @dp.message(Command("Glitch"))
30
  async def glitch_cmd(m: types.Message):
31
  quotes = [
32
+ "🌸 «Спасибо всем вам, кто благодаря вашей любви к Glitch смог продержаться так долго. Прощайте! – Кейси Колдеруп»",
33
+ "💖 «Я присоединился к этой команде в начале 2021 года... Мне не хочется прощаться, но я рад, что мне довелось это сделать.»"
 
 
34
  ]
35
  await m.answer(random.choice(quotes))
36
 
 
40
  try:
41
  with DDGS() as d:
42
  prompt = f"{CHARACTER}\nСообщение от человека: {m.text}"
43
+ # Используем актуальный вызов для duckduckgo_search
44
+ res = d.chat(prompt, model='gpt-4o-mini') # llama-3 иногда капризничает в DDG, gpt-4o-mini стабильнее
45
  await m.answer(res)
46
+ except Exception as e:
47
+ print(f"Ошибка: {e}")
48
  await m.answer("🤖 Ележка: Бля, чет сервера приуныли... Попробуй позже, бро!")
49
 
50
+ # --- ЗАПУСК ---
51
  async def start_bot():
52
+ try:
53
+ await dp.start_polling(bot)
54
+ finally:
55
+ await bot.session.close()
56
+
57
+ def run_bot_in_thread():
58
+ # Создаем новый цикл событий для отдельного потока
59
+ loop = asyncio.new_event_loop()
60
+ asyncio.set_event_loop(loop)
61
+ loop.run_until_complete(start_bot())
62
 
63
  if __name__ == "__main__":
64
+ # Запускаем бота в фоне, если он еще не запущен
65
+ if "bot_started" not in st.session_state:
66
+ thread = threading.Thread(target=run_bot_in_thread, daemon=True)
67
+ thread.start()
68
+ st.session_state.bot_started = True
69
+