mirror of
				https://github.com/cdryzun/tg_bot_collections.git
				synced 2025-11-04 08:46:44 +08:00 
			
		
		
		
	@ -100,7 +100,8 @@ def wrap_handler(handler: T, bot: TeleBot) -> T:
 | 
			
		||||
    def wrapper(message: Message, *args: Any, **kwargs: Any) -> None:
 | 
			
		||||
        try:
 | 
			
		||||
            m = ""
 | 
			
		||||
            if message.text.find("answer_it") != -1:
 | 
			
		||||
 | 
			
		||||
            if message.text and message.text.find("answer_it") != -1:
 | 
			
		||||
                # for answer_it no args
 | 
			
		||||
                return handler(message, *args, **kwargs)
 | 
			
		||||
            elif message.text is not None:
 | 
			
		||||
 | 
			
		||||
@ -220,6 +220,7 @@ if CHATGPT_API_KEY:
 | 
			
		||||
        bot.register_message_handler(
 | 
			
		||||
            chatgpt_photo_handler,
 | 
			
		||||
            content_types=["photo"],
 | 
			
		||||
            func=lambda m: m.caption and m.caption.startswith(("gpt:", "/gpt")),
 | 
			
		||||
            func=lambda m: m.caption
 | 
			
		||||
            and m.caption.startswith(("gpt:", "/gpt", "gpt_pro:", "/gpt_pro")),
 | 
			
		||||
            pass_bot=True,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
@ -160,39 +160,7 @@ def answer_it_handler(message: Message, bot: TeleBot):
 | 
			
		||||
            if chunk.choices[0].delta.content is None:
 | 
			
		||||
                break
 | 
			
		||||
            s += chunk.choices[0].delta.content
 | 
			
		||||
            if time.time() - start > 1.2:
 | 
			
		||||
                start = time.time()
 | 
			
		||||
                bot_reply_markdown(reply_id, who, s, bot, split_text=False)
 | 
			
		||||
        # maybe not complete
 | 
			
		||||
        try:
 | 
			
		||||
            bot_reply_markdown(reply_id, who, s, bot)
 | 
			
		||||
        except:
 | 
			
		||||
            pass
 | 
			
		||||
 | 
			
		||||
    except Exception as e:
 | 
			
		||||
        print(e)
 | 
			
		||||
        bot_reply_markdown(reply_id, who, "answer wrong", bot)
 | 
			
		||||
 | 
			
		||||
    ##### Qwen #####
 | 
			
		||||
    who = "Qwen Pro"
 | 
			
		||||
    reply_id = bot_reply_first(latest_message, who, bot)
 | 
			
		||||
 | 
			
		||||
    player_message = [{"role": "user", "content": m}]
 | 
			
		||||
 | 
			
		||||
    try:
 | 
			
		||||
        r = qwen_client.chat.completions.create(
 | 
			
		||||
            messages=player_message,
 | 
			
		||||
            max_tokens=4096,
 | 
			
		||||
            model=QWEN_MODEL,
 | 
			
		||||
            stream=True,
 | 
			
		||||
        )
 | 
			
		||||
        s = ""
 | 
			
		||||
        start = time.time()
 | 
			
		||||
        for chunk in r:
 | 
			
		||||
            if chunk.choices[0].delta.content is None:
 | 
			
		||||
                break
 | 
			
		||||
            s += chunk.choices[0].delta.content
 | 
			
		||||
            if time.time() - start > 1.2:
 | 
			
		||||
            if time.time() - start > 1.5:
 | 
			
		||||
                start = time.time()
 | 
			
		||||
                bot_reply_markdown(reply_id, who, s, bot, split_text=False)
 | 
			
		||||
        # maybe not complete
 | 
			
		||||
@ -206,7 +174,7 @@ def answer_it_handler(message: Message, bot: TeleBot):
 | 
			
		||||
        bot_reply_markdown(reply_id, who, "answer wrong", bot)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if GOOGLE_GEMINI_KEY and CHATGPT_API_KEY and QWEN_API_KEY:
 | 
			
		||||
if GOOGLE_GEMINI_KEY and CHATGPT_API_KEY:
 | 
			
		||||
 | 
			
		||||
    def register(bot: TeleBot) -> None:
 | 
			
		||||
        bot.register_message_handler(md_handler, commands=["md"], pass_bot=True)
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user