mc5-api-client 1.0.6__tar.gz → 1.0.8__tar.gz
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.
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/CHANGELOG.md +130 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/PKG-INFO +141 -4
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/README.md +140 -3
- mc5_api_client-1.0.8/examples/advanced_automation.py +287 -0
- mc5_api_client-1.0.8/examples/simple_usage.py +198 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/pyproject.toml +1 -1
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/src/mc5_api_client/__init__.py +19 -1
- mc5_api_client-1.0.8/src/mc5_api_client/simple_client.py +570 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/src/mc5_api_client.egg-info/PKG-INFO +141 -4
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/src/mc5_api_client.egg-info/SOURCES.txt +3 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/.gitignore +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/LICENSE +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/MANIFEST.in +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/examples/advanced_features.py +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/examples/basic_usage.py +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/examples/clan_management.py +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/examples/clan_management_complete.py +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/examples/events_and_tasks.py +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/examples/message_management.py +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/examples/player_stats.py +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/examples/private_messaging.py +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/examples/squad_management.py +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/examples/squad_wall_management.py +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/pytest.ini +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/requirements-dev.txt +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/requirements.txt +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/setup.cfg +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/setup.py +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/src/mc5_api_client/auth.py +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/src/mc5_api_client/cli.py +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/src/mc5_api_client/client.py +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/src/mc5_api_client/exceptions.py +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/src/mc5_api_client/py.typed +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/src/mc5_api_client.egg-info/dependency_links.txt +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/src/mc5_api_client.egg-info/entry_points.txt +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/src/mc5_api_client.egg-info/not-zip-safe +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/src/mc5_api_client.egg-info/requires.txt +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/src/mc5_api_client.egg-info/top_level.txt +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/tests/__init__.py +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/tests/test_auth.py +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/tests/test_cli.py +0 -0
- {mc5_api_client-1.0.6 → mc5_api_client-1.0.8}/tests/test_client.py +0 -0
|
@@ -5,6 +5,136 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.0.8] - 2026-02-03
|
|
9
|
+
|
|
10
|
+
### 🤖 Major Release - Advanced Automation & Loop-Based Operations
|
|
11
|
+
|
|
12
|
+
#### 🔄 Revolutionary Loop-Based Operations
|
|
13
|
+
- ✅ **Batch Search**: Search multiple players with automatic loops and conditional processing
|
|
14
|
+
- ✅ **Smart Clan Cleanup**: Intelligent member management with safety checks and conditional logic
|
|
15
|
+
- ✅ **Real-time Monitoring**: While loops for continuous clan activity tracking with alerts
|
|
16
|
+
- ✅ **Automated Workflows**: Complete automation sequences with decision-making capabilities
|
|
17
|
+
- ✅ **Conditional Processing**: Smart filtering based on player stats, level, and activity
|
|
18
|
+
|
|
19
|
+
#### 🧠 Advanced Conditional Logic System
|
|
20
|
+
- ✅ **Safety Checks**: Protect high-level members (configurable level thresholds)
|
|
21
|
+
- ✅ **Role Protection**: Safeguard leaders, admins, and officers from automated actions
|
|
22
|
+
- ✅ **Dynamic Decisions**: Make intelligent choices based on clan composition and statistics
|
|
23
|
+
- ✅ **Error Recovery**: Graceful handling of failures with continue/break logic
|
|
24
|
+
- ✅ **Smart Filtering**: Categorize members automatically (elite, active, veterans, newbies, inactive)
|
|
25
|
+
|
|
26
|
+
#### 📊 New Advanced Functions
|
|
27
|
+
- ✅ **batch_search_players()**: Search multiple dogtags with loop and conditional processing
|
|
28
|
+
- ✅ **clan_cleanup()**: Comprehensive clan analysis with intelligent recommendations
|
|
29
|
+
- ✅ **monitor_clan_activity()**: Real-time monitoring with while loops and conditional alerts
|
|
30
|
+
- ✅ **get_inactive_members()**: Identify inactive members with configurable criteria
|
|
31
|
+
- ✅ **auto_kick_inactive_members()**: Safe automated kicking with dry-run mode
|
|
32
|
+
|
|
33
|
+
#### 🎯 Advanced Use Cases Enabled
|
|
34
|
+
- ✅ **Elite Player Recruitment**: Batch search and filter for high-kill players
|
|
35
|
+
- ✅ **Clan Health Analysis**: Calculate health scores and provide recommendations
|
|
36
|
+
- ✅ **Activity Trend Monitoring**: Track clan activity patterns over time
|
|
37
|
+
- ✅ **Automated Member Management**: Smart categorization and processing
|
|
38
|
+
- ✅ **Performance Metrics**: Statistical analysis and reporting
|
|
39
|
+
|
|
40
|
+
#### 🔧 Technical Improvements
|
|
41
|
+
- ✅ **Enhanced Error Handling**: Robust try-catch blocks with graceful recovery
|
|
42
|
+
- ✅ **Memory Management**: Automatic cleanup and resource management
|
|
43
|
+
- ✅ **Performance Optimization**: Efficient batch processing and lazy loading
|
|
44
|
+
- ✅ **Safety Features**: Dry-run modes and protection mechanisms
|
|
45
|
+
- ✅ **Documentation**: Complete examples and advanced usage guides
|
|
46
|
+
|
|
47
|
+
#### 📚 Comprehensive Documentation
|
|
48
|
+
- ✅ **Advanced Examples**: Complete automation examples with loops and conditionals
|
|
49
|
+
- ✅ **Use Case Scenarios**: Real-world applications for clan management
|
|
50
|
+
- ✅ **Safety Guidelines**: Best practices for automated operations
|
|
51
|
+
- ✅ **Technical Reference**: Detailed function documentation
|
|
52
|
+
|
|
53
|
+
#### 🎮 Real-World Automation Examples
|
|
54
|
+
```python
|
|
55
|
+
# Batch search with conditional logic
|
|
56
|
+
results = batch_search_players(['f55f', '9gg9', '218f'], username, password)
|
|
57
|
+
for player in results['found']:
|
|
58
|
+
if player['kills'] > 10000:
|
|
59
|
+
print(f"🌟 Elite: {player['dogtag']} - {player['kills']:,} kills")
|
|
60
|
+
|
|
61
|
+
# Smart clan cleanup with safety
|
|
62
|
+
results = clan_cleanup(username, password, inactive_days=30, min_level=15, dry_run=True)
|
|
63
|
+
if results['would_kick'] > 0:
|
|
64
|
+
print("⚠️ Consider removing inactive members")
|
|
65
|
+
|
|
66
|
+
# Real-time monitoring with while loops
|
|
67
|
+
monitor_clan_activity(username, password, check_interval=60, max_checks=10)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
#### 🛡️ Safety & Protection Features
|
|
71
|
+
- ✅ **Dry Run Mode**: Test operations without executing actual changes
|
|
72
|
+
- ✅ **Level Thresholds**: Configurable minimum level protection
|
|
73
|
+
- ✅ **Role Protection**: Automatic safeguarding of important clan roles
|
|
74
|
+
- ✅ **Conditional Logic**: Smart decision-making to prevent mistakes
|
|
75
|
+
- ✅ **Error Boundaries**: Isolated failure handling for individual operations
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
### 🎮 Major Release - User-Friendly Interface for Non-Developers
|
|
80
|
+
|
|
81
|
+
#### 🌟 SimpleMC5Client - Revolutionary Easy Interface
|
|
82
|
+
- ✅ **New SimpleMC5Client**: Designed specifically for non-developers
|
|
83
|
+
- ✅ **Auto-Clan Detection**: Automatically finds clan ID from user profile
|
|
84
|
+
- ✅ **Simplified Method Names**: `search_player()` instead of `get_player_stats_by_dogtag()`
|
|
85
|
+
- ✅ **One-Liner Functions**: `quick_search()` and `quick_kick()` for instant results
|
|
86
|
+
- ✅ **Context Manager Support**: Automatic cleanup with `with` statements
|
|
87
|
+
- ✅ **Lazy Authentication**: Only connects when needed, not on initialization
|
|
88
|
+
- ✅ **User-Friendly Error Messages**: Clear, helpful explanations for beginners
|
|
89
|
+
|
|
90
|
+
#### 📚 Comprehensive Documentation for Beginners
|
|
91
|
+
- ✅ **User Friendly Guide**: Complete beginner's guide with step-by-step instructions
|
|
92
|
+
- ✅ **Simple Usage Examples**: Copy-paste ready code for common tasks
|
|
93
|
+
- ✅ **Syntax Comparison Table**: Simple vs Advanced methods side-by-side
|
|
94
|
+
- ✅ **FAQ Section**: Common questions and answers for non-developers
|
|
95
|
+
- ✅ **Real-World Examples**: Clan management, player search, messaging
|
|
96
|
+
|
|
97
|
+
#### 🎯 Perfect for Non-Technical Users
|
|
98
|
+
- ✅ **Clan Leaders**: Easy member management without technical knowledge
|
|
99
|
+
- ✅ **Players**: Quick stats lookup with just a dogtag
|
|
100
|
+
- ✅ **Beginners**: No programming experience required
|
|
101
|
+
- ✅ **Quick Tasks**: One-liner functions for common operations
|
|
102
|
+
|
|
103
|
+
#### 📊 Simple vs Advanced Comparison
|
|
104
|
+
| Task | Simple Version | Advanced Version |
|
|
105
|
+
|------|----------------|------------------|
|
|
106
|
+
| Search Player | `client.search_player('f55f')` | `client.get_player_stats_by_dogtag('f55f')` |
|
|
107
|
+
| Get Clan Members | `client.get_clan_members()` | `client.get_clan_members(clan_id)` |
|
|
108
|
+
| Kick Member | `client.kick_member('9gg9')` | `client.kick_clan_member_by_dogtag('9gg9', clan_id)` |
|
|
109
|
+
| Connect | `client.connect()` | Manual authentication |
|
|
110
|
+
|
|
111
|
+
#### 🔧 Technical Improvements
|
|
112
|
+
- ✅ **Backward Compatibility**: All existing advanced features still available
|
|
113
|
+
- ✅ **Graceful Error Handling**: User-friendly error messages
|
|
114
|
+
- ✅ **Memory Management**: Automatic connection cleanup
|
|
115
|
+
- ✅ **Import Updates**: SimpleMC5Client added to main package exports
|
|
116
|
+
|
|
117
|
+
#### 🎮 Real-World Usage Examples
|
|
118
|
+
```python
|
|
119
|
+
# Super simple - just 3 lines!
|
|
120
|
+
from mc5_api_client import SimpleMC5Client
|
|
121
|
+
client = SimpleMC5Client('YOUR_USERNAME', 'YOUR_PASSWORD')
|
|
122
|
+
client.connect()
|
|
123
|
+
player = client.search_player('f55f')
|
|
124
|
+
|
|
125
|
+
# One-liner search
|
|
126
|
+
from mc5_api_client import quick_search
|
|
127
|
+
player = quick_search('218f', 'YOUR_USERNAME', 'YOUR_PASSWORD')
|
|
128
|
+
|
|
129
|
+
# Easy clan management
|
|
130
|
+
with SimpleMC5Client('YOUR_USERNAME', 'YOUR_PASSWORD') as client:
|
|
131
|
+
client.connect() # Auto-finds your clan!
|
|
132
|
+
members = client.get_clan_members()
|
|
133
|
+
client.kick_member('9gg9', 'Inactive for 30 days')
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
8
138
|
## [1.0.5] - 2026-02-03
|
|
9
139
|
|
|
10
140
|
### 🔧 Critical Bug Fix
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mc5_api_client
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.8
|
|
4
4
|
Summary: A comprehensive Python library for interacting with the Modern Combat 5 API
|
|
5
5
|
Home-page: https://pypi.org/project/mc5-api-client/
|
|
6
6
|
Author: Chizoba
|
|
@@ -102,14 +102,26 @@ Think of this as your remote control for Modern Combat 5! Here's what you can do
|
|
|
102
102
|
- 🖥️ **Modern CLI**: A beautiful command-line tool with colors and emojis
|
|
103
103
|
- 🔄 **Auto-Refresh**: Tokens refresh automatically - no interruptions!
|
|
104
104
|
- 🛡️ **Error Handling**: Get helpful error messages when things go wrong
|
|
105
|
+
- 🎮 **NEW: Simple Interface**: Perfect for non-developers with auto-clan detection!
|
|
106
|
+
- ⚡ **NEW: One-Liner Functions**: Quick search and kick operations!
|
|
107
|
+
- 🎯 **NEW: User-Friendly**: Designed for beginners and clan leaders!
|
|
105
108
|
|
|
106
109
|
## � Installation & Publishing
|
|
107
110
|
|
|
108
|
-
### 🎉 MC5 API Client v1.0.
|
|
111
|
+
### 🎉 MC5 API Client v1.0.7 - Revolutionary User-Friendly Interface!
|
|
109
112
|
|
|
110
113
|
### ✅ **Major Enhancements Completed!**
|
|
111
114
|
|
|
112
|
-
|
|
115
|
+
**� Revolutionary Simple Interface (NEW in v1.0.7):**
|
|
116
|
+
- ✅ **SimpleMC5Client**: Designed specifically for non-developers
|
|
117
|
+
- ✅ **Auto-Clan Detection**: Automatically finds clan ID from your profile
|
|
118
|
+
- ✅ **One-Liner Functions**: `quick_search()` and `quick_kick()` for instant results
|
|
119
|
+
- ✅ **Simplified Method Names**: `search_player()` instead of complex technical names
|
|
120
|
+
- ✅ **Context Manager Support**: Automatic cleanup with `with` statements
|
|
121
|
+
- ✅ **User-Friendly Documentation**: Complete beginner's guide with examples
|
|
122
|
+
- ✅ **No Technical Knowledge Required**: Perfect for clan leaders and players
|
|
123
|
+
|
|
124
|
+
**� Complete Clan Management Suite:**
|
|
113
125
|
- ✅ **Profile Management**: Get/update player profiles with groups and credentials
|
|
114
126
|
- ✅ **Clan Operations**: Get clan info, members, settings with full CRUD operations
|
|
115
127
|
- ✅ **Member Management**: Invite, kick, promote, demote members with detailed stats
|
|
@@ -136,7 +148,132 @@ Think of this as your remote control for Modern Combat 5! Here's what you can do
|
|
|
136
148
|
pip install mc5_api_client
|
|
137
149
|
```
|
|
138
150
|
|
|
139
|
-
✅ **Published and Available!** The MC5 API Client v1.0.
|
|
151
|
+
✅ **Published and Available!** The MC5 API Client v1.0.7 is now live on PyPI with revolutionary user-friendly features for non-developers!
|
|
152
|
+
|
|
153
|
+
## 🎮 **Simple Usage for Non-Developers**
|
|
154
|
+
|
|
155
|
+
New in v1.0.7! We've added a revolutionary super-simple interface for non-developers:
|
|
156
|
+
|
|
157
|
+
### **🚀 Quick Start - Just 3 Lines!**
|
|
158
|
+
|
|
159
|
+
```python
|
|
160
|
+
from mc5_api_client import SimpleMC5Client
|
|
161
|
+
|
|
162
|
+
# Connect and auto-detect your clan
|
|
163
|
+
client = SimpleMC5Client('YOUR_USERNAME', 'YOUR_PASSWORD')
|
|
164
|
+
client.connect()
|
|
165
|
+
|
|
166
|
+
# Search for any player by dogtag
|
|
167
|
+
player = client.search_player('f55f')
|
|
168
|
+
print(f"Found: {player['kills']:,} kills")
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### **🎯 Super Simple Examples:**
|
|
172
|
+
|
|
173
|
+
**Search Players:**
|
|
174
|
+
```python
|
|
175
|
+
# One-line search
|
|
176
|
+
from mc5_api_client import quick_search
|
|
177
|
+
player = quick_search('218f', 'YOUR_USERNAME', 'YOUR_PASSWORD')
|
|
178
|
+
print(f"Elite player: {player['kills']:,} kills!")
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**Batch Search with Loop:**
|
|
182
|
+
```python
|
|
183
|
+
from mc5_api_client.simple_client import batch_search_players
|
|
184
|
+
|
|
185
|
+
dogtags = ['f55f', '9gg9', '78d7', '218f']
|
|
186
|
+
results = batch_search_players(dogtags, 'YOUR_USERNAME', 'YOUR_PASSWORD')
|
|
187
|
+
|
|
188
|
+
# Conditional processing
|
|
189
|
+
for player in results['found']:
|
|
190
|
+
if player['kills'] > 10000:
|
|
191
|
+
print(f"🌟 Elite: {player['dogtag']} - {player['kills']:,} kills")
|
|
192
|
+
else:
|
|
193
|
+
print(f"👤 Player: {player['dogtag']} - {player['kills']:,} kills")
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**Smart Clan Cleanup:**
|
|
197
|
+
```python
|
|
198
|
+
from mc5_api_client.simple_client import clan_cleanup
|
|
199
|
+
|
|
200
|
+
# Intelligent cleanup with conditional logic
|
|
201
|
+
results = clan_cleanup(
|
|
202
|
+
'YOUR_USERNAME', 'YOUR_PASSWORD',
|
|
203
|
+
inactive_days=30,
|
|
204
|
+
min_level=15, # Protect high-level players
|
|
205
|
+
dry_run=True # Simulation only
|
|
206
|
+
)
|
|
207
|
+
|
|
208
|
+
print(f"Would kick: {results['would_kick']} members")
|
|
209
|
+
print(f"Protected: {results['protected']} members")
|
|
210
|
+
|
|
211
|
+
if results['would_kick'] > 0:
|
|
212
|
+
print("⚠️ Consider removing inactive members")
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
**Real-time Monitoring:**
|
|
216
|
+
```python
|
|
217
|
+
from mc5_api_client.simple_client import monitor_clan_activity
|
|
218
|
+
|
|
219
|
+
# Monitor clan activity every 60 seconds for 10 checks
|
|
220
|
+
monitor_clan_activity(
|
|
221
|
+
'YOUR_USERNAME', 'YOUR_PASSWORD',
|
|
222
|
+
check_interval=60,
|
|
223
|
+
max_checks=10
|
|
224
|
+
)
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**Clan Management:**
|
|
228
|
+
```python
|
|
229
|
+
with SimpleMC5Client('YOUR_USERNAME', 'YOUR_PASSWORD') as client:
|
|
230
|
+
client.connect() # Auto-detects your clan!
|
|
231
|
+
|
|
232
|
+
# Get all clan members
|
|
233
|
+
members = client.get_clan_members()
|
|
234
|
+
print(f"Your clan has {len(members)} members")
|
|
235
|
+
|
|
236
|
+
# Kick by dogtag (no clan ID needed!)
|
|
237
|
+
client.kick_member('9gg9', 'Inactive for 30 days')
|
|
238
|
+
|
|
239
|
+
# Update clan settings
|
|
240
|
+
client.update_clan_settings(name="Elite Squad 2026")
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
**Send Messages:**
|
|
244
|
+
```python
|
|
245
|
+
with SimpleMC5Client('YOUR_USERNAME', 'YOUR_PASSWORD') as client:
|
|
246
|
+
client.connect()
|
|
247
|
+
|
|
248
|
+
# Send message to any player by dogtag
|
|
249
|
+
client.send_message('f55f', 'Want to play together?')
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
### **✨ Key Benefits for Non-Developers:**
|
|
253
|
+
|
|
254
|
+
- ✅ **No Clan ID Needed**: Auto-detects your clan from your profile
|
|
255
|
+
- ✅ **Simple Method Names**: `search_player()` instead of `get_player_stats_by_dogtag()`
|
|
256
|
+
- ✅ **Auto-Connection**: Just call `connect()` once
|
|
257
|
+
- ✅ **Clear Error Messages**: User-friendly error descriptions
|
|
258
|
+
- ✅ **Context Manager**: Automatic cleanup with `with` statement
|
|
259
|
+
- ✅ **Quick Functions**: One-liners for common tasks
|
|
260
|
+
|
|
261
|
+
### **📚 Simple vs Advanced Comparison:**
|
|
262
|
+
|
|
263
|
+
| Task | Simple Version | Advanced Version |
|
|
264
|
+
|------|----------------|------------------|
|
|
265
|
+
| Search Player | `client.search_player('f55f')` | `client.get_player_stats_by_dogtag('f55f')` |
|
|
266
|
+
| Get Clan Members | `client.get_clan_members()` | `client.get_clan_members(clan_id)` |
|
|
267
|
+
| Kick Member | `client.kick_member('9gg9')` | `client.kick_clan_member_by_dogtag('9gg9', clan_id)` |
|
|
268
|
+
| Connect | `client.connect()` | Manual authentication |
|
|
269
|
+
|
|
270
|
+
### **🎯 Perfect For:**
|
|
271
|
+
- **Clan Leaders**: Easy member management
|
|
272
|
+
- **Players**: Quick stats lookup
|
|
273
|
+
- **Beginners**: No programming experience needed
|
|
274
|
+
- **Quick Tasks**: One-liner functions
|
|
275
|
+
|
|
276
|
+
---
|
|
140
277
|
|
|
141
278
|
### 📦 Install from Local Package
|
|
142
279
|
|
|
@@ -24,14 +24,26 @@ Think of this as your remote control for Modern Combat 5! Here's what you can do
|
|
|
24
24
|
- 🖥️ **Modern CLI**: A beautiful command-line tool with colors and emojis
|
|
25
25
|
- 🔄 **Auto-Refresh**: Tokens refresh automatically - no interruptions!
|
|
26
26
|
- 🛡️ **Error Handling**: Get helpful error messages when things go wrong
|
|
27
|
+
- 🎮 **NEW: Simple Interface**: Perfect for non-developers with auto-clan detection!
|
|
28
|
+
- ⚡ **NEW: One-Liner Functions**: Quick search and kick operations!
|
|
29
|
+
- 🎯 **NEW: User-Friendly**: Designed for beginners and clan leaders!
|
|
27
30
|
|
|
28
31
|
## � Installation & Publishing
|
|
29
32
|
|
|
30
|
-
### 🎉 MC5 API Client v1.0.
|
|
33
|
+
### 🎉 MC5 API Client v1.0.7 - Revolutionary User-Friendly Interface!
|
|
31
34
|
|
|
32
35
|
### ✅ **Major Enhancements Completed!**
|
|
33
36
|
|
|
34
|
-
|
|
37
|
+
**� Revolutionary Simple Interface (NEW in v1.0.7):**
|
|
38
|
+
- ✅ **SimpleMC5Client**: Designed specifically for non-developers
|
|
39
|
+
- ✅ **Auto-Clan Detection**: Automatically finds clan ID from your profile
|
|
40
|
+
- ✅ **One-Liner Functions**: `quick_search()` and `quick_kick()` for instant results
|
|
41
|
+
- ✅ **Simplified Method Names**: `search_player()` instead of complex technical names
|
|
42
|
+
- ✅ **Context Manager Support**: Automatic cleanup with `with` statements
|
|
43
|
+
- ✅ **User-Friendly Documentation**: Complete beginner's guide with examples
|
|
44
|
+
- ✅ **No Technical Knowledge Required**: Perfect for clan leaders and players
|
|
45
|
+
|
|
46
|
+
**� Complete Clan Management Suite:**
|
|
35
47
|
- ✅ **Profile Management**: Get/update player profiles with groups and credentials
|
|
36
48
|
- ✅ **Clan Operations**: Get clan info, members, settings with full CRUD operations
|
|
37
49
|
- ✅ **Member Management**: Invite, kick, promote, demote members with detailed stats
|
|
@@ -58,7 +70,132 @@ Think of this as your remote control for Modern Combat 5! Here's what you can do
|
|
|
58
70
|
pip install mc5_api_client
|
|
59
71
|
```
|
|
60
72
|
|
|
61
|
-
✅ **Published and Available!** The MC5 API Client v1.0.
|
|
73
|
+
✅ **Published and Available!** The MC5 API Client v1.0.7 is now live on PyPI with revolutionary user-friendly features for non-developers!
|
|
74
|
+
|
|
75
|
+
## 🎮 **Simple Usage for Non-Developers**
|
|
76
|
+
|
|
77
|
+
New in v1.0.7! We've added a revolutionary super-simple interface for non-developers:
|
|
78
|
+
|
|
79
|
+
### **🚀 Quick Start - Just 3 Lines!**
|
|
80
|
+
|
|
81
|
+
```python
|
|
82
|
+
from mc5_api_client import SimpleMC5Client
|
|
83
|
+
|
|
84
|
+
# Connect and auto-detect your clan
|
|
85
|
+
client = SimpleMC5Client('YOUR_USERNAME', 'YOUR_PASSWORD')
|
|
86
|
+
client.connect()
|
|
87
|
+
|
|
88
|
+
# Search for any player by dogtag
|
|
89
|
+
player = client.search_player('f55f')
|
|
90
|
+
print(f"Found: {player['kills']:,} kills")
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### **🎯 Super Simple Examples:**
|
|
94
|
+
|
|
95
|
+
**Search Players:**
|
|
96
|
+
```python
|
|
97
|
+
# One-line search
|
|
98
|
+
from mc5_api_client import quick_search
|
|
99
|
+
player = quick_search('218f', 'YOUR_USERNAME', 'YOUR_PASSWORD')
|
|
100
|
+
print(f"Elite player: {player['kills']:,} kills!")
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Batch Search with Loop:**
|
|
104
|
+
```python
|
|
105
|
+
from mc5_api_client.simple_client import batch_search_players
|
|
106
|
+
|
|
107
|
+
dogtags = ['f55f', '9gg9', '78d7', '218f']
|
|
108
|
+
results = batch_search_players(dogtags, 'YOUR_USERNAME', 'YOUR_PASSWORD')
|
|
109
|
+
|
|
110
|
+
# Conditional processing
|
|
111
|
+
for player in results['found']:
|
|
112
|
+
if player['kills'] > 10000:
|
|
113
|
+
print(f"🌟 Elite: {player['dogtag']} - {player['kills']:,} kills")
|
|
114
|
+
else:
|
|
115
|
+
print(f"👤 Player: {player['dogtag']} - {player['kills']:,} kills")
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**Smart Clan Cleanup:**
|
|
119
|
+
```python
|
|
120
|
+
from mc5_api_client.simple_client import clan_cleanup
|
|
121
|
+
|
|
122
|
+
# Intelligent cleanup with conditional logic
|
|
123
|
+
results = clan_cleanup(
|
|
124
|
+
'YOUR_USERNAME', 'YOUR_PASSWORD',
|
|
125
|
+
inactive_days=30,
|
|
126
|
+
min_level=15, # Protect high-level players
|
|
127
|
+
dry_run=True # Simulation only
|
|
128
|
+
)
|
|
129
|
+
|
|
130
|
+
print(f"Would kick: {results['would_kick']} members")
|
|
131
|
+
print(f"Protected: {results['protected']} members")
|
|
132
|
+
|
|
133
|
+
if results['would_kick'] > 0:
|
|
134
|
+
print("⚠️ Consider removing inactive members")
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Real-time Monitoring:**
|
|
138
|
+
```python
|
|
139
|
+
from mc5_api_client.simple_client import monitor_clan_activity
|
|
140
|
+
|
|
141
|
+
# Monitor clan activity every 60 seconds for 10 checks
|
|
142
|
+
monitor_clan_activity(
|
|
143
|
+
'YOUR_USERNAME', 'YOUR_PASSWORD',
|
|
144
|
+
check_interval=60,
|
|
145
|
+
max_checks=10
|
|
146
|
+
)
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**Clan Management:**
|
|
150
|
+
```python
|
|
151
|
+
with SimpleMC5Client('YOUR_USERNAME', 'YOUR_PASSWORD') as client:
|
|
152
|
+
client.connect() # Auto-detects your clan!
|
|
153
|
+
|
|
154
|
+
# Get all clan members
|
|
155
|
+
members = client.get_clan_members()
|
|
156
|
+
print(f"Your clan has {len(members)} members")
|
|
157
|
+
|
|
158
|
+
# Kick by dogtag (no clan ID needed!)
|
|
159
|
+
client.kick_member('9gg9', 'Inactive for 30 days')
|
|
160
|
+
|
|
161
|
+
# Update clan settings
|
|
162
|
+
client.update_clan_settings(name="Elite Squad 2026")
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
**Send Messages:**
|
|
166
|
+
```python
|
|
167
|
+
with SimpleMC5Client('YOUR_USERNAME', 'YOUR_PASSWORD') as client:
|
|
168
|
+
client.connect()
|
|
169
|
+
|
|
170
|
+
# Send message to any player by dogtag
|
|
171
|
+
client.send_message('f55f', 'Want to play together?')
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### **✨ Key Benefits for Non-Developers:**
|
|
175
|
+
|
|
176
|
+
- ✅ **No Clan ID Needed**: Auto-detects your clan from your profile
|
|
177
|
+
- ✅ **Simple Method Names**: `search_player()` instead of `get_player_stats_by_dogtag()`
|
|
178
|
+
- ✅ **Auto-Connection**: Just call `connect()` once
|
|
179
|
+
- ✅ **Clear Error Messages**: User-friendly error descriptions
|
|
180
|
+
- ✅ **Context Manager**: Automatic cleanup with `with` statement
|
|
181
|
+
- ✅ **Quick Functions**: One-liners for common tasks
|
|
182
|
+
|
|
183
|
+
### **📚 Simple vs Advanced Comparison:**
|
|
184
|
+
|
|
185
|
+
| Task | Simple Version | Advanced Version |
|
|
186
|
+
|------|----------------|------------------|
|
|
187
|
+
| Search Player | `client.search_player('f55f')` | `client.get_player_stats_by_dogtag('f55f')` |
|
|
188
|
+
| Get Clan Members | `client.get_clan_members()` | `client.get_clan_members(clan_id)` |
|
|
189
|
+
| Kick Member | `client.kick_member('9gg9')` | `client.kick_clan_member_by_dogtag('9gg9', clan_id)` |
|
|
190
|
+
| Connect | `client.connect()` | Manual authentication |
|
|
191
|
+
|
|
192
|
+
### **🎯 Perfect For:**
|
|
193
|
+
- **Clan Leaders**: Easy member management
|
|
194
|
+
- **Players**: Quick stats lookup
|
|
195
|
+
- **Beginners**: No programming experience needed
|
|
196
|
+
- **Quick Tasks**: One-liner functions
|
|
197
|
+
|
|
198
|
+
---
|
|
62
199
|
|
|
63
200
|
### 📦 Install from Local Package
|
|
64
201
|
|