mc5-api-client 1.0.2__tar.gz → 1.0.4__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.4/CHANGELOG.md +170 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/PKG-INFO +97 -22
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/README.md +96 -21
- mc5_api_client-1.0.4/examples/advanced_features.py +269 -0
- mc5_api_client-1.0.4/examples/player_stats.py +253 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/pyproject.toml +1 -1
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/setup.py +1 -1
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/src/mc5_api_client/client.py +690 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/src/mc5_api_client.egg-info/PKG-INFO +97 -22
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/src/mc5_api_client.egg-info/SOURCES.txt +2 -0
- mc5_api_client-1.0.2/CHANGELOG.md +0 -97
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/.gitignore +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/LICENSE +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/MANIFEST.in +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/examples/basic_usage.py +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/examples/clan_management.py +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/examples/clan_management_complete.py +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/examples/events_and_tasks.py +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/examples/message_management.py +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/examples/private_messaging.py +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/examples/squad_management.py +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/examples/squad_wall_management.py +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/pytest.ini +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/requirements-dev.txt +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/requirements.txt +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/setup.cfg +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/src/mc5_api_client/__init__.py +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/src/mc5_api_client/auth.py +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/src/mc5_api_client/cli.py +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/src/mc5_api_client/exceptions.py +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/src/mc5_api_client/py.typed +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/src/mc5_api_client.egg-info/dependency_links.txt +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/src/mc5_api_client.egg-info/entry_points.txt +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/src/mc5_api_client.egg-info/not-zip-safe +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/src/mc5_api_client.egg-info/requires.txt +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/src/mc5_api_client.egg-info/top_level.txt +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/tests/__init__.py +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/tests/test_auth.py +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/tests/test_cli.py +0 -0
- {mc5_api_client-1.0.2 → mc5_api_client-1.0.4}/tests/test_client.py +0 -0
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [1.0.4] - 2026-02-03
|
|
9
|
+
|
|
10
|
+
### 🚀 Player Statistics & Batch Profiles Feature
|
|
11
|
+
|
|
12
|
+
#### 📊 Batch Profile System (6+ Methods)
|
|
13
|
+
- ✅ Get batch player profiles with detailed statistics and game save data
|
|
14
|
+
- ✅ Search players by dogtag (in-game ID) with automatic alias conversion
|
|
15
|
+
- ✅ Get detailed player statistics using credentials
|
|
16
|
+
- ✅ Parse and structure player statistics for easy consumption
|
|
17
|
+
- ✅ Combine alias lookup with stats retrieval
|
|
18
|
+
- ✅ Support for multiple player batch operations
|
|
19
|
+
- ✅ Access detailed game save data including progress, loadouts, weapons
|
|
20
|
+
- ✅ Weapon statistics and performance analysis
|
|
21
|
+
- ✅ Campaign progress tracking
|
|
22
|
+
- ✅ Overall statistics calculation (K/D ratios, accuracy, etc.)
|
|
23
|
+
- ✅ Player performance analysis tools
|
|
24
|
+
|
|
25
|
+
#### 🏷️ Enhanced Alias/Dogtags Integration
|
|
26
|
+
- ✅ Seamless integration between dogtag conversion and player lookup
|
|
27
|
+
- ✅ Automatic dogtag to alias conversion for API calls
|
|
28
|
+
- ✅ Combined dogtag search with detailed statistics retrieval
|
|
29
|
+
- ✅ Enhanced error handling for invalid dogtags
|
|
30
|
+
- ✅ Support for all dogtag formats with validation
|
|
31
|
+
|
|
32
|
+
#### 📚 New Example Script
|
|
33
|
+
- ✅ Added `examples/player_stats.py` with comprehensive demonstrations
|
|
34
|
+
- ✅ Real-world usage scenarios for player analytics
|
|
35
|
+
- ✅ Performance analysis and weapon statistics examples
|
|
36
|
+
- ✅ Batch operations and multi-player lookup examples
|
|
37
|
+
- ✅ Advanced usage patterns for player data analysis
|
|
38
|
+
|
|
39
|
+
#### 📖 Enhanced Documentation
|
|
40
|
+
- ✅ Added Player Statistics section to README
|
|
41
|
+
- ✅ Detailed usage examples for batch profiles
|
|
42
|
+
- ✅ Integration examples with alias/dogtag system
|
|
43
|
+
- ✅ Performance analysis and statistics parsing examples
|
|
44
|
+
- ✅ Updated feature list with new batch profile methods
|
|
45
|
+
|
|
46
|
+
#### 🔧 Code Quality Improvements
|
|
47
|
+
- ✅ Comprehensive error handling for batch operations
|
|
48
|
+
- ✅ Robust data parsing and validation
|
|
49
|
+
- ✅ Type hints for all new methods
|
|
50
|
+
- ✅ Detailed docstrings with examples
|
|
51
|
+
- ✅ Support for edge cases and malformed data
|
|
52
|
+
|
|
53
|
+
#### 🧪 Testing & Validation
|
|
54
|
+
- ✅ All new methods tested with real API endpoints
|
|
55
|
+
- ✅ Error scenarios handled gracefully
|
|
56
|
+
- ✅ Performance optimization for batch operations
|
|
57
|
+
- ✅ Memory-efficient data parsing
|
|
58
|
+
|
|
59
|
+
### 📋 Technical Details
|
|
60
|
+
|
|
61
|
+
#### 🌐 New API Endpoint Integration
|
|
62
|
+
- **Endpoint**: `https://app-468561b3-9ecd-4d21-8241-30ed288f4d8b.gold0009.gameloft.com/1875/windows/09/public/OfficialScripts/mc5Portal.wsgi`
|
|
63
|
+
- **Method**: POST with form-encoded data
|
|
64
|
+
- **Operation**: `get_batch_profiles`
|
|
65
|
+
- **Fields**: `_game_save`, `inventory` (configurable)
|
|
66
|
+
- **Authentication**: Uses existing client authentication
|
|
67
|
+
|
|
68
|
+
#### 🔄 Dogtag to Alias Conversion
|
|
69
|
+
- **Mathematical Algorithm**: Letters (ASCII -2), Digits (mod 10 arithmetic)
|
|
70
|
+
- **Validation**: Automatic format detection and error handling
|
|
71
|
+
- **Integration**: Seamless conversion for API compatibility
|
|
72
|
+
- **Examples**: f55f → d33d, ff11 → dd99, g6765 → e4543
|
|
73
|
+
|
|
74
|
+
#### 📊 Data Structure Parsing
|
|
75
|
+
- **Game Save Data**: Rating, progress, loadouts, statistics
|
|
76
|
+
- **Inventory Data**: XP, VIP points, weapon statistics
|
|
77
|
+
- **Weapon Stats**: Kills, shots, hits, accuracy, time used
|
|
78
|
+
- **Overall Stats**: K/D ratios, headshot percentages, time played
|
|
79
|
+
|
|
80
|
+
## [1.0.3] - 2026-02-02
|
|
81
|
+
|
|
82
|
+
### Added
|
|
83
|
+
- Initial release of MC5 API Client by Chizoba
|
|
84
|
+
- Comprehensive authentication system with token generation
|
|
85
|
+
- Support for both user and admin authentication
|
|
86
|
+
- Modern CLI interface with Rich formatting and debug capabilities
|
|
87
|
+
- Full API coverage including:
|
|
88
|
+
- Profile management
|
|
89
|
+
- Clan operations
|
|
90
|
+
- Friend management
|
|
91
|
+
- Messaging system
|
|
92
|
+
- Events and tasks
|
|
93
|
+
- Leaderboard access
|
|
94
|
+
- Game objects
|
|
95
|
+
- Asset metadata
|
|
96
|
+
- Alias lookup
|
|
97
|
+
- Automatic token refresh functionality
|
|
98
|
+
- Comprehensive error handling with custom exceptions
|
|
99
|
+
- Type hints throughout the codebase
|
|
100
|
+
- Extensive documentation and examples
|
|
101
|
+
- Unit test coverage
|
|
102
|
+
- PyPI package configuration
|
|
103
|
+
- Development environment setup
|
|
104
|
+
- Python 3.11+ support (beta version)
|
|
105
|
+
|
|
106
|
+
### Features
|
|
107
|
+
- **Authentication**: Easy token generation and management
|
|
108
|
+
- **CLI**: Rich command-line interface with progress indicators
|
|
109
|
+
- **Auto-refresh**: Automatic token renewal
|
|
110
|
+
- **Error Handling**: Comprehensive exception hierarchy
|
|
111
|
+
- **Type Safety**: Full type annotation support
|
|
112
|
+
- **Documentation**: Detailed README and examples
|
|
113
|
+
- **Testing**: Unit tests with mocking
|
|
114
|
+
- **Configuration**: Persistent config and token storage
|
|
115
|
+
|
|
116
|
+
### CLI Commands
|
|
117
|
+
- `generate-token` - Generate user access tokens
|
|
118
|
+
- `generate-admin-token` - Generate admin access tokens
|
|
119
|
+
- `validate-token` - Validate saved tokens
|
|
120
|
+
- `show-config` - Display configuration
|
|
121
|
+
- `clear-config` - Clear saved data
|
|
122
|
+
|
|
123
|
+
### API Endpoints Supported
|
|
124
|
+
- Authentication (Janus)
|
|
125
|
+
- Profile management (Osiris)
|
|
126
|
+
- Clan operations (Osiris)
|
|
127
|
+
- Friend system (Osiris)
|
|
128
|
+
- Messaging (Osiris)
|
|
129
|
+
- Events (Osiris)
|
|
130
|
+
- Leaderboards (Osiris/Olympus)
|
|
131
|
+
- Game objects (Iris)
|
|
132
|
+
- Asset metadata (Iris)
|
|
133
|
+
- Alias lookup (Janus)
|
|
134
|
+
|
|
135
|
+
### Installation
|
|
136
|
+
```bash
|
|
137
|
+
pip install mc5-api-client
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Development Installation
|
|
141
|
+
```bash
|
|
142
|
+
pip install mc5-api-client[dev]
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Example Usage
|
|
146
|
+
```python
|
|
147
|
+
from mc5_api_client import MC5Client
|
|
148
|
+
|
|
149
|
+
with MC5Client(username="user", password="pass") as client:
|
|
150
|
+
profile = client.get_profile()
|
|
151
|
+
events = client.get_events()
|
|
152
|
+
client.send_private_message("target", "Hello!")
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### CLI Usage
|
|
156
|
+
```bash
|
|
157
|
+
mc5 generate-token --username "user" --password "pass" --save
|
|
158
|
+
mc5 validate-token
|
|
159
|
+
mc5 show-config
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## [Unreleased]
|
|
165
|
+
|
|
166
|
+
### Planned
|
|
167
|
+
- Additional API endpoints
|
|
168
|
+
- Enhanced CLI features
|
|
169
|
+
- Performance optimizations
|
|
170
|
+
- More examples and tutorials
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mc5_api_client
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.4
|
|
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
|
|
@@ -122,13 +122,6 @@ pip install .
|
|
|
122
122
|
|
|
123
123
|
### 🔧 Build Status
|
|
124
124
|
|
|
125
|
-
✅ **Compilation Successful** - No critical errors
|
|
126
|
-
⚠️ **Warnings Fixed** - Configuration warnings resolved
|
|
127
|
-
✅ **All Examples Included** - 7 comprehensive example scripts
|
|
128
|
-
✅ **CLI Entry Points** - `mc5` command available
|
|
129
|
-
✅ **Dependencies Managed** - All requirements included
|
|
130
|
-
|
|
131
|
-
## �� Let's Get Started!
|
|
132
125
|
|
|
133
126
|
### Step 1: Install the Library
|
|
134
127
|
|
|
@@ -138,24 +131,31 @@ Just run this in your terminal (Command Prompt/PowerShell):
|
|
|
138
131
|
pip install mc5_api_client
|
|
139
132
|
```
|
|
140
133
|
|
|
141
|
-
|
|
134
|
+
### Step 2: Verify Installation
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
# Check the CLI
|
|
138
|
+
mc5 --help
|
|
139
|
+
mc5 version
|
|
142
140
|
|
|
143
|
-
|
|
141
|
+
# Test in Python
|
|
142
|
+
python -c "import mc5_api_client; print('✅ MC5 API Client ready!')"
|
|
143
|
+
```
|
|
144
144
|
|
|
145
|
-
|
|
145
|
+
### Step 3: Your First Program
|
|
146
|
+
|
|
147
|
+
Copy and paste this simple example to get started:
|
|
146
148
|
|
|
147
149
|
```python
|
|
150
|
+
# Save this as my_mc5_script.py
|
|
148
151
|
from mc5_api_client import MC5Client
|
|
149
152
|
|
|
150
|
-
#
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
password="YOUR_PASSWORD_HERE"
|
|
154
|
-
)
|
|
153
|
+
# Replace with your actual credentials
|
|
154
|
+
username = "YOUR_USERNAME_HERE"
|
|
155
|
+
password = "YOUR_PASSWORD_HERE"
|
|
155
156
|
|
|
156
|
-
#
|
|
157
|
-
|
|
158
|
-
print(f"Hey {profile['name']}! You're level {profile['level']}")
|
|
157
|
+
# Create client and login
|
|
158
|
+
client = MC5Client(username=username, password=password)
|
|
159
159
|
|
|
160
160
|
# See what's happening in the game
|
|
161
161
|
events = client.get_events()
|
|
@@ -941,6 +941,8 @@ The library comes with comprehensive examples to get you started:
|
|
|
941
941
|
- `examples/squad_wall_management.py` - Squad wall communication examples
|
|
942
942
|
- `examples/private_messaging.py` - Private messaging and inbox management
|
|
943
943
|
- `examples/message_management.py` - Advanced message management and bulk deletion
|
|
944
|
+
- `examples/advanced_features.py` - Events, account management, alias system, game config
|
|
945
|
+
- `examples/player_stats.py` - Player statistics, batch profiles, dogtag search
|
|
944
946
|
|
|
945
947
|
### 🚀 Advanced Examples
|
|
946
948
|
- Squad management bot with automated updates
|
|
@@ -988,6 +990,75 @@ The library comes with comprehensive examples to get you started:
|
|
|
988
990
|
- ✅ Bulk stat updates
|
|
989
991
|
- ✅ Real-time activity monitoring
|
|
990
992
|
|
|
993
|
+
### � Events API (10+ Methods)
|
|
994
|
+
- ✅ Get all active and upcoming events
|
|
995
|
+
- ✅ Filter events by type and status
|
|
996
|
+
- ✅ Get detailed event information with tasks and milestones
|
|
997
|
+
- ✅ Parse event templates and extract rewards
|
|
998
|
+
- ✅ Get daily tasks with progress tracking
|
|
999
|
+
- ✅ Get squad events and tournament information
|
|
1000
|
+
- ✅ Calculate event rewards based on current points
|
|
1001
|
+
- ✅ Track event progress and next milestones
|
|
1002
|
+
- ✅ Extract task conditions and reward types
|
|
1003
|
+
- ✅ Support for multiple event categories
|
|
1004
|
+
|
|
1005
|
+
### 👤 Account Management (5+ Methods)
|
|
1006
|
+
- ✅ Import account data from other platforms
|
|
1007
|
+
- ✅ Link accounts across different platforms
|
|
1008
|
+
- ✅ Get detailed account information
|
|
1009
|
+
- ✅ Unlink platform accounts
|
|
1010
|
+
- ✅ Migrate account data between platforms
|
|
1011
|
+
- ✅ Support for cross-platform data transfer
|
|
1012
|
+
- ✅ Account verification and validation
|
|
1013
|
+
|
|
1014
|
+
### 📊 Player Statistics & Batch Profiles
|
|
1015
|
+
|
|
1016
|
+
Get detailed player statistics using dogtags (in-game IDs) or credentials:
|
|
1017
|
+
|
|
1018
|
+
```python
|
|
1019
|
+
# Search player by their in-game dogtag
|
|
1020
|
+
player_stats = client.get_player_stats_by_dogtag("f55f")
|
|
1021
|
+
print(f"Player found: {player_stats.get('player_info', {}).get('account', 'Unknown')}")
|
|
1022
|
+
|
|
1023
|
+
# Parse and analyze statistics
|
|
1024
|
+
parsed = client.parse_player_stats(player_stats)
|
|
1025
|
+
print(f"Rating: {parsed.get('rating', 0)}")
|
|
1026
|
+
print(f"K/D Ratio: {parsed.get('overall_stats', {}).get('total_kills', 0) / max(parsed.get('overall_stats', {}).get('total_deaths', 1), 1):.2f}")
|
|
1027
|
+
|
|
1028
|
+
# Get detailed stats for multiple players
|
|
1029
|
+
credentials = ["player1_cred", "player2_cred", "player3_cred"]
|
|
1030
|
+
batch_stats = client.get_batch_profiles(credentials)
|
|
1031
|
+
|
|
1032
|
+
# Search players using dogtags
|
|
1033
|
+
for dogtag in ["f55f", "ff11", "g6765"]:
|
|
1034
|
+
player = client.search_player_by_dogtag(dogtag)
|
|
1035
|
+
if 'error' not in player:
|
|
1036
|
+
print(f"Found: {player.get('player_info', {}).get('account')}")
|
|
1037
|
+
```
|
|
1038
|
+
|
|
1039
|
+
### 📊 Player Statistics & Batch Profiles (6+ Methods)
|
|
1040
|
+
- ✅ Get batch player profiles with detailed statistics
|
|
1041
|
+
- ✅ Search players by dogtag (in-game ID)
|
|
1042
|
+
- ✅ Get detailed player statistics using credentials
|
|
1043
|
+
- ✅ Parse and structure player statistics
|
|
1044
|
+
- ✅ Convert dogtags to aliases for API lookup
|
|
1045
|
+
- ✅ Combine alias lookup with stats retrieval
|
|
1046
|
+
- ✅ Support for multiple player batch operations
|
|
1047
|
+
- ✅ Detailed game save and inventory data access
|
|
1048
|
+
- ✅ Weapon statistics and performance analysis
|
|
1049
|
+
- ✅ Campaign progress tracking
|
|
1050
|
+
- ✅ Overall statistics calculation (K/D, accuracy, etc.)
|
|
1051
|
+
- ✅ Player performance analysis tools
|
|
1052
|
+
|
|
1053
|
+
### ⚙️ Game Configuration (4+ Methods)
|
|
1054
|
+
- ✅ Get asset hash metadata
|
|
1055
|
+
- ✅ Get game object catalog
|
|
1056
|
+
- ✅ Get service URLs for current region
|
|
1057
|
+
- ✅ Get comprehensive game configuration
|
|
1058
|
+
- ✅ Support for multiple config types
|
|
1059
|
+
- ✅ Asset metadata tracking
|
|
1060
|
+
- ✅ Service URL management
|
|
1061
|
+
- ✅ Game object categorization
|
|
991
1062
|
### 💬 Complete Communication System (6+ Methods)
|
|
992
1063
|
- ✅ Send private messages with rich formatting
|
|
993
1064
|
- ✅ Include kill signatures and colors
|
|
@@ -1099,18 +1170,20 @@ Stuck on something? No worries!
|
|
|
1099
1170
|
|
|
1100
1171
|
## 🔗 Useful Links
|
|
1101
1172
|
|
|
1102
|
-
This is the **most comprehensive Modern Combat 5 API library** ever created! With **
|
|
1173
|
+
This is the **most comprehensive Modern Combat 5 API library** ever created! With **95+ methods** across **14 major categories**, you can:
|
|
1103
1174
|
|
|
1104
1175
|
- 🏰 **Manage entire clans** from creation to disbandment
|
|
1105
1176
|
- 👥 **Control squad members** with real-time stat updates
|
|
1106
1177
|
- 💬 **Complete communication system** - Private messages, squad wall, alerts
|
|
1178
|
+
- 📅 **Advanced events system** - Daily tasks, squad events, milestones
|
|
1179
|
+
- 👤 **Account management** - Import, link, migrate across platforms
|
|
1180
|
+
- 🏷️ **Alias/dogtags system** - Player ID conversion and search
|
|
1181
|
+
- ⚙️ **Game configuration** - Assets, catalogs, service URLs
|
|
1107
1182
|
- 🎯 **Customize everything** with kill signatures and rich formatting
|
|
1108
1183
|
- 📊 **Track performance** with detailed analytics
|
|
1109
1184
|
- 🎮 **Automate gameplay** with custom bots and scripts
|
|
1110
1185
|
- 🏆 **Create leaderboards** and ranking systems
|
|
1111
1186
|
- 🔄 **Schedule tasks** and monitor activity
|
|
1112
|
-
- 📱 **Manage messages** with inbox and reply systems
|
|
1113
|
-
|
|
1114
1187
|
|
|
1115
1188
|
**Perfect for:**
|
|
1116
1189
|
- 🏆 Squad leaders who want to automate management
|
|
@@ -1121,6 +1194,8 @@ This is the **most comprehensive Modern Combat 5 API library** ever created! Wit
|
|
|
1121
1194
|
- 🏅 Competitive players seeking advantages
|
|
1122
1195
|
- 💬 Community managers handling communications
|
|
1123
1196
|
- 📧 Support teams providing assistance
|
|
1197
|
+
- 📅 Event coordinators managing tournaments
|
|
1198
|
+
- 🏷️ Player search and identification systems
|
|
1124
1199
|
|
|
1125
1200
|
**Ready to dominate Modern Combat 5?** 🚀
|
|
1126
1201
|
|
|
@@ -63,13 +63,6 @@ pip install .
|
|
|
63
63
|
|
|
64
64
|
### 🔧 Build Status
|
|
65
65
|
|
|
66
|
-
✅ **Compilation Successful** - No critical errors
|
|
67
|
-
⚠️ **Warnings Fixed** - Configuration warnings resolved
|
|
68
|
-
✅ **All Examples Included** - 7 comprehensive example scripts
|
|
69
|
-
✅ **CLI Entry Points** - `mc5` command available
|
|
70
|
-
✅ **Dependencies Managed** - All requirements included
|
|
71
|
-
|
|
72
|
-
## �� Let's Get Started!
|
|
73
66
|
|
|
74
67
|
### Step 1: Install the Library
|
|
75
68
|
|
|
@@ -79,24 +72,31 @@ Just run this in your terminal (Command Prompt/PowerShell):
|
|
|
79
72
|
pip install mc5_api_client
|
|
80
73
|
```
|
|
81
74
|
|
|
82
|
-
|
|
75
|
+
### Step 2: Verify Installation
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Check the CLI
|
|
79
|
+
mc5 --help
|
|
80
|
+
mc5 version
|
|
83
81
|
|
|
84
|
-
|
|
82
|
+
# Test in Python
|
|
83
|
+
python -c "import mc5_api_client; print('✅ MC5 API Client ready!')"
|
|
84
|
+
```
|
|
85
85
|
|
|
86
|
-
|
|
86
|
+
### Step 3: Your First Program
|
|
87
|
+
|
|
88
|
+
Copy and paste this simple example to get started:
|
|
87
89
|
|
|
88
90
|
```python
|
|
91
|
+
# Save this as my_mc5_script.py
|
|
89
92
|
from mc5_api_client import MC5Client
|
|
90
93
|
|
|
91
|
-
#
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
password="YOUR_PASSWORD_HERE"
|
|
95
|
-
)
|
|
94
|
+
# Replace with your actual credentials
|
|
95
|
+
username = "YOUR_USERNAME_HERE"
|
|
96
|
+
password = "YOUR_PASSWORD_HERE"
|
|
96
97
|
|
|
97
|
-
#
|
|
98
|
-
|
|
99
|
-
print(f"Hey {profile['name']}! You're level {profile['level']}")
|
|
98
|
+
# Create client and login
|
|
99
|
+
client = MC5Client(username=username, password=password)
|
|
100
100
|
|
|
101
101
|
# See what's happening in the game
|
|
102
102
|
events = client.get_events()
|
|
@@ -882,6 +882,8 @@ The library comes with comprehensive examples to get you started:
|
|
|
882
882
|
- `examples/squad_wall_management.py` - Squad wall communication examples
|
|
883
883
|
- `examples/private_messaging.py` - Private messaging and inbox management
|
|
884
884
|
- `examples/message_management.py` - Advanced message management and bulk deletion
|
|
885
|
+
- `examples/advanced_features.py` - Events, account management, alias system, game config
|
|
886
|
+
- `examples/player_stats.py` - Player statistics, batch profiles, dogtag search
|
|
885
887
|
|
|
886
888
|
### 🚀 Advanced Examples
|
|
887
889
|
- Squad management bot with automated updates
|
|
@@ -929,6 +931,75 @@ The library comes with comprehensive examples to get you started:
|
|
|
929
931
|
- ✅ Bulk stat updates
|
|
930
932
|
- ✅ Real-time activity monitoring
|
|
931
933
|
|
|
934
|
+
### � Events API (10+ Methods)
|
|
935
|
+
- ✅ Get all active and upcoming events
|
|
936
|
+
- ✅ Filter events by type and status
|
|
937
|
+
- ✅ Get detailed event information with tasks and milestones
|
|
938
|
+
- ✅ Parse event templates and extract rewards
|
|
939
|
+
- ✅ Get daily tasks with progress tracking
|
|
940
|
+
- ✅ Get squad events and tournament information
|
|
941
|
+
- ✅ Calculate event rewards based on current points
|
|
942
|
+
- ✅ Track event progress and next milestones
|
|
943
|
+
- ✅ Extract task conditions and reward types
|
|
944
|
+
- ✅ Support for multiple event categories
|
|
945
|
+
|
|
946
|
+
### 👤 Account Management (5+ Methods)
|
|
947
|
+
- ✅ Import account data from other platforms
|
|
948
|
+
- ✅ Link accounts across different platforms
|
|
949
|
+
- ✅ Get detailed account information
|
|
950
|
+
- ✅ Unlink platform accounts
|
|
951
|
+
- ✅ Migrate account data between platforms
|
|
952
|
+
- ✅ Support for cross-platform data transfer
|
|
953
|
+
- ✅ Account verification and validation
|
|
954
|
+
|
|
955
|
+
### 📊 Player Statistics & Batch Profiles
|
|
956
|
+
|
|
957
|
+
Get detailed player statistics using dogtags (in-game IDs) or credentials:
|
|
958
|
+
|
|
959
|
+
```python
|
|
960
|
+
# Search player by their in-game dogtag
|
|
961
|
+
player_stats = client.get_player_stats_by_dogtag("f55f")
|
|
962
|
+
print(f"Player found: {player_stats.get('player_info', {}).get('account', 'Unknown')}")
|
|
963
|
+
|
|
964
|
+
# Parse and analyze statistics
|
|
965
|
+
parsed = client.parse_player_stats(player_stats)
|
|
966
|
+
print(f"Rating: {parsed.get('rating', 0)}")
|
|
967
|
+
print(f"K/D Ratio: {parsed.get('overall_stats', {}).get('total_kills', 0) / max(parsed.get('overall_stats', {}).get('total_deaths', 1), 1):.2f}")
|
|
968
|
+
|
|
969
|
+
# Get detailed stats for multiple players
|
|
970
|
+
credentials = ["player1_cred", "player2_cred", "player3_cred"]
|
|
971
|
+
batch_stats = client.get_batch_profiles(credentials)
|
|
972
|
+
|
|
973
|
+
# Search players using dogtags
|
|
974
|
+
for dogtag in ["f55f", "ff11", "g6765"]:
|
|
975
|
+
player = client.search_player_by_dogtag(dogtag)
|
|
976
|
+
if 'error' not in player:
|
|
977
|
+
print(f"Found: {player.get('player_info', {}).get('account')}")
|
|
978
|
+
```
|
|
979
|
+
|
|
980
|
+
### 📊 Player Statistics & Batch Profiles (6+ Methods)
|
|
981
|
+
- ✅ Get batch player profiles with detailed statistics
|
|
982
|
+
- ✅ Search players by dogtag (in-game ID)
|
|
983
|
+
- ✅ Get detailed player statistics using credentials
|
|
984
|
+
- ✅ Parse and structure player statistics
|
|
985
|
+
- ✅ Convert dogtags to aliases for API lookup
|
|
986
|
+
- ✅ Combine alias lookup with stats retrieval
|
|
987
|
+
- ✅ Support for multiple player batch operations
|
|
988
|
+
- ✅ Detailed game save and inventory data access
|
|
989
|
+
- ✅ Weapon statistics and performance analysis
|
|
990
|
+
- ✅ Campaign progress tracking
|
|
991
|
+
- ✅ Overall statistics calculation (K/D, accuracy, etc.)
|
|
992
|
+
- ✅ Player performance analysis tools
|
|
993
|
+
|
|
994
|
+
### ⚙️ Game Configuration (4+ Methods)
|
|
995
|
+
- ✅ Get asset hash metadata
|
|
996
|
+
- ✅ Get game object catalog
|
|
997
|
+
- ✅ Get service URLs for current region
|
|
998
|
+
- ✅ Get comprehensive game configuration
|
|
999
|
+
- ✅ Support for multiple config types
|
|
1000
|
+
- ✅ Asset metadata tracking
|
|
1001
|
+
- ✅ Service URL management
|
|
1002
|
+
- ✅ Game object categorization
|
|
932
1003
|
### 💬 Complete Communication System (6+ Methods)
|
|
933
1004
|
- ✅ Send private messages with rich formatting
|
|
934
1005
|
- ✅ Include kill signatures and colors
|
|
@@ -1040,18 +1111,20 @@ Stuck on something? No worries!
|
|
|
1040
1111
|
|
|
1041
1112
|
## 🔗 Useful Links
|
|
1042
1113
|
|
|
1043
|
-
This is the **most comprehensive Modern Combat 5 API library** ever created! With **
|
|
1114
|
+
This is the **most comprehensive Modern Combat 5 API library** ever created! With **95+ methods** across **14 major categories**, you can:
|
|
1044
1115
|
|
|
1045
1116
|
- 🏰 **Manage entire clans** from creation to disbandment
|
|
1046
1117
|
- 👥 **Control squad members** with real-time stat updates
|
|
1047
1118
|
- 💬 **Complete communication system** - Private messages, squad wall, alerts
|
|
1119
|
+
- 📅 **Advanced events system** - Daily tasks, squad events, milestones
|
|
1120
|
+
- 👤 **Account management** - Import, link, migrate across platforms
|
|
1121
|
+
- 🏷️ **Alias/dogtags system** - Player ID conversion and search
|
|
1122
|
+
- ⚙️ **Game configuration** - Assets, catalogs, service URLs
|
|
1048
1123
|
- 🎯 **Customize everything** with kill signatures and rich formatting
|
|
1049
1124
|
- 📊 **Track performance** with detailed analytics
|
|
1050
1125
|
- 🎮 **Automate gameplay** with custom bots and scripts
|
|
1051
1126
|
- 🏆 **Create leaderboards** and ranking systems
|
|
1052
1127
|
- 🔄 **Schedule tasks** and monitor activity
|
|
1053
|
-
- 📱 **Manage messages** with inbox and reply systems
|
|
1054
|
-
|
|
1055
1128
|
|
|
1056
1129
|
**Perfect for:**
|
|
1057
1130
|
- 🏆 Squad leaders who want to automate management
|
|
@@ -1062,6 +1135,8 @@ This is the **most comprehensive Modern Combat 5 API library** ever created! Wit
|
|
|
1062
1135
|
- 🏅 Competitive players seeking advantages
|
|
1063
1136
|
- 💬 Community managers handling communications
|
|
1064
1137
|
- 📧 Support teams providing assistance
|
|
1138
|
+
- 📅 Event coordinators managing tournaments
|
|
1139
|
+
- 🏷️ Player search and identification systems
|
|
1065
1140
|
|
|
1066
1141
|
**Ready to dominate Modern Combat 5?** 🚀
|
|
1067
1142
|
|