5
5
6
6
from pyrogram import Client , filters , enums
7
7
from pyrogram .types import Message
8
+ from pyrogram .errors import MessageTooLong
8
9
9
10
from utils .misc import modules_help , prefix
10
11
from utils .scripts import format_exc , import_library
11
12
from utils .config import gemini_key
13
+ from utils .rentry import paste as rentry_paste
12
14
13
15
genai = import_library ("google.generativeai" , "google-generativeai" )
14
16
15
17
genai .configure (api_key = gemini_key )
16
18
17
- model = genai .GenerativeModel ("gemini-1.5 -flash-latest " )
19
+ model = genai .GenerativeModel ("gemini-2.0 -flash" )
18
20
19
21
20
22
@Client .on_message (filters .command ("gemini" , prefix ) & filters .me )
21
- async def say (_ , message : Message ):
23
+ async def say (client : Client , message : Message ):
22
24
try :
23
25
await message .edit_text ("<code>Please Wait...</code>" )
24
26
@@ -39,6 +41,28 @@ async def say(_, message: Message):
39
41
f"**Question:**`{ prompt } `\n **Answer:** { response .text } " ,
40
42
parse_mode = enums .ParseMode .MARKDOWN ,
41
43
)
44
+ except MessageTooLong :
45
+ await message .edit_text (
46
+ "<code>Output is too long... Pasting to rentry...</code>"
47
+ )
48
+ try :
49
+ rentry_url , edit_code = await rentry_paste (
50
+ text = response .text , return_edit = True
51
+ )
52
+ except RuntimeError :
53
+ await message .edit_text (
54
+ "<b>Error:</b> <code>Failed to paste to rentry</code>"
55
+ )
56
+ return
57
+ await client .send_message (
58
+ "me" ,
59
+ f"Here's your edit code for Url: { rentry_url } \n Edit code: <code>{ edit_code } </code>" ,
60
+ disable_web_page_preview = True ,
61
+ )
62
+ await message .edit_text (
63
+ f"<b>Output:</b> { rentry_url } \n <b>Note:</b> <code>Edit Code has been sent to your saved messages</code>" ,
64
+ disable_web_page_preview = True ,
65
+ )
42
66
except Exception as e :
43
67
await message .edit_text (f"An error occurred: { format_exc (e )} " )
44
68
0 commit comments