chrismou/php-irc-text-formatting

PHP library for adding color and styling to IRC text output

v1.0.1 2015-12-03 15:16 UTC

This package is auto-updated.

Last update: 2024-12-12 04:23:29 UTC


README

PHP library for adding color and styling to IRC text output

Build Status Test Coverage Code Climate Buy me a beer

About

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.

Install

The recommended method of installation is through composer.

composer require chrismou/php-irc-text-formatting

Configuration

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;
    ...
}

Usage

The 3 methods available are color, style and rainbow.

Color

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

Style

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.

Rainbow

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

Tests

To run the unit test suite:

curl -s https://getcomposer.org/installer | php
php composer.phar install
./vendor/bin/phpunit

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

curl -s https://getcomposer.org/installer | php
php composer.phar install
./vendor/bin/dunit

License

Released under the BSD License. See LICENSE.