chatbotai-gui 2.0.0__py3-none-any.whl → 2.1.0.post2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- chatai/chatbotgui.py +11 -6
- {chatbotai_gui-2.0.0.dist-info → chatbotai_gui-2.1.0.post2.dist-info}/METADATA +35 -6
- chatbotai_gui-2.1.0.post2.dist-info/RECORD +7 -0
- chatbotai_gui-2.0.0.dist-info/RECORD +0 -7
- {chatbotai_gui-2.0.0.dist-info → chatbotai_gui-2.1.0.post2.dist-info}/WHEEL +0 -0
- {chatbotai_gui-2.0.0.dist-info → chatbotai_gui-2.1.0.post2.dist-info}/top_level.txt +0 -0
chatai/chatbotgui.py
CHANGED
@@ -7,6 +7,7 @@ import os
|
|
7
7
|
from meta_ai_api import MetaAI
|
8
8
|
import openai as openai
|
9
9
|
import anthropic # Anthropic API import for Claude
|
10
|
+
from PIL import Image as InternalspilImage,ImageTk as InternalspilImageTk
|
10
11
|
|
11
12
|
class SoftwareInterpreter:
|
12
13
|
def __init__(self, ai_type="meta", api_key=None, font="Arial", openai_maxtoken=250):
|
@@ -34,7 +35,7 @@ class SoftwareInterpreter:
|
|
34
35
|
self.claude = anthropic.Anthropic(api_key=self.api_key)
|
35
36
|
self.model = "claude-3-7-sonnet-20250219" # Default model for Claude
|
36
37
|
else:
|
37
|
-
raise ValueError("Unsupported AI type. Choose from 'gemini', 'meta', 'chatgpt',
|
38
|
+
raise ValueError("Unsupported AI type. Choose from 'gemini', 'meta', 'chatgpt', or 'claude'.")
|
38
39
|
|
39
40
|
def get_installed_fonts(self):
|
40
41
|
"""Returns a list of all installed fonts on the system."""
|
@@ -97,7 +98,7 @@ class SoftwareInterpreter:
|
|
97
98
|
|
98
99
|
def switch_bot(self, bot_type):
|
99
100
|
"""Switch between bots."""
|
100
|
-
if bot_type in ["gemini", "meta", "chatgpt",
|
101
|
+
if bot_type in ["gemini", "meta", "chatgpt", "claude"]:
|
101
102
|
self.ai_type = bot_type
|
102
103
|
self.configure_ai()
|
103
104
|
return f"Switched to {bot_type} bot."
|
@@ -116,17 +117,21 @@ class SoftwareInterpreter:
|
|
116
117
|
"/say <message> - Send a custom message without bot processing.\n"
|
117
118
|
"/font <set/list/search> - Change, list, or search fonts.\n"
|
118
119
|
"/apikey <API_KEY> - Set or view the current API key.\n"
|
119
|
-
"/switch <bot_name> - Switch between 'gemini', 'meta', 'chatgpt',
|
120
|
+
"/switch <bot_name> - Switch between 'gemini', 'meta', 'chatgpt', or 'claude' bots.\n"
|
120
121
|
"/model <set> - Set AI model to the specified model.\n"
|
121
122
|
"/help - Show this help message."
|
122
123
|
)
|
123
124
|
|
124
125
|
|
125
126
|
class ChatbotApp:
|
126
|
-
def __init__(self, root=None):
|
127
|
+
def __init__(self, root=None, title="ChatBotAi-GUI",icon=os.path.dirname(__file__) + "/defaulticon.png"):
|
127
128
|
self.root = root or tk.Tk() # If root is provided, use it; otherwise create a new Tk instance.
|
128
|
-
self.
|
129
|
-
|
129
|
+
self.title=title
|
130
|
+
self.root.title(self.title)
|
131
|
+
self.iconfile=icon
|
132
|
+
self.icondata= InternalspilImage.open(self.iconfile)
|
133
|
+
photo = InternalspilImageTk.PhotoImage(self.icondata)
|
134
|
+
self.root.wm_iconphoto(False, photo)
|
130
135
|
# Create the chat area and set it to be non-editable
|
131
136
|
self.chat_area = tk.Text(self.root, state=tk.DISABLED, wrap=tk.WORD, height=20, width=50)
|
132
137
|
self.chat_area.pack(padx=10, pady=10, expand=True, fill=tk.BOTH)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: chatbotai-gui
|
3
|
-
Version: 2.0.
|
3
|
+
Version: 2.1.0.post2
|
4
4
|
Summary: A chatbot GUI that uses OpenAI, MetaAI, and Google Generative AI.
|
5
5
|
Author: ProgMEM-CC
|
6
6
|
License: AGPL-3.0-or-later
|
@@ -20,11 +20,11 @@ Requires-Dist: isort; extra == "dev"
|
|
20
20
|
ChatbotAI-GUI
|
21
21
|
=============
|
22
22
|
|
23
|
-
**ChatbotAI-GUI** is a graphical user interface (GUI) chatbot that integrates multiple AI models, including OpenAI, Meta AI,
|
23
|
+
**ChatbotAI-GUI** is a graphical user interface (GUI) chatbot that integrates multiple AI models, including OpenAI, Meta AI, Google Generative AI, and Anthropic Claude. This package allows users to interact with different AI models seamlessly through a single application.
|
24
24
|
|
25
25
|
✨ Features
|
26
26
|
------------
|
27
|
-
- Supports **OpenAI**, **Meta AI API**,
|
27
|
+
- Supports **OpenAI**, **Meta AI API**, **Google Generative AI**, and **Anthropic Claude**.
|
28
28
|
- Simple and intuitive GUI for easy interaction.
|
29
29
|
- Extensible and customizable for different chatbot implementations.
|
30
30
|
|
@@ -55,21 +55,50 @@ Or in a Python script:
|
|
55
55
|
|
56
56
|
📝 Configuration
|
57
57
|
----------------
|
58
|
-
|
58
|
+
The chatbot uses a software interpreter to process API keys and select the AI model on launch.
|
59
|
+
You can also configure the application's title and icon using the `ChatbotApp` class.
|
60
|
+
|
61
|
+
After launching the GUI, you can use the `/help` command to see available commands.
|
62
|
+
|
63
|
+
Example configuration:
|
59
64
|
|
60
65
|
.. code-block:: python
|
61
66
|
|
62
67
|
from chatai.chatbotgui import ChatbotApp, SoftwareInterpreter
|
63
68
|
|
64
|
-
app = ChatbotApp()
|
69
|
+
app = ChatbotApp(title="ExampleTitle", icon="icon.png")
|
65
70
|
app.chatbot = SoftwareInterpreter(
|
66
71
|
api_key="YOUR_API_KEY_HERE",
|
67
|
-
ai_type="GEMINI", # Choose from "GEMINI", "CHATGPT", "META"
|
72
|
+
ai_type="GEMINI", # Choose from "GEMINI", "CHATGPT", "META", or "Claude"
|
68
73
|
font="Arial",
|
69
74
|
openai_maxtoken=250,
|
70
75
|
)
|
71
76
|
app.run()
|
72
77
|
|
78
|
+
🛠 Commands
|
79
|
+
------------
|
80
|
+
Here are the available commands:
|
81
|
+
|
82
|
+
.. code-block:: text
|
83
|
+
|
84
|
+
/mute - Mute or unmute the bot.
|
85
|
+
/say <message> - Send a custom message without bot processing.
|
86
|
+
/font <set/list/search> - Change, list, or search fonts.
|
87
|
+
/apikey <API_KEY> - Set or view the current API key.
|
88
|
+
/switch <bot_name> - Switch between 'gemini', 'meta', 'chatgpt', or 'claude'.
|
89
|
+
/model <set> - Set the AI model to the specified model.
|
90
|
+
/help - Show this help message.
|
91
|
+
|
92
|
+
⚙️ Advanced Configuration
|
93
|
+
-------------------------
|
94
|
+
For advanced users, replacing the root window is allowed:
|
95
|
+
|
96
|
+
.. code-block:: python
|
97
|
+
|
98
|
+
import tkinter as tk
|
99
|
+
app = ChatbotApp(root=tk.Tk())
|
100
|
+
app.run()
|
101
|
+
|
73
102
|
📜 License
|
74
103
|
-----------
|
75
104
|
This project is licensed under **AGPL-3.0-or-later**. See the `LICENSE` file for more details.
|
@@ -0,0 +1,7 @@
|
|
1
|
+
chatai/__init__.py,sha256=2xKUBq0-tjLn88n92IOS0eNZIgywDxHfZTY9w-Zgxbo,3282
|
2
|
+
chatai/__main__.py,sha256=4tAOzUAJrsa3st202WTvfNPsKh0LVXs8BD-JA1ar_rA,168
|
3
|
+
chatai/chatbotgui.py,sha256=KR6aoBMAboQt-2hyqGlFNEuSV07SFLWbJgZRyfYTPvo,9337
|
4
|
+
chatbotai_gui-2.1.0.post2.dist-info/METADATA,sha256=QBNZh3gOkIxvDxbLXIi5x7Q8uw7FnK-VebweeHM08io,3016
|
5
|
+
chatbotai_gui-2.1.0.post2.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
|
6
|
+
chatbotai_gui-2.1.0.post2.dist-info/top_level.txt,sha256=HDCQB7_6yio4QMbTcjAN9lFfqE3SGdOjJ-o7wtMtypM,7
|
7
|
+
chatbotai_gui-2.1.0.post2.dist-info/RECORD,,
|
@@ -1,7 +0,0 @@
|
|
1
|
-
chatai/__init__.py,sha256=2xKUBq0-tjLn88n92IOS0eNZIgywDxHfZTY9w-Zgxbo,3282
|
2
|
-
chatai/__main__.py,sha256=4tAOzUAJrsa3st202WTvfNPsKh0LVXs8BD-JA1ar_rA,168
|
3
|
-
chatai/chatbotgui.py,sha256=5zWh451JMeEx6-L24LJT-edW3SJY_5tN7ulu4wOSiVs,9013
|
4
|
-
chatbotai_gui-2.0.0.dist-info/METADATA,sha256=CDghaqNEWyoG2eoxCnMZqGDzJdMes1u_IFJx_WKXsNM,2008
|
5
|
-
chatbotai_gui-2.0.0.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
|
6
|
-
chatbotai_gui-2.0.0.dist-info/top_level.txt,sha256=HDCQB7_6yio4QMbTcjAN9lFfqE3SGdOjJ-o7wtMtypM,7
|
7
|
-
chatbotai_gui-2.0.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|