Luna is my personal assistant chatbot.
It's build with ChatterBot and with pyTelegramBotAPI (and, of course, with some good ❤).
-
Luna has a cool conversational dialog engine, which allows her to hold a fluid conversation (the longer the corpus training used for the initial boosting, the better quality of conversations).
-
She likes to speak by Telegram.
-
She learns very quickly. She has a confidence rate, located in the
config\bot.json
which determines in a scale 0-1 how sure she has to be with her answer to actually respond to you. If she can't reach a statement with that level of confidence to your message, she asks you to teach her the appropriate answer, and she adds it to the database. -
She can auto-regulate her own params. If you want her to increment the confidence ratio of her answers (and therefore reduce the number of errors), you can tell her to change it, and she edits the file for you.
-
Aditionally to the normal conversations, she can also do a set of custom tasks for you, like waking you up at a certain time or taking a list of to-do notes. You can add your own custom tasks by writting them on the
utils\commands.json
andutils\command_handlers.py
files.
-
Clone/download the repo and run the
setup.py
file. -
Install the dependencies with
pip install requisites.txt
-
Talk to the Bot Father on Telegram and ask him to give you a Telegram API key.
-
Write your Telegram API key on the
config\apis.json
file, and also add your telegram username to theconfig\user.json
file (Luna will only answer to your messages).
-
When she learns a new response to a sentence, if you want her to forget that response, you need to edit the SQLite database. It would be nice if she could forget that response by herself, like a custom command.
-
More custom commands are on the way (search on google, music/movies recommendation, integration with some APIs like maps, calendar, etc...).
Of course! MIT License <3
have fun!