Clone wiki

LucidBot / Bindings


Bindings are used for tying certain entities to other entities. Bindings are specified using {}. It's a pretty easy to understand concept if you get some examples, so:

Example 1

Use case: User A wants to add an Order for his Elf Mystics to focus their Nightmare casting efforts on a few select targets. He also wants the various team leaders (users B, C and D) in the kingdom to see this order, but would rather that attackers and other non-Elf players don't get spammed about this Order.

Solution: binding the Order to the relevant entities.

Example: !addorder {Elf, Mystic, B, C, D} Focus Nightmares on Province X & Y

Result: when users check for orders, they will only see the orders for which they match the bindings

Example 2

Use case: User A wants to add an Order that only applies to the other admins, but he doesn't want it to be published until 24 hours later. He also wants it to be removed automatically after being live for 48 (72 hours from now) hours.

Solution: bindings!

Example: !addorder {admin, publish 24, expire 72} Bla bla bla

Result: the order will only be visible to admin users, will only show up after 24 hours, and will be removed 48 hours after it's been made visible.

Binding types

With those examples we've gone through all the existing bindings, namely:

  1. Race bindings
  2. Personality bindings
  3. User bindings
  4. Admin only binding (keyword: admin)
  5. Publish binding (keywords: publish, add and set)
  6. Expiry binding (keywords: expire, expires, delete and remove)

The time based bindings (publish and expiry) may be used in 3 different ways. You can specify a real life date & time (for example: 2012-12-24 18:00. Note that it's in your local time), a utopia date (for example: May 18, YR7) or in hours from now like in the example above.

Whether bindings are applicable to a command or not is shown in the syntax description for the command.