Removed image, added clear implementation to github_tool and log_tool

This commit is contained in:
2024-08-18 09:19:29 -05:00
parent 3d521f4790
commit a283f7dde9
3 changed files with 11 additions and 26 deletions
+3 -26
View File
@@ -2,8 +2,6 @@ import json
import os
import importlib
import inspect
import tempfile
import base64
import logging
import anthropic
from telegram import Update
@@ -48,9 +46,6 @@ with open("prompts/developer_prompt.txt", "r") as file:
# Dictionary to store conversation history for each user
conversation_history = {}
# Dictionary to store the last image file for each user
user_images = {}
# Load tools
tools = []
tools_dir = os.path.join(os.path.dirname(__file__), 'tools')
@@ -75,29 +70,12 @@ async def clear(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
user_id = update.effective_user.id
if user_id in conversation_history:
del conversation_history[user_id]
if user_id in user_images:
os.remove(user_images[user_id])
del user_images[user_id]
for tool in tools:
tool.clear()
logging.info(f"Cleared conversation history and image for user {user_id}")
await update.message.reply_text("Conversation history and image cleared. Let's start fresh!")
async def handle_image(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
user_id = update.effective_user.id
# Get the largest available photo
photo = max(update.message.photo, key=lambda x: x.file_size)
# Download the photo
photo_file = await context.bot.get_file(photo.file_id)
# Create a temporary file to store the image
with tempfile.NamedTemporaryFile(delete=False, suffix='.jpg') as temp_file:
await photo_file.download_to_drive(custom_path=temp_file.name)
user_images[user_id] = temp_file.name
logging.info(f"Received image from user {user_id}")
await update.message.reply_text("I've received your image. What would you like to know about it?")
async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
try:
user_id = update.effective_user.id
@@ -224,7 +202,6 @@ def main() -> None:
application.add_handler(CommandHandler("switch", switch))
application.add_handler(CommandHandler("toggle", switch_anthropic))
application.add_handler(CommandHandler("status", status))
application.add_handler(MessageHandler(filters.PHOTO, handle_image))
application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))
# Start the Bot
+5
View File
@@ -37,6 +37,11 @@ class GitHubTool(BaseTool):
self.logger.addHandler(file_handler)
self.logger.addHandler(console_handler)
def clear(self):
if (self.current_branch != "main"):
self._set_current_branch("main")
pass
def get_functions(self):
return [
{
+3
View File
@@ -28,6 +28,9 @@ class LogTool(BaseTool):
self.logger.addHandler(file_handler)
self.logger.addHandler(console_handler)
def clear(self):
pass
def get_functions(self):
return [
{