phergie / phergie-irc-plugin-dns
Phergie plugin for Looking up IP's by hostnames
Installs: 1 414
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 5
Forks: 2
Open Issues: 0
Requires
- php: >=5.5
- phergie/phergie-irc-bot-react: ^2.0
- react/dns: ^0.4.1
Requires (Dev)
Suggests
- phergie/phergie-irc-plugin-react-command: Required if you want to make use of the command support
README
Phergie plugin for Looking up IP's by hostnames.
Install
To install via Composer, use the command below, it will automatically detect the latest version and bind it with ~
.
composer require phergie/phergie-irc-plugin-dns
See Phergie documentation for more information on installing and enabling plugins.
Configuration
new \Phergie\Plugin\Dns\Plugin([ // All configuration is optional 'dnsServer' => '1.2.3.4', // IP address of a DNS server, defaults to Google's 8.8.8.8 // or 'command' => 'customDns', // command name, defaults to dns // or 'resolver' => new React\Dns\Resolver\Resolver(), // provide your own Resolver instance // defaults to null and is set at first use // (don't use this unless you know what you are doing!) // or 'enableCommand' => false, // enable use access to the dns command ])
Events
This plugin listens on a few events providing the resolver to other plugins that wish to make use of it.
dns.resolve
The dns.resolve
event accepts a callback that will be called with a Promise
that will resolve once the given hostname has been resolved. (If promises are new to you, be sure to read this.)
$this->emitter->emit('dns.resolve', [function($promise) use ($callback, $that) { $promise->then(function($ip) { echo 'IP for github.com: ' . $ip . PHP_EOL; }); }]);
dns.resolver
The dns.resolver
event accepts a callback that will be called once a Resolver
instance has been created.
$this->emitter->emit('dns.resolver', [function($resolver) use ($callback, $that) { $resolver->resolve('github.com')->then(function($ip) { echo 'IP for github.com: ' . $ip . PHP_EOL; }); }]);
Tests
To run the unit test suite:
curl -s https://getcomposer.org/installer | php
php composer.phar install
cd tests
../vendor/bin/phpunit
License
Released under the MIT License. See LICENSE
.