Define a Handler behaviour and default implementations.
handle_action(message :: String.t(), sender :: String.t(), chat :: String.t()) :: any()
handle_connected(server :: String.t(), port :: integer()) :: any()
handle_disconnected() :: any()
handle_join(chat :: String.t()) :: any()
handle_join(chat :: String.t(), user :: String.t()) :: any()
handle_kick(chat :: String.t(), kicker :: String.t()) :: any()
handle_kick(chat :: String.t(), user :: String.t(), kicker :: String.t()) :: any()
handle_logged_in() :: any()
handle_login_failed(reason :: atom()) :: any()
handle_mention(message :: String.t(), sender :: String.t(), chat :: String.t()) :: any()
handle_message(message :: String.t(), sender :: String.t(), chat :: String.t()) :: any()
handle_part(chat :: String.t()) :: any()
handle_part(chat :: String.t(), user :: String.t()) :: any()
handle_unrecognized(msg :: any()) :: any()
handle_whisper(message :: String.t(), sender :: String.t()) :: any()