A Python 3 module wrapper for RuneScape 3's API
Project description
rs3clans.py
A Python 3 module wrapper for RuneScape 3 API
Requirements:
Setup with pip:
$ python3 -m pip install rs3clans
Usage:
> Players
- Creating a Player object
- Always check if a player actually exists before doing anything with it
>>> from rs3clans import players
>>> player = players.Player(name='nriver')
>>> if player.exists:
... pass
- Whether the player exists or not
>>> player.exists
True
- Whether his Runemetrics Profile is Private or not
>>> player.private_profile
False
- You can also pass the argument runemetrics as
False
if you don't want their runemetrics info to be set- This will make you unable to use some attributes from the Player class
>>> player = players.Player(name='nriver', runemetrics=False)
- Getting a player's name
- (if his Runemetrics Profile is private it will return the same name passed when creating object)
>>> player.name
'NRiver'
- Getting a player's total Exp (requires Public Runemetrics Profile)
>>> player.exp
1037291112
- Getting a player's Total Level (requires Public Runemetrics Profile)
>>> player.total_level
- Getting a player's Combat Level (requires Public Runemetrics Profile)
>>> player.combat_level
138
- Quests information about a player (requires Public Runemetrics Profile)
>>> player.quests_not_started
32
>>> player.quests_started
5
>>> player.quests_complete
198
- Getting information on a specific skill of the player (requires Public Runemetrics Profile)
>>> player.skill('agility').level
99
- Skill name is case-insensitive
>>> player.skill('AtTaCk').rank
68311
- Can pass skill names as well as id
- (8 = Woodcutting for example)
>>> player.skill(8).exp
14054178.6
- Getting a player's title
>>> player.title
'The Liberator'
- Verifying if a player's title is a suffix or not
>>> player.suffix
True
- Getting a player's clan
>>> player.clan
'Atlantis'
> Clans
- Creating a Clan object
- Always check if a clan actually exists before doing anything with it
>>> from rs3clans import clans
>>> try:
... clan = clans.Clan('Atlantis')
... except clans.ClanNotFoundError:
... print('Clan not found.')
- Getting a clan's total Exp
>>> clan.exp
151349638333
- Getting information about a specific member in that clan
- Clan.member attribute (dict) (requires case-sensitive name)
- Clan.get_member() (method) (does not require case-sensitive name)
- Returns a ClanMember Object
>>> # Case-sensitive
>>> clan.member['NRiver']
ClanMember(NRiver, Overseer, 1043065027)
>>> clan.member['NRiver'].rank
'Overseer'
>>> # Case-insensitive
>>> clan.get_member('nriver')
ClanMember(NRiver, Overseer, 1043065027)
>>> clan.get_member('nRiVeR').rank
'Overseer'
- Getting the number of players in a clan
>>> clan.count
499
- Getting the average Clan Exp per player in clan
>>> clan.avg_exp
303305888.44288576
- Iterate through a Clan
>>> for member in clan:
>>> print(f"{member} - {member.name}")
ClanMember(Pedim, Owner, 1249520826) - Pedim
ClanMember(Acriano, Overseer, 1903276564) - Acriano
ClanMember(Cogu, Overseer, 1829449412) - Cogu
ClanMember(Black bullet, Overseer, 1100767386) - Black Bullet
ClanMember(NRiver, Overseer, 1090093362) - NRiver
ClanMember(Kurenaii, Overseer, 395850997) - Kurenaii
...
Contributing:
-
Guidelines:
- Follow Pep8 with the exception of
E501 (line too long)
- Follow Pep8 with the exception of
-
Fork the repository
-
Install Dev dependencies
- With poetry
$ python3 -m virtualenv .venv $ poetry shell $ poetry install
- Without pipenv
$ python3 -m virtualenv .venv $ source .venv/bin/activate $ pip install -r requirements-dev.txt
- With poetry
-
Run the tests to make sure everything is ok
$ pytest
-
Make your changes to the code in the directory
rs3clans.py/rs3clans/
-
Add necessary tests to the
rs3clans.py/tests/
directory (pytest docs
) -
Run the tests again
$ pytest
-
Also run
flake8
just to check if the code style is also fine$ flake8 --ignore=E501 rs3clans/
-
If everything went fine then send a Pull Request
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
rs3clans-1.1.3.tar.gz
(11.4 kB
view details)
Built Distribution
rs3clans-1.1.3-py3-none-any.whl
(10.6 kB
view details)
File details
Details for the file rs3clans-1.1.3.tar.gz
.
File metadata
- Download URL: rs3clans-1.1.3.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.16 CPython/3.6.7 Linux/4.15.0-1028-gcp
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cbae1b8304273de0f3ef40b90bcc94db00f574104c20e05e3e96902b08a4bc0 |
|
MD5 | aecc27cf0fa6b48c41acc84c4e1e22ea |
|
BLAKE2b-256 | 2e253afa2f89a9d66bfd60e9984a8098df27cc8c4aae4ddfc5055daf43b8edf3 |
File details
Details for the file rs3clans-1.1.3-py3-none-any.whl
.
File metadata
- Download URL: rs3clans-1.1.3-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.16 CPython/3.6.7 Linux/4.15.0-1028-gcp
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cd17bd526dab3b8d706c5e9cd27e3e65485734c3184ece76e7e5d80323377b2 |
|
MD5 | 3b2521bcacd1e52ea9f511941738c199 |
|
BLAKE2b-256 | 2f702144ecb32d0f089f98a072b526748b450f477c4a9ad6fd97641ba8a8c480 |