concierge-bot
v5.0.1
Published
Extensible general purpose chat bot.
Downloads
74
Readme
Concierge
(Karma + Sassy) * (Discord + Facebook + Messenger + Slack + Skype + Telegram) = Concierge
Concierge is a modular, easily extensible general purpose chat bot. It is platform agnostic and will work with any social network desired (provided an integration module). The bot utilises small node.js modules for responding in a chat. You can write your own modules and place them in the modules directory, or use existing modules we've collated here. Existing modules include a variety of functionality from getting gifs, to running arbitrary sandboxed JavaScript code, voting and giving karma.
Furthermore Concierge is compatible with Hubot adapters and scripts.
Experiment with our hosted Concierge instance on discord.
Getting Started
Pre-Requisites
Make sure you have Node.JS and NPM installed and added to your system PATH before installing Concierge. It is also highly recommended you do the same with GIT.
Installation
Installation can either be done using npm
(global or local) or git
(see which approach is right for you here).
NPM (global)
npm install concierge-bot -g
GIT
git clone https://github.com/concierge/Concierge.git Concierge
cd Concierge
npm install
NPM (local) For all documentation regarding local installs, refer to Usage Types.
Starting Up
Concierge comes ready-to-run, so to start the bot:
- In the directory being used for Concierge development run the following command:
- NPM global:
concierge
- git:
node main.js
- NPM global:
- On the first run, provided GIT is installed some default modules will be installed (see here for details)
- After startup you will see the following prompt:
Concierge-bot>
This is the default Test
integration Concierge assumes if no other is specified during startup (more on this below).
- You can further test the bot's responses by calling a few of the default commands. Try entering
/ping
in the terminal and press enter. - It should reply back with something like:
Concierge-bot 4.0.0-beta.0 @ Raven (Linux x64)
If everything worked without any errors,
Congratulations!
Now let's go a step further and connect Concierge with an actual social network
Integrating with a social network
This simply requires installing the social network's integration
in the modules
directory.
kpm is a great module that makes this process a piece of cake. The process can be generalized into the following steps
- Run Concierge and ensure
kpm
was successfully loaded. - Use
/kpm install <integration_name>
to install the integration where<integration_name>
is the name of the social network integration. - Use
/kpm config
with appropriate arguments (account email, account password, etc.) to set up the integration for connecting with the social network. Specific arguments and instructions on how to set them can be found in the integration's documentation. - Use
/kpm start <integration_name>
to start the integration.
Why not try integrating Concierge with Facebook by following the instructions here.
Links to configuring other integrations can be found in the documentation section below.
What Now
Now you can customize your Concierge by installing or creating your own modules.
- You can install an existing modules from the KPM Modules List. Use the
/kpm
module (which is installed by default) to install using the KPM List. - You can install any Concierge or Hubot modules from NPM.
- Or create your own modules by following the Module Creation guide.
Hint: Use /help kpm
to find out how to install a module or have a look at the KPM List for a more elaborate instructions.
Documentation
- Creating Modules
- KPM Modules Table
- Default Commands
- Usage Types
- Usage Example/Overview
- Integrations (Integrations are chat platforms that Concierge integrates into)
- Existing Integrations. Look here for documentation on how to set them up.
- Creating Integrations
- CLI Arguments, Debugging and Logging
- Docker
- Contributing
Testing
Contributions
Contributions welcome, see Contributing.
Copyright and License
Licensed under the MIT license. Unless otherwise specified, code is Copyright (c) Matthew Knox 2017.