From 027cddd88695e5528897b0146dd898eaa98a2b27 Mon Sep 17 00:00:00 2001 From: Bulat Kurbanov Date: Tue, 18 Feb 2025 22:33:26 +0100 Subject: [PATCH] Fix --- .../stream_notifications/messages_proc.py | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/modules/stream_notifications/messages_proc.py b/src/modules/stream_notifications/messages_proc.py index 108d233..8ddacf9 100644 --- a/src/modules/stream_notifications/messages_proc.py +++ b/src/modules/stream_notifications/messages_proc.py @@ -100,7 +100,8 @@ async def get_completion(message: str) -> str: response = await client.post( "https://openrouter.ai/api/v1/chat/completions", headers={ - "Authorization": f"Bearer {config.OPENAI_API_KEY}" + "Authorization": f"Bearer {config.OPENAI_API_KEY}", + "content-type": "application/json" }, data={ "model": "google/gemini-2.0-flash-thinking-exp:free", @@ -140,6 +141,30 @@ class MessagesProc: reply_parent_message_id=event.message_id ) + if event.message.text.lower().startswith("!ai"): + try: + completion = await get_completion(event.message.text) + + max_length = 255 + completion_parts = [completion[i:i + max_length] for i in range(0, len(completion), max_length)] + + for part in completion_parts: + await twitch.send_chat_message( + event.broadcaster_user_id, + config.TWITCH_ADMIN_USER_ID, + part, + reply_parent_message_id=event.message_id + ) + except Exception as e: + logger.error(f"Failed to get completion: {e}") + + await twitch.send_chat_message( + event.broadcaster_user_id, + config.TWITCH_ADMIN_USER_ID, + "Ошибка!", + reply_parent_message_id=event.message_id + ) + if event.chatter_user_login in cls.IGNORED_USER_LOGINS: return