Writing PlugIns for Colloquy
Colloquy opens up a lot of hooks to plugin developers to provide additional functionality or process chat messages. Plugins can be written in Objective-C (utilizing Cocoa), AppleScript, F-Script, JavaScript, Python and soon Ruby. Most hooks exist in all plugin types, but more advanced plugins can be written with Cocoa and F-Script.
AppleScript
To develop AppleScript PlugIns, you will need:
- Apple's Script Editor.
- Colloquy's Scripting Dictionary (available from within Script Editor).
- Reasonably good knowledge of AppleScript.
F-Script
To develop F-Script PlugIns, you will need:
- A plain text editor (TextEdit is fine in plain-text mode).
- The F-Script framework (available from the F-Script site).
- The latest list of block names Colloquy looks for (available in the Colloquy SDK F-Script template).
- Reasonably good knowledge of F-Script, Colloquy classes and utilizing the Cocoa frameworks.
JavaScript
To develop JavaScript PlugIns, you will need:
- A plain text editor (TextEdit is fine in plain-text mode).
- The latest list of function names Colloquy looks for (available in the Colloquy SDK JavaScript template).
- Reasonably good knowledge of JavaScript, Colloquy classes and utilizing the Cocoa frameworks.
Objective-C
To develop Objective-C PlugIns, you will need:
- Apple's Xcode (Project Builder is no longer supported).
- Colloquy Headers from the Objective-C SDK (or fresh from the Subversion Repository).
- Reasonably good knowledge of programming in general, and Objective-C utilizing the Cocoa frameworks. This is not for beginners!
Python
To develop Python PlugIns, you will need:
- A plain text editor (TextEdit is fine in plain-text mode).
- The PyObjC framework (available from the PyObjC site).
- The latest list of function names Colloquy looks for (available in the Colloquy SDK Python template below).
- Reasonably good knowledge of Python, Colloquy classes and utilizing the Cocoa frameworks.
Ruby
Colloquy currently does not ship with Ruby plugin support; however, it is in the works. If you have a good knowledge of Ruby and RubyCocoa, feel free to help us finish our Ruby scripting support.
Installing PlugIns for Colloquy
PlugIns can be installed in one of the following places:
~/Library/Application Support/Colloquy/PlugIns /Library/Application Support/Colloquy/PlugIns /Network/Library/Application Support/Colloquy/PlugIns
Colloquy PlugIn SDK
The current SDK can be downloaded here and includes examples and headers you will need to get started.
The Colloquy plugin system is constantly evolving as areas are highlighted that need to be addressed to add more flexibility. With the current system, it's possible to create a wide range of plugins. However, if you start writing a plugin and find you are unable to do exactly what you would like, just let me know.
