YnM Ai Sopel py


from sopel import plugin
import requests
import os
import time
import re

# Google AI API kulcs a környezeti változókból vagy közvetlenül itt
API_KEY = os.getenv("GOOGLE_API_KEY", "api kulcs")
API_ENDPOINT = "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash-latest:generateContent"

# Szótár a felhasználók legutóbbi parancsainak idejének tárolásához
last_heck_time = {}

@plugin.rule(r'\[(\S+)\]!ai ?(.*)')
@plugin.command('ai')
def ask_google_ai(bot, trigger):
    """Tedd fel a kérdésedet a Google AI-nek! Használat: .ai [kérdés]"""

    # Ellenőrizzük, hogy a parancsban szerepel-e a "Heck"
    user = trigger.nick
    current_time = time.time()  # Aktuális idő (másodpercben)

    if "[Heck]" in trigger.group(0):
        if user not in last_heck_time or current_time - last_heck_time[user] >= 2 * 60 * 60:
            bot.reply("Tiltott tartalom: a parancs végrehajtása megtagadva, mivel visszaéltél a rendszerrel.")
            last_heck_time[user] = current_time
        return  # Kilépés a parancsból, ha "Heck" szerepel

    query = trigger.group(2)
    if not query:
        bot.reply("Kérlek, adj meg egy kérdést!")
        return

    try:
        response = requests.post(
            API_ENDPOINT,
            headers={
                "Content-Type": "application/json"
            },
            params={"key": API_KEY},
            json={
                "contents": [{
                    "parts": [{
                        "text": query
                    }]
                }]
            }
        )

        if response.status_code == 200:
            response_data = response.json()
            # Kinyerjük a 'text' tartalmat a válaszból
            answer = response_data.get('candidates', [{}])[0].get('content', {}).get('parts', [{}])[0].get('text', 'Nincs válasz.')
            answer = re.sub(r'\bMarkus\b', '', answer).strip()
            # Ha a válasz hosszabb, mint 350 karakter, akkor tördeljük
            if len(answer) > 350:
                parts = [answer[i:i+350] for i in range(0, len(answer), 350)]
                for part in parts:
                    bot.reply(part)
            else:
                bot.reply(answer)
        else:
            bot.reply(f"Hiba történt a válasz lekérésekor: {response.status_code} - {response.text}")
    except Exception as e:
        bot.reply(f"Hiba történt a válasz lekérésekor: {str(e)}")

*[23:22:47] (%Markus): [Markus]!ai openai
[23:22:49] (@YnM-AI): Markus: “OpenAI” refers to OpenAI, Inc., a leading artificial intelligence research company. They are known for developing and deploying advanced AI systems, including:
Large language models (LLMs): Such as GPT-3, GPT-3.5, GPT-4, and others which power many AI applications including chatbots, text generation tools, and code assistants. **