Examples
Below are various examples demonstrating different filtering techniques for both Items and NPCs
Items Examples
Exact String Matching
filtered = await client.items.query(ItemsFilter(name="Trash")) print([e.name for e in filtered])
Fuzzy Matching on Item Name
filtered = await client.items.query(ItemsFilter(name=Fuzzy("trash", cutoff=80))) print([e.name for e in filtered])
Membership Matching Using IN
filtered = await client.items.query(ItemsFilter(name=IN("melmsie", "appl"))) print([e.name for e in filtered])
Numeric Range Filtering
filtered = await client.items.query(ItemsFilter(marketValue=(5000, 10000000))) print([e.name for e in filtered])
Numeric Filtering with Above/Below/Range
# Above filtered = await client.items.query(ItemsFilter(netValue=Above(10000))) print([e.name for e in filtered]) # Below filtered = await client.items.query(ItemsFilter(netValue=Below(10000))) print([e.name for e in filtered]) # Range filtered = await client.items.query(ItemsFilter(netValue=Range(10000, 5000000))) print([e.name for e in filtered])
NPCs Examples
Exact String Matching on NPC Name
filtered = await client.npcs.query(NPCsFilter(name="Chad")) print([e.name for e in filtered])
Fuzzy Matching on NPC Name
filtered = await client.npcs.query(NPCsFilter(name=Fuzzy("chad", cutoff=75))) print([e.name for e in filtered])
Membership Matching for NPCs
filtered = await client.npcs.query(NPCsFilter(name=IN("chad", "brad"))) print([e.name for e in filtered])
Numeric Range Filtering on NPC Reputation
filtered = await client.npcs.query(NPCsFilter(reputation=(10, 50))) print([e.name for e in filtered])
Combining Filters for NPCs
filtered = await client.npcs.query(NPCsFilter(name=IN("chad"), reputation=Above(20))) print([e.name for e in filtered])