PyPI stable release.
$ pip install aiobungie
Development
$ pip install git+https://github.com/nxtlo/aiobungie@master
See Examples for advance usage.
import aiobungie
client = aiobungie.Client('YOUR_API_KEY')
async def main() -> None:
# fetch a clan
clan = await client.fetch_clan("Nuanceㅤ")
for member in await clan.fetch_members():
if member.unique_name == "Fate怒#4275":
# Get the profile for this clan member.
profile = await member.fetch_self_profile(components=[aiobungie.ComponentType.CHARACTERS])
# Get the character component for the profile.
if characters := profile.characters:
for character in characters.values():
print(character.class_type, character.light, character.gender)
# Check some character stats.
for stat, stat_value in character.stats.items():
if stat is aiobungie.Stat.MOBILITY and stat_value > 90:
print(f"Zooming {stat_value} ⭐")
# You can either run it using the client or just `asyncio.run(main())`
client.run(main())
Alternatively, You can use RESTClient
which's designed to only make HTTP requests and return JSON objects.
import aiobungie
import asyncio
async def main(access_token: str) -> None:
async with aiobungie.RESTClient("TOKEN") as rest_client:
response = await rest_client.fetch_clan_members(4389205)
raw_members_payload = response['results']
for member in raw_members_payload:
for k, v in member['destinyUserInfo'].items():
print(k, v)
# aiobungie also exposes a method which lets you make your own requests.
await rest.static_request("POST", "Some/Endpoint", auth=access_token, json={...: ...})
# Methods only exposed through the rest client.
await rest.refresh_access_token('a token')
asyncio.run(main("DB_ACCESS_TOKEN"))
- Python 3.9 or higher
- aiohttp
- attrs
Please read this manual
- Discord:
Fate 怒#0008
|350750086357057537
- Docs: Here.