ikxbot / ikx
Ikx IRC Bot
Requires
- ext-pcntl: *
- hassankhan/config: ^2.0
- ikxbot/core: ^1.1
- ikxbot/module-core: ^1.1
- illuminate/console: ^5.7
- illuminate/database: ^5.7
- illuminate/events: ^5.7
- illuminate/filesystem: ^5.7
- mongodb/mongodb: ^1.4
- symfony/console: ^4.2
- symfony/yaml: ^4.2
Suggests
- ikxbot/module-auth: Allow user login, registration and levels
- ikxbot/module-fun: Lots and lots of fun with lost and lots of commands
- ikxbot/module-jokes: Adds commands to display jokes in channel
- ikxbot/module-omdb: Adds a command to display information about movies and tv shows
- ikxbot/module-reddit: Adds commands to display reddit threads
- ikxbot/module-shell: Adds a command to allow running shell commands
- ikxbot/module-sms: Adds a command to send SMS messages
- ikxbot/module-spotify: Adds a command to find tracks on Spotify
- ikxbot/module-weather: Adds a command to show the weather in any given location
README
Requirements
Ikx IRC Bot has the following requirements:
- PHP 7.2 or later
- MongoDB v3.6 or later
- cURL extension enabled
- MongoDB extension enabled
Running Ikx on Windows
Due to limitations in PHP's pcntl
extension, running Ikx on Windows is
currently not supported. Please run Ikx on OSX or Linux.
Installation
Installation is simple: just create a project with composer and everything will be installed automatically. Run the following command to install the Ikx IRC Bot:
composer create-project ikxbot/ikx ikx-irc-bot
Ikx IRC bot will be installed in the ikx-irc-bot
folder.
Configuration
Ikx IRC Bot uses a YAML formatted configuration file. See
app/config.example.yml
for a documented configuration example. You can also
use this file to create a configuration file for your own IRC Bot.
Configuration example
defaults:
# Defaults-block
# ---------
# Defines default settings for the bot, which will be shared throughout all networks
# All settings in defaults can me overridden on network level
me:
# Me-block
# ---------
# Identifies the bot on the server
#
# nickname: the bot's nickname(s) (separate with spaces to select a random nickname when connecting)
# altnick: the bot's alternative nickname(s) (separate with spaces to select a random nickname when the nickname is taken)
# username: the bot's username (ident)
# gecos: the bot's gecos (realname)
nickname: "Ikx"
altnick: "Ikx` Ikx_"
username: "IkxBot"
gecos: "IkxBot"
options:
# Options-block
# ---------
# Specify several options for the bot
#
# prefix: Command prefix character
prefix: "-"
networks:
# Networks-block
# ---------
# Specify networks to connect on
# The networks-block is an array, with every item allowing having serveral requirements
#
# identifier: The network identifier
# address: an array of addresses available for this server
# in the format of: <ip>:<+port> <password>
# prefix the port with a plus (+) sign to connect using SSL
#
# Every network also supports a me-block and an options-block, which allows to override the default settings above.
# Only the specified settings in these blocks will be overridden.
- identifier: "Hunter (Dev)"
address:
- "hunter.jrv.cc:+6697"
# - identifier: "DevIRC"
# address:
# - "transip.devirc.net:6667"
# options:
# prefix: ":"
Running the bot
After you have configured the bot, you may want to let it connect to your IRC server. Ikx IRC Bot offers an easy console command which allows to run the bot:
php Ikx run