Hello!
Idea of this program came to my mind when i bought Spell Echo under a chaos. So I created this automatic parser for Poe.trade.
It will parse Poe.trade for items in items.xml (configurable) and wait a delay (configrable). If the item is found it will write all items information to found_items.txt (configrable)
#Usage
Configure settings.ini, make your item list in items.xml file and:
python Main.py
or
Start Main.exe in dist folder
#XML
Xml file has a structure
<?xml version="1.0"?>
<items>
<item>
ITEM1
</item>
<item>
ITEM2
</item>
<item>
ITEM3
</item>
etc...
</items>
Every item tag takes some information to check.
Only mandatory tag is league. You don't need to write empty tags!
Next tags are valid:
<league></league> (Standard, Hardcore or any other)
<type>
empty = any
1h = Gen. 1h
2h = Gen. 2h
Bow = bows
Claw = claws
Dagger = daggers
One Hand Axe = 1h axe
One Hand Mace = 1h mace
One Hand Sword = 1h sword
Sceprte = sceptres
Staff = staffs
Two Hand Axe = 2h axes
Two Hand Mace = 2h maces
Two Hand Sword = 2h sword
Wand = wands
Body Armour = body armours
Boots = boots
Gloves = gloves
Helmet = helmet
Shield = shield
Amulet = amulet
Belt = belt
Currency = currency
Fishing Rods = fishing rods
Flask = flasks
Gem = gems
Map = map
Quiver = quivers
Ring = rings
Vaal Fragments = vaal fragments
</type>
<base></base> (name)
<name></name> (ex. Cast on Critical Strike)
<dmg_min></dmg_min>
<dmg_max></dmg_max>
<aps_min></aps_min>
<aps_max></aps_max>
<crit_min></crit_min>
<crit_max></crit_max>
<dps_min></dps_min>
<dps_max></dps_max>
<edps_min></edps_min>
<edps_max></edps_max>
<pdps_min></pdps_min>
<pdps_max></pdps_max>
<armour_min></armour_min>
<armour_max></armour_max>
<evasion_min></evasion_min>
<evasion_max></evasion_max>
<shield_min></shield_min>
<shield_max></shield_max>
<block_min></block_min>
<block_max></block_max>
<sockets_min></sockets_min>
<sockets_max></sockets_max>
<link_min></link_min>
<link_max></link_max>
<sockets_r></sockets_r>
<sockets_g></sockets_g>
<sockets_b></sockets_b>
<sockets_w></sockets_w>
<linked_r></linked_r>
<linked_g></linked_g>
<linked_b></linked_b>
<linked_w></linked_w>
<rlevel_min></rlevel_min> (req minimum level)
<rlevel_max></rlevel_max> (req maximum level)
<rstr_min></rstr_min> (req minimum strength)
<rstr_max></rstr_max> (req maximum strength)
<rdex_min></rdex_min> (req minimum dexterity)
<rdex_max></rdex_max> (req maximum dexterity)
<rint_min></rint_min> (req minimum intelligence)
<rint_max></rint_max> (req maximum intelligence)
<impl></impl> (Implicit mod)
<impl_min></impl_min>
<impl_max></impl_max>
<q_min></q_min>
<q_max></q_max>
<level_min></level_min>
<level_max></level_max>
<mapq_min></mapq_min>
<mapq_max></mapq_max>
<rarity></rarity>
<seller></seller>
<thread></thread>
<time></time> (Last time seen. Empty for week ago or date in YYYY-MM-DD format)
<corrupted></corrupted>
<online></online> (empty or x)
<altart></altart>
<capquality></capquality>
<buyout></buyout> (empty or x)
<buyout_min></buyout_min>
<buyout_max></buyout_max>
<buyout_currency></buyout_currency> (chaos, blessed, chisel, chromatic,
divine, exalted, gcp, jewellers, alchemy, alteration,
chance, fusing, regret, scouring, regal)
<crafted></crafted>
Mods go to their own tags Example:
<mods>
<mod>
<modname>NAME1</modname>
<modexclude>x</modexclude>
</mod>
<mod>
<modname>NAME2</modname>
<modmin>10</modmin>
<modmax>20</modmax>
</mod>
<mod>
<modname>NAME3</modname>
</mod>
</mods>
Following is an example of valid xml:
<?xml version="1.0"?>
<items>
<item>
<league>Standard</league>
<name>Cast on Critical Strike</name>
</item>
<item>
<league>Standard</league>
<name>Multistrike</name>
<q_min>10</q_min>
<q_max>16</q_max>
<buyout>x</buyout>
</item>
<item>
<league>Standard</league>
<link_min>6</link_min>
<mods>
<mod>
<modname>+1 maximum Power Charge</modname>
</mod>
<mod>
<modname>#% increased Critical Strike Chance</modname>
<modmin>30</modmin>
</mod>
</mods>
</item>
</items>