Character Feature Groups
The Character object organizes its methods into feature groups for better organization.
Instead of having 100+ methods directly on Character, related features are grouped together:
char = client.character("MyCharacter")
# All bank operations under char.bank
char.bank.deposit_gold(quantity=100)
char.bank.withdraw_items(items=[...])
# All crafting under char.skills
char.skills.craft(code="iron_sword")
char.skills.gather()
# All equipment under char.equipment
char.equipment.equip(code="iron_sword", slot="weapon")
# All trading under char.ge
char.ge.sell(code="copper_ore", quantity=10, price=50)
This is just an organizational pattern - these groups are part of the Character object.
Overview
BankDomain - char.bank
Manage your bank account:
# Gold operations
char.bank.deposit_gold(quantity=100)
char.bank.withdraw_gold(quantity=50)
# Item operations
char.bank.deposit_items(items=[...])
char.bank.withdraw_items(items=[...])
# Expand bank
char.bank.buy_expansion()
EquipmentDomain - char.equipment
Manage equipped items:
# Equip items
char.equipment.equip(code="iron_sword", slot="weapon")
char.equipment.equip(code="iron_armor", slot="body_armor")
# Unequip items
char.equipment.unequip(slot="weapon")
SkillsDomain - char.skills
Gather, craft, and recycle:
# Gather resources
result = char.skills.gather()
# Craft items
char.skills.craft(code="iron_sword", quantity=1)
# Recycle items for materials
char.skills.recycle(code="wooden_sword", quantity=5)
GrandExchangeDomain - char.ge
Trade on the market:
# Create sell order
char.ge.sell(code="copper_ore", quantity=10, price=50)
# Create buy order
char.ge.buy(code="iron_ore", quantity=5, price=100)
# View your orders
orders = char.ge.get_orders()
# Cancel an order
char.ge.cancel(order_id="...")
InventoryDomain - char.inventory
Manage inventory:
# View inventory items
items = char.inventory.items()
# Delete items
char.inventory.delete(code="wooden_stick", quantity=1)
TasksDomain - char.tasks
Manage quests:
# Accept a task
char.tasks.accept(code="quest_name")
# Complete a task
char.tasks.complete(code="quest_name")
# Exchange task rewards
char.tasks.exchange(code="quest_name")
TradingDomain - char.trading
Player-to-player trading:
# Create trade request
char.trading.create(...)
# Accept trade
char.trading.accept(...)
# Cancel trade
char.trading.cancel(...)
Detailed Documentation
Bank Operations
Inventory
Inventory domain – item usage and deletion.
- class artifacts.domains.inventory.InventoryDomain[source]
Bases:
CharacterDomainManage inventory items.
Accessed via
character.inventory:await char.inventory.use(code="cooked_chicken", quantity=2) await char.inventory.delete(code="old_sword")
- async use(*, code, quantity=1)[source]
Use a consumable item from inventory.
- Return type:
- Parameters:
code (str)
quantity (int)
Equipment
Equipment domain – equip and unequip items.
- class artifacts.domains.equipment.EquipmentDomain[source]
Bases:
CharacterDomainManage character equipment.
Accessed via
character.equipment:await char.equipment.equip(code="iron_sword", slot=ItemSlot.WEAPON) await char.equipment.unequip(slot=ItemSlot.HELMET)
- async equip(*, code, slot, quantity=1)[source]
Equip an item into a slot.
- Return type:
- Parameters:
code (str)
slot (ItemSlot)
quantity (int)
Bank
Bank domain – gold and item deposits/withdrawals.
- class artifacts.domains.bank.BankDomain[source]
Bases:
CharacterDomainManage bank operations.
Accessed via
character.bank:await char.bank.deposit_gold(quantity=500) await char.bank.withdraw_items(items=[SimpleItemSchema(code="iron_ore", quantity=10)]) await char.bank.buy_expansion()
- async deposit_gold(*, quantity)[source]
Deposit gold into the bank.
- Return type:
- Parameters:
quantity (int)
- async withdraw_gold(*, quantity)[source]
Withdraw gold from the bank.
- Return type:
- Parameters:
quantity (int)
- async deposit_items(items)[source]
Deposit items into the bank.
- Return type:
- Parameters:
items (list[SimpleItemSchema])
- async withdraw_items(items)[source]
Withdraw items from the bank.
- Return type:
- Parameters:
items (list[SimpleItemSchema])
Grand Exchange
Grand Exchange domain – marketplace operations.
- class artifacts.domains.ge.GrandExchangeDomain[source]
Bases:
CharacterDomainManage Grand Exchange operations.
Accessed via
character.ge:await char.ge.sell(code="iron_ore", quantity=10, price=5) await char.ge.buy(id="order-123", quantity=5) await char.ge.cancel(id="order-123")
- async buy(*, id, quantity)[source]
Buy items from an existing sell order.
- Return type:
- Parameters:
id (str)
quantity (int)
- async sell(*, code, quantity, price)[source]
Create a sell order on the Grand Exchange.
- Return type:
- Parameters:
code (str)
quantity (int)
price (int)
- async create_buy_order(*, code, quantity, price)[source]
Create a buy order on the Grand Exchange.
- Return type:
- Parameters:
code (str)
quantity (int)
price (int)
- async fill(*, id, quantity)[source]
Fill an existing buy order.
- Return type:
- Parameters:
id (str)
quantity (int)
Skills
Skills domain – gathering, crafting, recycling.
- class artifacts.domains.skills.SkillsDomain[source]
Bases:
CharacterDomainManage skill actions (gathering, crafting, recycling).
Accessed via
character.skills:await char.skills.gather() await char.skills.craft(code="iron_sword", quantity=2) await char.skills.recycle(code="wooden_shield")
- async craft(*, code, quantity=1)[source]
Craft an item.
- Return type:
- Parameters:
code (str)
quantity (int)
Tasks
Tasks domain – task lifecycle management.
- class artifacts.domains.tasks.TasksDomain[source]
Bases:
CharacterDomainManage tasks from the Tasks Master.
Accessed via
character.tasks:await char.tasks.new() await char.tasks.trade(code="iron_ore", quantity=10) await char.tasks.complete() await char.tasks.exchange()
- async trade(*, code, quantity)[source]
Trade items with the Tasks Master.
- Return type:
- Parameters:
code (str)
quantity (int)
Trading
Trading domain – NPC merchants and player-to-player transfers.
- class artifacts.domains.trading.TradingDomain[source]
Bases:
CharacterDomainManage NPC trading and player-to-player transfers.
Accessed via
character.trading:await char.trading.npc_buy(code="healing_potion", quantity=5) await char.trading.npc_sell(code="iron_ore", quantity=10) await char.trading.give_gold(quantity=100, character="Friend")
- async npc_buy(*, code, quantity=1)[source]
Buy from an NPC merchant.
- Return type:
- Parameters:
code (str)
quantity (int)
- async npc_sell(*, code, quantity=1)[source]
Sell to an NPC merchant.
- Return type:
- Parameters:
code (str)
quantity (int)
- async give_gold(*, quantity, character)[source]
Give gold to another character.
- Return type:
- Parameters:
quantity (int)
character (str)