Skip to content

scripting client_plugins

Darren edited this page Feb 4, 2016 · 2 revisions

Client Plugins

Client plugins are installed by the kiwi server admin and are loaded into the client automatically when the web page loads.

Common uses for client plugins is to extend the functionality of the Kiwi client without modifying the source code directly each time. This keeps Kiwi updates cleaner in future.

Structure of a client plugin

A client plugin is a .html file that can be sat in your path_to_kiwiirc/client/plugins/ folder. This file is loaded into the Kiwi client after the client has been loaded, initialized and ready to be displayed. This file is a standard HTML file, you may use any standard web page assets in your plugin, including <script> tags. (If you are familiar with jQuery, at the heart of it all it uses jQuery.load(your_plugin_url) to load your plugin file)

To get your file loading into the client you must tell the server to include it. This is done by adding the URL to your plugin file name into your config.js file under the conf.client_plugins section. You may add as many plugins as you like - but remember that each one is more that the browser has to download. Too many can slow things down! A config example would be:

    conf.client_plugins = [
        '/kiwi/plugins/your_plugin.html'
    ];

A client plugin example

A common request for Kiwi is to have it automatically connect without having to click 'Start'. (Note: Whilst this is unadvised as it opens you up to potential abuse, it is still heavily requested so please be warned!)

  1. Create the plugin file We will call our plugin 'auto_connect'. So lets create our empty plugin file at: path_to_kiwi/client/assets/plugins/auto_connect.html

  2. Add some plugin code As a quick and dirty way around auto connecting, we will simulate somebody clicking the 'Start' button as soon as the page has loaded. We can use simple jQuery for this, so add the following to your plugin code:

  <script>
      // Event fired after all plugins are loaded and Kiwi is ready
      kiwi.events.on('loaded', function() {
          $('.server_details .start button').click();
      });
  </script>
  1. Include the plugin into your client Now it's time to open up your config.js file (You have copied config.example.js to config.js already, haven't you?). Find the section named conf.client_plugins and the following: '/kiwi/assets/plugins/auto_connect.html'

  2. Reload the Kiwi configuration and try it out Back in your terminal/prompt, force Kiwi to re-load its config files via ./kiwi reconfig. If everything is in place, the Kiwi client should now be loading your new plugin on startup and automatically connecting.