WoW:Telepathy: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
m (minor spelling and grammatical corrections)
(Update with whisper changes)
Line 2: Line 2:
*Network Chat Communication Library for Mods
*Network Chat Communication Library for Mods


*Telepathy is a chat communications library for cross client addon information sharing. It uses SendAddonMessage for "PARTY", "RAID", "GUILD" or "BATTLEGROUND" communication and hidden chat messages for "GLOBAL" or "WHISPER" communication. Global comm uses a global (faction/server wide) channel called "GlobalComm" while whispers are prefixed with "<nowiki><T></nowiki>" and hidden on the sending and receiving ends.
*Telepathy is a chat communications library for cross client addon information sharing. It uses SendAddonMessage for "PARTY", "RAID", "GUILD", "BATTLEGROUND" or "WHISPER" communication and a hidden (faction/server wide) chat channel for "GLOBAL" communication called "GlobalComm".


*Telepathy maintains a user list of everyone in the "GlobalComm" channel, but because other addons also use this standard comm channel it does not mean they are necessarily using Telepathy. Telepathy will automatically join "GlobalComm" after the other channels have loaded if an addon has registered a listener for "GLOBAL". The player can also opt to disable auto-join/leave using "/gcautojoin 0" or "/gcautojoin 1" to enable it again.
*Telepathy maintains a user list of everyone in the "GlobalComm" channel, but because other addons also use this standard comm channel it does not mean they are necessarily using Telepathy. Telepathy will automatically join "GlobalComm" after the other channels have loaded if an addon has registered a listener for "GLOBAL". The player can also opt to disable auto-join/leave using "/gcautojoin 0" or "/gcautojoin 1" to enable it again.
Line 24: Line 24:
*Datagrams are automatically fragmented, queued and reconstructed for multiple message transfers
*Datagrams are automatically fragmented, queued and reconstructed for multiple message transfers
*Telepathy.sendTable allows for serialization and direct transfer of lua tables for everything but functions
*Telepathy.sendTable allows for serialization and direct transfer of lua tables for everything but functions
*Telepathy global and whisper messages are automatically forcibly suppressed via a ChatFrame_OnEvent hook and the other messages are not read by the default ChatFrames. This can also be circumvented for debugging.
*Telepathy global messages are automatically forcibly suppressed via a ChatFrame_OnEvent hook and the other messages are not read by the default ChatFrames. This can also be circumvented for debugging.
*Verbose debug options for seeing hidden chat and diagnosing problems using Sea.io.error (prints to chatframe or optionally ImprovedErrorFrame)
*Verbose debug options for seeing hidden chat and diagnosing problems using Sea.io.error (prints to chatframe or optionally ImprovedErrorFrame)



Revision as of 17:29, 18 July 2007

Summary

  • Network Chat Communication Library for Mods
  • Telepathy is a chat communications library for cross client addon information sharing. It uses SendAddonMessage for "PARTY", "RAID", "GUILD", "BATTLEGROUND" or "WHISPER" communication and a hidden (faction/server wide) chat channel for "GLOBAL" communication called "GlobalComm".
  • Telepathy maintains a user list of everyone in the "GlobalComm" channel, but because other addons also use this standard comm channel it does not mean they are necessarily using Telepathy. Telepathy will automatically join "GlobalComm" after the other channels have loaded if an addon has registered a listener for "GLOBAL". The player can also opt to disable auto-join/leave using "/gcautojoin 0" or "/gcautojoin 1" to enable it again.


Download

Features

  • Embeddable library
  • Works for raids, parties, guilds and battlegrounds
  • Standard/shared global channel name (only ever uses 1 and it is only joined when used)
  • Addons merely needs to register a listener and send messages with the Telepathy API for minimal usage
  • Performs basic flood control through ChatThrottleLib
  • Message priority system for alerts, bulk data and normal messages.
  • Datagrams are automatically fragmented, queued and reconstructed for multiple message transfers
  • Telepathy.sendTable allows for serialization and direct transfer of lua tables for everything but functions
  • Telepathy global messages are automatically forcibly suppressed via a ChatFrame_OnEvent hook and the other messages are not read by the default ChatFrames. This can also be circumvented for debugging.
  • Verbose debug options for seeing hidden chat and diagnosing problems using Sea.io.error (prints to chatframe or optionally ImprovedErrorFrame)

Built-in Slash Commands

  • /gcautojoin 1/0 - Allow (1) or Dissallow (0) auto-joining of a GlobalComm Channel when needed

Quick Start Example

Minimal Required Example

Basic Example of a Telepathy command:

Telepathy.registerListener("TelepathyTest", "WHISPER",
	function(msg, sender) Sea.io.printComma("TelepathyTester1: ", msg, sender) end
);

Telepathy.sendMessage("TelepathyTest", "This whisper is invisible!", "WHISPER", UnitName('player'));

User Functions

  • Outbound Messages
    • sendMessage - Sends a hidden text message to a specified target or channel.
    • sendTable - Sends a lua serialized object using Telepathy.
  • Listener Registration
  • Global Channel Management

Embedding

To embed Telepathy in your addon:

1) Drop the Telepathy folder in your addon folder
2) Either add the following to your xml file:
<Include file="Telepathy\Telepathy.xml"/>
Or add this line to your toc file:
Telepathy\Telepathy.xml
3) Add the following line to your toc:
SavedVariablesPerCharacter: Telepathy_Config