Chat Core is the code for instant messaging that is used by Thunderbird. It provides a number of functions and capabilities, including:
Communications protocols - IRC, Matrix, XMPP (and XMPP-based protocols)
The Chat Core code lives in the chat/ directory of comm-central.
The Chat Core code used by Thunderbird has some abstractions to deal with the differences between protocols (e.g. IRC vs. XMPP).
Contacts are at the heart of instant messaging, and thus the Chat Core has a way to abstract to a "person" (represented by an
imIContact instance), which might connect to multiple networks, etc.
This is a list of the available keyboard shortcuts with brief descriptions of what they do.
Chat Core uses a message style system based on HTML, JS and CSS that is very similar to the one created for Adium. If you plan to create a message style, reading the Adium documentation on the topic may be helpful -- see this tutorial and this reference sheet.
This is a page for documenting the notifications in Thunderbird. This is likely out of date. Notifications are grouped by interface you need to attach the observer to.