mezoAgent 0.7.1__py3-none-any.whl → 0.7.3__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.
- {mezoAgent-0.7.1.dist-info → mezoAgent-0.7.3.dist-info}/METADATA +1 -1
- {mezoAgent-0.7.1.dist-info → mezoAgent-0.7.3.dist-info}/RECORD +6 -6
- mezo_agent/__init__.py +6 -2
- mezo_agent/twitter_manager.py +63 -0
- {mezoAgent-0.7.1.dist-info → mezoAgent-0.7.3.dist-info}/WHEEL +0 -0
- {mezoAgent-0.7.1.dist-info → mezoAgent-0.7.3.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
|
|
1
|
-
mezo_agent/__init__.py,sha256=
|
1
|
+
mezo_agent/__init__.py,sha256=5OyYPS3Ub5e9H0Jcp5lYg0pjP39DzJjuLwX8oyoqfZk,895
|
2
2
|
mezo_agent/characters.py,sha256=wub7y9BrAAdAKWwcNAdgrvhRi2zHMaZNzTr2y3qtbsw,515
|
3
3
|
mezo_agent/chat.py,sha256=ZtNurUDV7UzJjbFyU96DNGy37hO3gl0osn19mRu7ER8,859
|
4
4
|
mezo_agent/config.py,sha256=6xFgk80eiBLTasKGW73Ne8hNhMtx8BbQ_Ef79YOyDlc,3233
|
@@ -9,10 +9,10 @@ mezo_agent/token_price_tool.py,sha256=vD-ukq0D_4zmjIy9bZ9qL44nGctf-hWzkQuTd-0wy2
|
|
9
9
|
mezo_agent/token_utils.py,sha256=3NH_Z_vbZ0uupuuGjEbmwsbUkubluQbL-0xR9kia7nU,1118
|
10
10
|
mezo_agent/transaction.py,sha256=YpfWrkEaf0YGM_Kc4cFwlT9GmBGZkeJHWm0VGHs9Gks,4199
|
11
11
|
mezo_agent/twitter_client.py,sha256=Va8ZQaK5lZjJUq3-bhIJWnDmX4Mmt4kWRW3aKSGbLq8,3248
|
12
|
-
mezo_agent/twitter_manager.py,sha256=
|
12
|
+
mezo_agent/twitter_manager.py,sha256=KvxiMOhBmQbLuLoVrAQ77DpAnFIdiDSztsKbZ_3-ar4,2363
|
13
13
|
mezo_agent/utils.py,sha256=hsGtL_iXvUVGnY5aHPQ0v6Jejxd4P4qw0yOtS1omToU,1397
|
14
14
|
mezo_agent/data/new_router.json,sha256=A8U-NVfe1F-hDyR90_SuH8jDAxmzyyHWdJW62j9TZsc,26756
|
15
|
-
mezoAgent-0.7.
|
16
|
-
mezoAgent-0.7.
|
17
|
-
mezoAgent-0.7.
|
18
|
-
mezoAgent-0.7.
|
15
|
+
mezoAgent-0.7.3.dist-info/METADATA,sha256=v5lV-XUshSwN69O9nuPHOfpuGYT8zZ38ugGpI2J4Yjs,273
|
16
|
+
mezoAgent-0.7.3.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
17
|
+
mezoAgent-0.7.3.dist-info/top_level.txt,sha256=rrAci_NyTR9z6w_BrQhQrAhzMW_A0NYhVa0x2USl0nQ,11
|
18
|
+
mezoAgent-0.7.3.dist-info/RECORD,,
|
mezo_agent/__init__.py
CHANGED
@@ -5,7 +5,11 @@ from .characters import get_character_prompt
|
|
5
5
|
from .token_balance_tool import mezo_agent_token_balance_tool
|
6
6
|
from .token_price_tool import mezo_agent_token_price_tool
|
7
7
|
from .token_utils import get_token_address_by_symbol
|
8
|
-
|
8
|
+
|
9
|
+
# ✅ Move TwitterManager import inside a function to avoid circular import
|
10
|
+
def get_twitter_manager():
|
11
|
+
from .twitter_manager import TwitterManager
|
12
|
+
return TwitterManager
|
9
13
|
|
10
14
|
__all__ = [
|
11
15
|
"mezo_agent_transaction_btc",
|
@@ -15,6 +19,6 @@ __all__ = [
|
|
15
19
|
"mezo_agent_token_balance_tool",
|
16
20
|
"mezo_agent_token_price_tool",
|
17
21
|
"get_token_address_by_symbol",
|
18
|
-
"
|
22
|
+
"get_twitter_manager",
|
19
23
|
"get_character_prompt"
|
20
24
|
]
|
mezo_agent/twitter_manager.py
CHANGED
@@ -0,0 +1,63 @@
|
|
1
|
+
import os
|
2
|
+
import json
|
3
|
+
|
4
|
+
class TwitterManager:
|
5
|
+
"""
|
6
|
+
Manages Twitter clients for MezoAgent characters.
|
7
|
+
"""
|
8
|
+
|
9
|
+
def __init__(self, config_file="twitter_config.json"):
|
10
|
+
"""
|
11
|
+
Initializes the Twitter Manager.
|
12
|
+
|
13
|
+
:param config_file: The JSON file that stores character Twitter credentials.
|
14
|
+
"""
|
15
|
+
self.config_file = config_file
|
16
|
+
self.characters = {}
|
17
|
+
self.load_characters()
|
18
|
+
|
19
|
+
def load_characters(self):
|
20
|
+
"""
|
21
|
+
Loads characters and their Twitter credentials from a JSON config file.
|
22
|
+
"""
|
23
|
+
if os.path.exists(self.config_file):
|
24
|
+
with open(self.config_file, "r") as f:
|
25
|
+
self.characters = json.load(f)
|
26
|
+
|
27
|
+
def save_characters(self):
|
28
|
+
"""
|
29
|
+
Saves character Twitter credentials to a JSON config file.
|
30
|
+
"""
|
31
|
+
with open(self.config_file, "w") as f:
|
32
|
+
json.dump(self.characters, f, indent=4)
|
33
|
+
|
34
|
+
def add_character(self, character_name: str, api_key: str, api_secret: str, access_token: str, access_secret: str, personality: str):
|
35
|
+
"""
|
36
|
+
Registers a character with Twitter API credentials and starts their Twitter client.
|
37
|
+
|
38
|
+
:param character_name: Name of the character.
|
39
|
+
:param api_key: Twitter API Key.
|
40
|
+
:param api_secret: Twitter API Secret Key.
|
41
|
+
:param access_token: Twitter Access Token.
|
42
|
+
:param access_secret: Twitter Access Token Secret.
|
43
|
+
:param personality: Custom personality description for AI-generated tweets.
|
44
|
+
"""
|
45
|
+
from mezo_agent.twitter_client import TwitterClient # ✅ Move import inside the function
|
46
|
+
|
47
|
+
if character_name in self.characters:
|
48
|
+
print(f"❌ Character '{character_name}' already has a Twitter client.")
|
49
|
+
return
|
50
|
+
|
51
|
+
self.characters[character_name] = {
|
52
|
+
"api_key": api_key,
|
53
|
+
"api_secret": api_secret,
|
54
|
+
"access_token": access_token,
|
55
|
+
"access_secret": access_secret,
|
56
|
+
"personality": personality
|
57
|
+
}
|
58
|
+
self.save_characters()
|
59
|
+
print(f"✅ Character '{character_name}' registered for Twitter with personality!")
|
60
|
+
|
61
|
+
# Start the Twitter client with personality
|
62
|
+
TwitterClient(character_name, api_key, api_secret, access_token, access_secret, personality)
|
63
|
+
|
File without changes
|
File without changes
|