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: CharacterDomain

Manage 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:

UseItemSchema

Parameters:
  • code (str)

  • quantity (int)

async delete(*, code, quantity=1)[source]

Permanently delete an item from inventory.

Return type:

DeleteItemSchema

Parameters:
  • code (str)

  • quantity (int)

Equipment

Equipment domain – equip and unequip items.

class artifacts.domains.equipment.EquipmentDomain[source]

Bases: CharacterDomain

Manage 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:

EquipRequestSchema

Parameters:
  • code (str)

  • slot (ItemSlot)

  • quantity (int)

async unequip(*, slot, quantity=1)[source]

Unequip an item from a slot.

Return type:

EquipRequestSchema

Parameters:

Bank

Bank domain – gold and item deposits/withdrawals.

class artifacts.domains.bank.BankDomain[source]

Bases: CharacterDomain

Manage 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:

BankGoldTransactionSchema

Parameters:

quantity (int)

async withdraw_gold(*, quantity)[source]

Withdraw gold from the bank.

Return type:

BankGoldTransactionSchema

Parameters:

quantity (int)

async deposit_items(items)[source]

Deposit items into the bank.

Return type:

BankItemTransactionSchema

Parameters:

items (list[SimpleItemSchema])

async withdraw_items(items)[source]

Withdraw items from the bank.

Return type:

BankItemTransactionSchema

Parameters:

items (list[SimpleItemSchema])

async buy_expansion()[source]

Purchase a 20-slot bank expansion.

Return type:

BankExtensionTransactionSchema

Grand Exchange

Grand Exchange domain – marketplace operations.

class artifacts.domains.ge.GrandExchangeDomain[source]

Bases: CharacterDomain

Manage 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:

GETransactionListSchema

Parameters:
  • id (str)

  • quantity (int)

async sell(*, code, quantity, price)[source]

Create a sell order on the Grand Exchange.

Return type:

GEOrderTransactionSchema

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:

GEOrderTransactionSchema

Parameters:
  • code (str)

  • quantity (int)

  • price (int)

async fill(*, id, quantity)[source]

Fill an existing buy order.

Return type:

GETransactionListSchema

Parameters:
  • id (str)

  • quantity (int)

async cancel(*, id)[source]

Cancel an existing order.

Return type:

GEOrderTransactionSchema

Parameters:

id (str)

Skills

Skills domain – gathering, crafting, recycling.

class artifacts.domains.skills.SkillsDomain[source]

Bases: CharacterDomain

Manage 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 gather()[source]

Gather a resource at the current map location.

Return type:

SkillDataSchema

async craft(*, code, quantity=1)[source]

Craft an item.

Return type:

SkillDataSchema

Parameters:
  • code (str)

  • quantity (int)

async recycle(*, code, quantity=1)[source]

Recycle an item into materials.

Return type:

RecyclingDataSchema

Parameters:
  • code (str)

  • quantity (int)

Tasks

Tasks domain – task lifecycle management.

class artifacts.domains.tasks.TasksDomain[source]

Bases: CharacterDomain

Manage 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 new()[source]

Accept a new task from the Tasks Master.

Return type:

TaskDataSchema

async complete()[source]

Complete and turn in the current task.

Return type:

RewardDataSchema

async exchange()[source]

Exchange 6 task coins for a reward.

Return type:

RewardDataSchema

async trade(*, code, quantity)[source]

Trade items with the Tasks Master.

Return type:

TaskTradeDataSchema

Parameters:
  • code (str)

  • quantity (int)

async cancel()[source]

Cancel the current task (costs 1 task coin).

Return type:

TaskCancelledSchema

Trading

Trading domain – NPC merchants and player-to-player transfers.

class artifacts.domains.trading.TradingDomain[source]

Bases: CharacterDomain

Manage 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:

NpcMerchantTransactionSchema

Parameters:
  • code (str)

  • quantity (int)

async npc_sell(*, code, quantity=1)[source]

Sell to an NPC merchant.

Return type:

NpcMerchantTransactionSchema

Parameters:
  • code (str)

  • quantity (int)

async give_gold(*, quantity, character)[source]

Give gold to another character.

Return type:

GiveGoldDataSchema

Parameters:
  • quantity (int)

  • character (str)

async give_items(*, items, character)[source]

Give items to another character.

Return type:

GiveItemDataSchema

Parameters:
  • items (list[SimpleItemSchema])

  • character (str)