-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
6d626ed
commit 84ffc0c
Showing
6 changed files
with
28 additions
and
101 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,78 +1,30 @@ | ||
# The project | ||
The goal is to make a wrapper around the varius runescape related api's. | ||
The goal is to make a wrapper around the various oldschool runescape api's. | ||
|
||
# Runelite | ||
## prices | ||
Runelite prices api: https://prices.runescape.wiki/api/v1/osrs/ | ||
you must provide some identification to tell who you are, preferably with a discord tag or email | ||
``` | ||
from osrs import runelite | ||
# osrs hiscores | ||
```py | ||
import asyncio | ||
|
||
api = runelite.RunelitePrices(identification='extreme4all#6455') | ||
``` | ||
to get a mapping of item names, id, low & high alch values etc | ||
``` | ||
print(api.items()) | ||
``` | ||
to get latest prices averaging over an interval or from a specific timestamp | ||
``` | ||
intervals = [ | ||
'5m', | ||
'10m', | ||
'30m', | ||
'1h', | ||
'6h', | ||
'24h' | ||
] | ||
print(api.prices(interval='24h')) | ||
print(api.prices(interval='24h', timestamp=1628380800)) | ||
``` | ||
to get a timeseries of the 300 values averaged over interval by item id or item name | ||
``` | ||
print(api.timeseries(interval='5m', id=2)) | ||
print(api.timeseries(interval='5m', name='Cannonball')) | ||
``` | ||
from aiohttp import ClientSession | ||
|
||
to get the latest prices of items | ||
``` | ||
print(api.latest()) | ||
``` | ||
# OSRS | ||
The osrs endpoints, these endpoints are heavily rate limited | ||
## osrsPrices | ||
``` | ||
from osrs import osrs | ||
from osrs.async_api.osrs.hiscores import Mode, PlayerStats, Hiscore, RateLimiter | ||
from osrs.exceptions import PlayerDoesNotExist | ||
|
||
api = osrs.OsrsPrices(identification='extreme4all#6456') | ||
``` | ||
OSRS has only one category, with all the items, here you get each alpha or letter and howmany items are in it | ||
``` | ||
print(api.category()) | ||
``` | ||
The items endpoint is paginated and will return 12 items for each page | ||
``` | ||
print(api.items(letter='a', page=0)) | ||
``` | ||
You can get the itemDetails for a specific item, based on item_id | ||
``` | ||
print(api.itemDetail(item_id=4151)) | ||
``` | ||
You can get the item price as a timeseries based on item_id | ||
``` | ||
print(api.timeseries(item_id=4151)) | ||
``` | ||
## hiscores | ||
return the hiscore for a player | ||
``` | ||
from osrs import osrs | ||
|
||
api = osrs.Hiscores(identification='extreme4all#6456') | ||
modes = [ | ||
'hiscore_oldschool', 'hiscore_oldschool_ironman', 'hiscore_oldschool_hardcore_ironman', | ||
'hiscore_oldschool_ultimate','hiscore_oldschool_deadman','hiscore_oldschool_seasonal', | ||
'hiscore_oldschool_tournament' | ||
] | ||
async def main(): | ||
# 100 calls per minute | ||
limiter = RateLimiter(calls_per_interval=100, interval=60) | ||
hiscore_instance = Hiscore(proxy="", rate_limiter=limiter) | ||
|
||
print(api.player(player_name='extreme4all', mode='hiscore_oldschool')) | ||
``` | ||
async with ClientSession() as session: | ||
player_stats = await hiscore_instance.get( | ||
mode=Mode.OLDSCHOOL, | ||
player="extreme4all", | ||
session=session, | ||
) | ||
print(player_stats) | ||
|
||
|
||
loop = asyncio.get_running_loop() | ||
await loop.create_task(main()) | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
[project] | ||
name = "osrs" | ||
version = "0.0.8" | ||
version = "0.0.9" | ||
authors = [ | ||
{ name="extreme4all"}, | ||
] | ||
|