Загрузка...

Скрипт Ии в сообщениях с людьми

Тема в разделе Python создана пользователем Эксфадор 4 апр 2025. 190 просмотров

Загрузка...
  1. Эксфадор
    Эксфадор Автор темы 4 апр 2025 ПЛАГИНЫ ДЛЯ FPC - t.me/coxerhub 1747 30 авг 2023
    Python
    import os
    import asyncio
    import sys
    from datetime import datetime
    from pip._internal.cli.main import main

    def install_package(package):
    main(["install", "-U", package])

    required_packages = [
    "loguru",
    "aiogram",
    "g4f"
    ]

    for package in required_packages:
    try:
    __import__(package.replace("-", "_"))
    print(f"Пакет {package} уже установлен")
    except ImportError:
    print(f"Установка пакета {package}...")
    install_package(package)

    from loguru import logger
    from aiogram import Bot, Dispatcher, types
    from aiogram.enums import ParseMode
    from aiogram.filters import CommandStart
    from aiogram.types import InlineQuery, InlineQueryResultArticle, InputTextMessageContent
    from g4f.client import Client

    client = Client()

    logger.add("bot.log", rotation="100 MB", level="INFO")

    BOT_TOKEN = "ваш_токен_бота"
    bot = Bot(token=BOT_TOKEN)
    dp = Dispatcher()

    async def improve_text(text: str) -> str:
    try:
    prompt = f"""Ты - помощник делового человека. Улучши следующий текст, сделав его более профессиональным
    и деловым, сохраняя при этом основной смысл. Не добавляй никаких пояснений или комментариев, и давай текст будто ты настоящий человек
    просто верни улучшенную версию текста:

    {text}
    """

    response = await asyncio.to_thread(
    lambda: client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": prompt}]
    )
    )
    return response.choices[0].message.content
    except Exception as e:
    logger.error(f"Ошибка при обработке текста: {e}")
    return "Произошла ошибка при обработке текста. Пожалуйста, попробуйте позже."


    @dp.inline_query()
    async def inline_query_handler(query: InlineQuery) -> None:
    text = query.query

    if not text:
    return

    result_id = f"text_{datetime.now().strftime('%Y%m%d%H%M%S')}"

    if len(text) < 5:
    await query.answer(
    results=[
    InlineQueryResultArticle(
    id=result_id,
    title="Текст слишком короткий",
    description="Введите более длинный текст для улучшения",
    input_message_content=InputTextMessageContent(
    message_text="Введите более длинный текст для улучшения"
    )
    )
    ],
    cache_time=1
    )
    return

    improved_text = await improve_text(text)

    await query.answer(
    results=[
    InlineQueryResultArticle(
    id=result_id,
    title="Улучшенный текст",
    description=improved_text[:100] + "..." if len(improved_text) > 100 else improved_text,
    input_message_content=InputTextMessageContent(
    message_text=improved_text,
    parse_mode=None
    )
    )
    ],
    cache_time=300
    )

    async def main() -> None:
    logger.info("Бот запущен")
    await dp.start_polling(bot)

    if __name__ == "__main__":
    asyncio.run(main())

    Не забудьте в botfather - включитье inline mode

    [IMG]
     
    4 апр 2025 Изменено
  2. nullptr
    Наговнокодил
     
  3. krutoidebil
    krutoidebil 4 апр 2025 Отучился на изготовителя подстворок 910 12 авг 2019
    Прикольно, а откуда ии? Локально работает чтоль?
     
  4. coolmag3142
    Не понял откуда ты нейросетку взял, нигде апишки не вижу
     
    1. coolmag3142
      Эксфадор, хайп даже, даже без ключа работает )
Top