/
PurpleWalrus24893
/
practice-project
Обзор
Документация
Войти
/
PurpleWalrus24893
/
practice-project
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/bot.py
93 строки
2 KB
PurpleWalrus24893
Добавлены сайт и документация
25 май 2026, 13:35
25 май 2026, 13:35
deabbff
Код
Авторство
О чём код?
import asyncio from aiogram import Bot, Dispatcher from aiogram.filters import CommandStart, Command from aiogram.types import Message from openai import OpenAI from config import BOT_TOKEN, GROQ_API_KEY bot = Bot(token=BOT_TOKEN) dp = Dispatcher() client = OpenAI( api_key=GROQ_API_KEY, base_url="https://api.groq.com/openai/v1" ) @dp.message(CommandStart()) async def start(message: Message): await message.answer( "Привет!\n\n" "Я учебный Telegram-бот с бесплатной LLM.\n\n" "Команды:\n" "/help - помощь\n" "/about - о проекте" ) @dp.message(Command("help")) async def help_command(message: Message): await message.answer( "Напиши любой вопрос." ) @dp.message(Command("about")) async def about(message: Message): await message.answer( "Проект по учебной практике.\n" "Telegram-бот с использованием LLM." ) @dp.message() async def ai_chat(message: Message): try: response = client.chat.completions.create( model="llama-3.3-70b-versatile", messages=[ { "role": "system", "content": ( "Ты полезный Telegram-бот " "для учебного проекта." ) }, { "role": "user", "content": message.text } ], temperature=0.7, max_tokens=512 ) answer = response.choices[0].message.content await message.answer(answer) except Exception as e: await message.answer( f"Ошибка:\n{e}" ) async def main(): print("Бот запущен") await dp.start_polling(bot) if __name__ == "__main__": asyncio.run(main())