Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Weather plugin for Phergie

Phergie plugin for returning weather information for a given location.

Build Status Test Coverage Code Climate Buy me a beer


This plugin provides a method for performing weather lookups for a specified town/city/zip code. OpenWeatherMap, the default provider, simply requires a location to search on, whereas the Wunderground provider requires a location and a country. Future providers may have similar inconsistencies, but if you're using the CommandHelp plugin you should always be able to find the correct syntax for your provider of choice by by running "help weather" from within IRC.


The recommended method of installation is through composer.

composer require chrismou/phergie-irc-plugin-react-weather

See Phergie documentation for more information on installing and enabling plugins.


This plugin requires the Command plugin to recognise commands, and the http plugin to query Google for your search results.

If you're new to Phergie or Phergie plugins, see the Phergie setup instructions for more information. Otherwise, add the following references to your config file:

return array(
	// ...
    'plugins' => array(
		new \Phergie\Irc\Plugin\React\Command\Plugin,   // dependency
		new \Phergie\Plugin\Dns\Plugin,                 // dependency
		new \Phergie\Plugin\Http\Plugin,                // dependency
		new \Chrismou\Phergie\Plugin\Weather\Plugin(array(
            "config" => array("appId" => "YOUR_APP_ID")

The default provider is OpenWeatherSearch, which requires a free api key to use (you can get one from here). To use OpenWeatherMap, you only need to provide the API key.

There's also a Weather Underground provider included. It's a bit of a work in progress - it currently requires a city and country and tends to not find the location as often - but it does work. If you think you can improve it, feel free to fork/fix/pull request or send me your suggestions. :)

Weather underground also requires an API key, which can you get for free from here. You'll also need to specify you're using this provider in your Phergie config:

new \Chrismou\Phergie\Plugin\Weather\Plugin(array(
	'provider' => 'Chrismou\\Phergie\\Plugin\\Weather\\Provider\\Wunderground',
    "config" => array("appId" => "YOUR_APP_ID")


Or if you know of any other weather services, you can write your own - feel free to fork and improve!

Current request limits:

  • Open Weather Map: 4,000,000/day (max. 3000/min)
  • Weather Underground: 500/day (max. 10/min)


To run the unit test suite:

curl -s | php
php composer.phar install

If you use docker, you can also run the test suite against all supported PHP versions:



Released under the BSD License. See LICENSE.