/NestorBot

A chatbot to handle common repetitive enterprise mail tasks to give more bandwidth to an individual increasing productivity.

Primary LanguagePython

NESTORBot - Your companion to handle mails

[This project is no longer developed/maintained. Used for references only.]

Have you ever wondered about the usual day at work? You get to office, check your important mails, reply or compose new urgent/important and set new tasks according to mail status. You also set new contacts on basis of the mails. Many mails are also frequently repetitive - like the time you take the late office cab, or the status report to your boss.

If you think you are spending more time on this (And can't outsource!) and have less time on actual work, Nestor can help you.

Features planned (in no particular order)

  • Create and send mail [Working with smtplib and GMail API]
  • Read important mails - user requests [Not yet started]
  • Send calendar meeting invites and fix non-conflicting times [Not yet started]
  • Add contacts [Not yet started]
  • Important notifications - priority mails/ meeting notify [Not yet started]
  • Adding mail templates [Not yet started]

Installation

Nestor uses Micrsoft Bot builder and pybotframework.

Prerequisite : Python 3 (Anaconda preferred in case of windows)

  1. Install Microsoft Bot Framework Emulator - BotBuilder
  2. Install pybotframework (This will install flask and other backbones of Nestor) - PyBotFramework
  3. Clone this repo -
git clone https://github.com/amartyaamp/NestorBot.git

Running Nestor

  1. Run the flask app
python NestorBot.py
  1. Launch the botframework emulator you installed above and load the http://localhost:3978/api/messages address
  2. The app should be booted by now. You see the screen below.

Sending mail

  1. Configure your SMTP and authentication details Nestor currently uses SMTP library which requires SMTP server name and port. Also, you need to give a source mail id and password to mail someone.

In the constants.py file - fill destination SMTP server details, and your authentication details - mail id and password.

#SMTP details for Outlook
SMTP_SERVER_OUTLOOK = "smtp-mail.outlook.com"
SMTP_SERVER_PORT_OUTLOOK = 587

#Source mail authentication details
SOURCE_MAIL = "mailIdHere"
SOURCE_PASSWORD = "passwordHere"
  1. Start the app and launch the emulator.

  2. Nestor matches entities and intents through regex expressions for now. Give keyword "mail" to start a mail-sending conversation.