alice
alice copied to clipboard
A spirited and game-loving Slack bot featuring a functional pipeline architecture and natural language processing capabilities.
What is Alice?
Alice is an AI-infused Slack bot, but so much more. She's a friend. She's a companion. She's the only bot you'll ever love.
For her history and a look at what makes her tick, check out my talk from Strange Loop 2017.
Overall Architecture
Key Models & Namespaces
Setting Up Alice
Prepping Alice
Before you start, make sure to run bundle
Next, rename config/mongoid.yml.sample
to mongoid.yml
Also rename .env.sample
to .env
and set the appropriate environment variables.
Run the following from Terminal to initialize basic commands:
ruby db/commands/import.rb
Running the Bot
Deploy to your favorite hosting environment and set up incoming and outgoing integrations with Slack according to their documentation.
If you're using Heroku, be sure to copy the relevant values from the .env
file to your application's configuration.
Debugging
irb -r ./alice.rb
message = Message::Message.new("coraline", "Alice, who is @alva?")
Message::Command.process(message)