Giter Club home page Giter Club logo

tzara---a-personal-assistant's Introduction

Tzara---A-Personal-Assistant

A highly customisable Personal Assistant name Tzara which helps in daily tasks written in Python 2.7.

####Tasks:

  1. Send emails

  2. Search the internet

  3. Open and close websites

  4. Set reminders

  5. Play movies and songs

  6. Open documents and pdfs

  7. Open any application

  8. Update the system

  9. Open the terminal

  10. Converse - basic

  11. Tell date and time

  12. Shutdown the system

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Requirements

Debian or Ubuntu based system.

An Internet connection is recommended.

Prerequisites

Environment Setup.

  1. Python 2.7 - Installation instructions can be found here.

  2. Pip

sudo apt-get update
sudo apt-get install python-pip

You could also install Pip following these instructions.

  1. gTTS
sudo pip install gTTS
  1. mpg123
sudo apt-get install mpg123
  1. NLTK package
sudo pip install -U nltk

Or follow these instructions.

  1. Firefox
sudo apt-get install firefox
  1. Audacious music Player
sudo apt-get install audacious
  1. xdotool
sudo apt-get install xdotool
  1. wmctrl
sudo apt-get install wmctrl
  1. Guake dropdown terminal
sudo apt-get install guake
  1. xdg-utils
sudo apt-get install xdg-utils

Installation

###Note:

I have nearly automated the complete installation. Few details remain. But until I update the code, the manual installation described below is recommended.

####1) Path setup:

After having downloaded all files, open EACH ONE and modify according to the instructions provided in the file.

For example, you may find:

f_reminder = open("/path/to/the/file/reminder.txt", "r+")

Replace "/path/to/the/file" with the actual pathname to the file called "reminder.txt".

Thus, in my system, this particular pathname was:

f_reminder = open("/media/suman/New Volume1/Artificial Intelligence/Personal Assistant/Text_files/reminder.txt", "r+")

This will ensure the Personal Assistant is customised only to you.

####2) Email:

This is particular for Gmail accounts.

To send emails and read emails, you will need access to your Gmail account. But Gmail will block your email if you don't get a password, as it doesn't recognise the application.

To obtain a password for Tzara, follow these instructions.

Then, open a plain text document in the Home Directory.

Copy paste the following code.

#!/bin/bash

username = "your_email_here"
password = "your_password_here"
echo
curl -u $username:$password --silent "https://mail.google.com/mail/feed/atom" > /path/to/the/file/inbox_details.txt

Replace "your_email_here" with your email-id. E.g. [email protected]

Replace "your_password_here" with the new password respectively. Note: the password is NOT your general email account password. It is specific to this application.

Replace "/path/to/the/file/" with the pathname to the file "inbox_detail.txt"

Rename the document to: "check_email.sh"

####3) Setting up .txt files:

You can modify the following .txt files to personalise Tzara further:

a) bye.txt - Add ways to say goodbye.

b) comn_sites.txt - Add sites you visit.

c) confirmations.txt - Add ways to confirm.

d) corporat.txt - List of corpora from where Tzara develops her sentences. Currently from Brown Corpus

e) email_id.txt - Add email-ids. E.g. [email protected] - Simply say: "Mail John", and Tzara will mail [email protected]

f) folder.txt - Add folder names and paths you frequently use. E.g. Suppose you go to /home/username/Documents often. Add "Documents - /home/username/Documents" to "folder.txt", and then you can simply tell Tzara: "Open folder documents", and she will open the correct folder.

g) greetings.txt - Add ways for Tzara to greet you.

Deployment

  1. Open the guake terminal.

  2. Input the following code:

python /path/to/the/file/main.py

Replace "/path/to/the/file" with the pathname to the file "main.py". This file initialises Tzara.

Tzara will greet you with something like: "Hi, my name is Tzara. How may I help you?"

Go on and chat with your newfound friend.

  1. To give commands, simply chat. For example, if you want Tzara to search for the word "cat" on the Internet, simply type something like: "Hey Tzara, could you please search for cat." or "Hi, could you please google cat." or simply "google cat".

  2. To end chat, type anything like:

Bye Tzara

or

Cya Tzara

or simply

bye

Authors

Suman Pal

tzara---a-personal-assistant's People

Contributors

suman7495 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.