Phergie plugin for returning weather information for a given location
Phergie plugin for returning weather information for a given location.
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.
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!
- 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 https://getcomposer.org/installer | php php composer.phar install ./vendor/bin/phpunit
If you use docker, you can also run the test suite against all supported PHP versions:
Released under the BSD License. See