PHP library for adding color and styling to IRC text output
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

IRC color/style library for PHP

PHP library for adding color and styling to IRC text output

Build Status Test Coverage Code Climate Buy me a beer


This plugin is designed to provide IRC script writers a simple way to add colors/styles to their output. It should be compatible with most major PHP IRC bots, such as Phergie.


The recommended method of installation is through composer.

composer require chrismou/php-irc-text-formatting


To begin adding formatting to ouput text within your own applications, you'll need to include it in your project. The simplest way of doing this is as follows:

protected $format;

function __construct(array $config=array())
    $this->format = new \Chrismou\Irc\TextFormatting\Format;

Or, if you're only using it once, you can just include it directly in your method.

public function foo
    $format = new \Chrismou\Irc\TextFormatting\Format;


The 3 methods available are color, style and rainbow.


This takes 3 parameters. First is the text, second is the text color, third is the background colour (optional).

$format = new \Chrismou\Irc\TextFormatting\Format;
$format->color("This text will be red", "red");
$format->color("This text will be blue on a green background", "blue", "green");

Available color codes:

  • white
  • black
  • blue
  • green
  • red
  • brown
  • purple
  • orange
  • yellow
  • lightGreen
  • teal
  • cyan
  • lightBlue
  • pink
  • grey
  • lightGrey


This takes 2 parameters. First is the text, second is the style to use.

$format = new \Chrismou\Irc\TextFormatting\Format;
$format->style("This text will be underlined", "underline");

Available style codes:

  • bold
  • underline
  • reverse (switches foreground and background color)

I've purposely excluded strikethrough and italic codes as support for them among IRC clients is fairly poor.


This takes a single parameter - the text - and gives the string a rainbow colouring.

$format = new \Chrismou\Irc\TextFormatting\Format;
$format->rainbow("This text will be FABULOUS"); // produces rainbow coloured text


To run the unit test suite:

curl -s | php
php composer.phar install

Or to test on all supported versions, ensure docker is installed and running, then run:

curl -s | php
php composer.phar install


Released under the BSD License. See LICENSE.