From 55b2701faac580e3ed84f67e145ffa5730cce55f Mon Sep 17 00:00:00 2001 From: Liu Zhicong Date: Fri, 29 Sep 2023 17:22:22 -0700 Subject: [PATCH] fix tg tunnel bug. --- build_all_in_one.sh | 2 +- src/aios_kernel/tg_tunnel.py | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/build_all_in_one.sh b/build_all_in_one.sh index 2a6218b..9beaab5 100644 --- a/build_all_in_one.sh +++ b/build_all_in_one.sh @@ -1,4 +1,4 @@ -#!/usr/bin/bash +#!/bin/bash # Build the docker image docker build -t aios . docker tag aios:latest paios/aios:latest diff --git a/src/aios_kernel/tg_tunnel.py b/src/aios_kernel/tg_tunnel.py index 2ee921e..47eaf91 100644 --- a/src/aios_kernel/tg_tunnel.py +++ b/src/aios_kernel/tg_tunnel.py @@ -3,6 +3,7 @@ import threading import asyncio import uuid import time +import aiofiles from telegram import Update from telegram import Bot @@ -153,12 +154,12 @@ class TelegramTunnel(AgentTunnel): reomte_user_name = contact.name if not contact.is_family_member: if self.allow_group != "contact" and self.allow_group !="guest": - await update.message.reply_text(f"You are not allowed to talk to me! Please contact my father~") + await update.message.reply_text(f"You're not supposed to talk to me! Please contact my father~") return else: if self.allow_group != "guest": - await update.message.reply_text(f"You are not allowed to talk to me! Please contact my father~") + await update.message.reply_text(f"You're not supposed to talk to me! Please contact my father~") return if cm.is_auto_create_contact_from_telegram: @@ -187,7 +188,13 @@ class TelegramTunnel(AgentTunnel): if knowledge_object is not None: if knowledge_object.get_object_type() == ObjectType.Image: image = KnowledgeBase().bytes_from_object(knowledge_object) - await update.message.reply_photo(image) + try: + async with aiofiles.open("tg_send_temp.png", mode='wb') as local_file: + if local_file: + await local_file.write(image) + await update.message.reply_photo("tg_send_temp.png") + except Exception as e: + logger.error(f"save image error: {e}") return else: pos = resp_msg.body.find("audio file")