AminoLightPy
Best Amino.py alternative!
Install / Use
/learn @AugustLigh/AminoLightPyREADME
✨ AminoLightPy ✨
<img src="https://github.com/AugustLigh/AminoLightPy/assets/125802350/ba1ae102-dee9-45ab-95c4-f5c5e0249d26" alt="AminoLightPy Banner" width="85%">🚀 Elegant and powerful Python framework for creating AminoApps bots and scripts
📍 Quick Navigation
🔥 Features • ⚡ Quick Start • 📖 Documentation • 🎯 Examples • 💬 Support
</div>🌟 Features
<div align="center"> <table> <tr> <td align="center" width="33%">⚡ Performance
Optimized code with maximum efficiency and minimal resource usage
</td> <td align="center" width="33%">🔄 Compatibility
Seamless backward compatibility with existing Amino bot projects
</td> <td align="center" width="33%">🎮 Rich Commands
Advanced command system with extensive API coverage
</td> </tr> <tr> <td align="center">📱 iOS Support
Works on iPhones without jailbreak or restrictions
</td> <td align="center">🛡️ Reliable
Built-in error handling and connection management
</td> <td align="center">🎨 Flexible
Easy customization for any bot requirements
</td> </tr> </table> </div>⚡ Quick Start
💿 Installation
pip install amino.light.py
🎯 Your First Bot
from AminoLightPy import Client, SubClient, ChatEvent
# Initialize and login
client = Client()
client.login("your_email@gmail.com", "your_password")
@client.event(ChatEvent.TEXT_MESSAGE)
def on_message(data):
if data.message.content.startswith('/hello'):
sub_client = SubClient(comId=data.comId, profile=client.profile)
sub_client.send_message(
chatId=data.message.chatId,
message="👋 Hello! I'm your new Amino bot!"
)
<div align="center">
<i>🎉 That's it! Your bot is now running and ready to respond to messages.</i>
</div>
📖 Documentation
<div align="center">🏗️ Core Components
</div> <details open> <summary><b>🔌 Client - Main Connection Handler</b></summary> <br>The Client class manages your connection to Amino services and handles global operations.
🚀 Initialization
from AminoLightPy import Client
# Basic setup
client = Client()
# Advanced configuration
client = Client(
deviceId="your_device_id",
socket_enabled=True, # Enable real-time events
proxies={"http": "http://proxy.example.com"}
)
🔐 Authentication Options
# Universal login (recommended)
client.login("email@example.com", "password123")
# Specific methods
client.login_email("email@example.com", "password123")
client.login_phone("+1234567890", "password123")
client.login_sid("your_session_id") # Use cached session
⚡ Event System
@client.event(ChatEvent.TEXT_MESSAGE)
def handle_text(data):
print(f"📝 Message: {data.message.content}")
@client.event(ChatEvent.IMAGE_MESSAGE)
def handle_image(data):
print(f"🖼️ Image from: {data.message.author.nickname}")
@client.event(ChatEvent.VOICE_MESSAGE)
def handle_voice(data):
print(f"🎵 Voice message received!")
<div align="center">
🎯 Available Events
| Event | Trigger |
|-------|---------|
| on_text_message | Text messages |
| on_image_message | Image uploads |
| on_voice_message | Voice messages |
| on_youtube_message | YouTube links |
| on_sticker_message | Stickers |
| on_join_chat | User joins chat |
| on_leave_chat | User leaves chat |
The SubClient handles all community-specific actions and messaging.
🎯 Setup
sub_client = SubClient(comId=123456, profile=client.profile)
💬 Messaging
# Send text message
sub_client.send_message(chatId="chat_id", message="Hello World! 🌍")
# Send image with caption
with open("image.jpg", "rb") as img:
sub_client.send_message(
chatId="chat_id",
message="Check this out! 📸",
file=img
)
# Mention users
sub_client.send_message(
chatId="chat_id",
message="Hey @user, look at this! 👋",
mentionUserIds=["user_id_here"]
)
💾 Rich Content
# Embed links with preview
from base64 import b64encode
with open("preview.jpg", "rb") as preview:
sub_client.send_message(
chatId="chat_id",
message="Amazing content! ✨",
linkSnippet=[{
"link": "https://example.com",
"mediaType": 100,
"mediaUploadValue": b64encode(preview.read()).decode(),
"mediaUploadValueContentType": "image/jpeg"
}]
)
🎨 Content Creation
# Create blog post
sub_client.post_blog(
title="🌟 My Amazing Blog Post",
content="This is where I share my thoughts...",
imageList=[open("img1.png", "rb"), open("img2.png", "rb")]
)
# Create wiki entry
sub_client.post_wiki(
title="📚 Helpful Wiki",
content="Everything you need to know about...",
icon=open("wiki_icon.png", "rb")
)
🎭 Interactive Features
# Show typing indicator
with sub_client.typing(chatId="chat_id"):
# Simulate thinking time
time.sleep(2)
sub_client.send_message(chatId="chat_id", message="Done thinking! 💭")
# Show recording indicator
with sub_client.recording(chatId="chat_id"):
time.sleep(3) # Prepare voice message
with open("voice.mp3", "rb") as voice:
sub_client.send_message(
chatId="chat_id",
file=voice,
fileType="audio"
)
</details>
<details open>
<summary><b>👑 Moderation Tools (Staff Only)</b></summary>
<br>
Advanced moderation features for community leaders and staff.
# Content moderation
sub_client.hide(blogId="blog_id", reason="Inappropriate content")
sub_client.feature(time=3, blogId="blog_id") # Feature for 3 hours
sub_client.unfeature(blogId="blog_id")
# User management
sub_client.ban(userId="user_id", reason="Spam violation")
sub_client.unban(userId="user_id", reason="Appeal approved")
sub_client.strike(
userId="user_id",
time=24,
title="Community Guidelines",
reason="Inappropriate behavior"
)
sub_client.warn(userId="user_id", reason="Minor rule violation")
</details>
🎯 Examples
<div align="center">🤖 Bot Examples
</div> <details open> <summary><b>🎮 Command Bot</b></summary>from AminoLightPy import Client, SubClient
import random
client = Client()
client.login("email", "password")
commands = {
'/help': '📋 Available commands:\n/dice - Roll a dice\n/joke - Get a random joke',
'/dice': lambda: f'🎲 You rolled: {random.randint(1, 6)}!',
'/joke': lambda: random.choice([
"Why do programmers prefer dark mode? Because light attracts bugs! 🐛",
"How many programmers does it take to change a light bulb? None, that's a hardware problem! 💡"
])
}
@client.event(ChatEvent.TEXT_MESSAGE)
def handle_command(data):
message = data.message.content.lower()
if message in commands:
sub_client = SubClient(comId=data.comId, profile=client.profile)
response = commands[message]
if callable(response):
response = response()
sub_client.send_message(
chatId=data.message.chatId,
message=response
)
</details>
<details open>
<summary><b>🎨 Welcome Bot</b></summary>
@client.event(ChatEvent.USER_JOINED)
def welcome_user(data):
sub_client = SubClient(comId=data.comId, profile=client.profile)
welcome_message = f"""
🎉 Welcome to our community, {data.message.author.nickname}!
📝 Please read our guidelines
💬 Feel free to introduce yourself
🤝 Have fun and be respectful!
"""
sub_client.send_message(
chatId=data.message.chatId,
message=welcome_message
)
</details>
<details open>
<summary><b>🔄 Auto-Responder</b></summary>
auto_responses = {
'hello': '👋 Hello there! How can I help you today?',
'bye': '👋 Goodbye! Have a great day!',
'thanks': '😊 You\'re welcome! Happy to help!',
}
@client.event(ChatEvent.TEXT_MESSAGE)
def auto_respond(data):
message = data.message.content.lower()
for keyword, response in auto_responses.items():
if keyword in message:
sub_client = SubClient(comId=data.comId, profile=client.profile)
sub_client.send_message(
chatId=data.message.chatId,
message=response
)
break
</details>
💬 Support
<div align="center">🤝 Get Help & Connect
<table> <tr> <td align="center">💬 Telegram <br> @augustlight
</td> <td align="center">💙 Discord <br> engineer48
</td> <td align="center">📚 Documentation <br> ReadTheDocs
</td> </tr> </table> </div>🎖️ Contributing
We welcome contributions! Whether it's:
- 🐛 Bug reports
- ✨ Feature requests
- 📝 Documentation improvements
- 🔧 Code contributions
📜 License
Th
