LibAlts provides an API to register and retrieve alternate identity information between addons. It maintains main-alt relationships. A given character can be defined as a main with one or more alts.
- :SetAlt(main, alt, source) - Associate a main name with an alt name. An optional source can be specified. If no source is specified, it is added the user-defined source.
- :GetAlts(main) - Get a list of alts for a given name.
- :GetMain(alt) - Get the main character associated with a given name.
- :GetAllMains() - Get a list of all main characters.
- :IsMain(main) - Is the given name a main character.
- :IsAlt(alt) - Is the given name an alternate character.
- :DeleteAlt(main, alt, source) - Delete the main-alt relationship. An optional source can be specified. If no source is specified, it is deleted from the user-defined source.
- :TitleCase(name) - Return the name in title case. The first letter is capitalized and the rest are lower case.
Sources are a way to differentiate the data entered into LibAlts. User-defined data will have no source (i.e., the source is nil). Sources provide a solution to problems such as automated guild imports. If the information pushed into LibAlts from guild notes is placed into the same area as user-defined notes, then re-importing it later is problematic. If the guild data has its own area, it is easy to wipe that data and re-import it.
When adding data from automated sources, the source name needs to be unique. As a convention, data added for a guild should have the GUILD_PREFIX constant prepended to the guild name returned from the GetGuildInfo() API call. Data from an addon should have the ADDON_PREFIX prepended to the addon name.
LibAlts will merge data from all sources when answering queries, unless you use one of the *ForSource functions that allows you to query a particular source.
- :GetAltsForSource(main, source) - Get a list of alts for a given name for the given source.
- :GetMainForSource(alt, source) - Get the main character associated with a given name for the given source.
- :GetAllMains(source) - Get a list of all main characters for the given source.
- :IsMainForSource(main, source) - Is the given name a main character.
- :IsAltForSource(alt, source) - Is the given name an alternate character.
- :RemoveSource(source) - Remove all data for the given source.
- GUILD_PREFIX - A constant to prepend to source names for imported guild data.
- ADDON_PREFIX - A constant to prepend to source names for addon automated data.
- LibAlts_SetAlt - Fired after SetAlt() is called.
- LibAlts_RemoveAlt - Fired after DelAlt() is called
- LibAlts_RemoveSource - Fired after RemoveSource() is called.