Elixir client for the Wit API. Wit is the natural language engine for creating Bots.
API documentation is available at https://hexdocs.pm/elixir_wit
The package can be installed as:
- 
Add elixir_wit to your list of dependencies in mix.exs:def deps do [{:elixir_wit, "~> 0.1.0"}] end 
To handle the different actions from the Wit.ai API you have to create a module that implements the default callbacks and also custom actions if you have any.
The custom actions can be created by defaction macro. It expected to have two parameters i.e. session which is the session id and the context which contains the context of the conversation. The name of the custom action should match the one registered in Wit.
defmodule WeatherActions do
  use Wit.Actions
  def say(session, context, message) do
    # Send the message to the user
  end
  def merge(session, context, message) do
    context # Return the updated context
  end
  def error(session, context, error) do
    # Handle error
  end
  defaction fetch_weather(session, context) do
    context # Return the updated context
  end
end
After you have create the action module you can call the Wit using the module which will keep on calling the wit /converse API until the API returns stop.
Wit.run_actions(access_token, session_id, WeatherActions, "What is the weather?")
You can also use interactive\4 which creates an interactive session with your model in Wit.
The client also provides the functions to call the low level message and converse API.