[e35c95]: / .ipynb_checkpoints / Vanisri-Trial-checkpoint.ipynb

Download this file

1180 lines (1179 with data), 99.1 kB

{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: Flask==0.12.3 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from -r requirements.txt (line 4)) (0.12.3)\n",
      "Collecting chatterbot==0.8.4\n",
      "  Using cached ChatterBot-0.8.4-py2.py3-none-any.whl (72 kB)\n",
      "Requirement already satisfied: SQLAlchemy==1.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from -r requirements.txt (line 6)) (1.2.0)\n",
      "Requirement already satisfied: Werkzeug>=0.7 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3->-r requirements.txt (line 4)) (1.0.0)\n",
      "Requirement already satisfied: itsdangerous>=0.21 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3->-r requirements.txt (line 4)) (1.1.0)\n",
      "Requirement already satisfied: click>=2.0 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3->-r requirements.txt (line 4)) (7.0)\n",
      "Requirement already satisfied: Jinja2>=2.4 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3->-r requirements.txt (line 4)) (2.11.1)\n",
      "Collecting chatterbot-corpus<1.2,>=1.1\n",
      "  Using cached chatterbot_corpus-1.1.4-py2.py3-none-any.whl (117 kB)\n",
      "Requirement already satisfied: python-twitter<4.0,>=3.0 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5)) (3.5)\n",
      "Requirement already satisfied: mathparse<0.2,>=0.1 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5)) (0.1.2)\n",
      "Requirement already satisfied: python-dateutil<2.7,>=2.6 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5)) (2.6.1)\n",
      "Requirement already satisfied: pymongo<4.0,>=3.3 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5)) (3.10.1)\n",
      "Requirement already satisfied: nltk<4.0,>=3.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5)) (3.4.5)\n",
      "Requirement already satisfied: MarkupSafe>=0.23 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Jinja2>=2.4->Flask==0.12.3->-r requirements.txt (line 4)) (1.1.1)\n",
      "Collecting PyYAML<4.0,>=3.12\n",
      "  Using cached PyYAML-3.13-cp37-cp37m-win_amd64.whl (206 kB)\n",
      "Requirement already satisfied: requests-oauthlib in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5)) (1.3.0)\n",
      "Requirement already satisfied: future in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5)) (0.18.2)\n",
      "Requirement already satisfied: requests in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5)) (2.22.0)\n",
      "Requirement already satisfied: six>=1.5 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-dateutil<2.7,>=2.6->chatterbot==0.8.4->-r requirements.txt (line 5)) (1.14.0)\n",
      "Requirement already satisfied: oauthlib>=3.0.0 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests-oauthlib->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5)) (3.1.0)\n",
      "Requirement already satisfied: idna<2.9,>=2.5 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5)) (2.8)\n",
      "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5)) (1.25.8)\n",
      "Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5)) (3.0.4)\n",
      "Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5)) (2019.11.28)\n",
      "Installing collected packages: PyYAML, chatterbot-corpus, chatterbot\n",
      "  Attempting uninstall: PyYAML\n",
      "    Found existing installation: pyyaml 5.3\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "ERROR: Cannot uninstall 'pyyaml'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.\n"
     ]
    }
   ],
   "source": [
    "!pip install -r requirements.txt "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "pip 20.0.2 from C:\\Users\\Vanisri Kirubakaran\\anaconda3-new\\lib\\site-packages\\pip (python 3.7)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "!pip --version"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Collecting PyYAML==5.3.1\n",
      "  Using cached PyYAML-5.3.1-cp37-cp37m-win_amd64.whl (216 kB)\n",
      "Installing collected packages: PyYAML\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "ERROR: Could not install packages due to an EnvironmentError: [WinError 5] Access is denied: 'C:\\\\Users\\\\Vanisri Kirubakaran\\\\anaconda3-new\\\\Lib\\\\site-packages\\\\_yaml.cp37-win_amd64.pyd'\n",
      "Consider using the `--user` option or check the permissions.\n",
      "\n"
     ]
    }
   ],
   "source": [
    "!pip install --ignore-installed PyYAML==5.3.1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Collecting pip==9.0.3\n",
      "  Downloading pip-9.0.3-py2.py3-none-any.whl (1.4 MB)\n",
      "Installing collected packages: pip\n",
      "  Attempting uninstall: pip\n",
      "    Found existing installation: pip 20.0.2\n",
      "    Uninstalling pip-20.0.2:\n",
      "      Successfully uninstalled pip-20.0.2\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "ERROR: Could not install packages due to an EnvironmentError: [WinError 5] Access is denied: 'C:\\\\Users\\\\Vanisri Kirubakaran\\\\AppData\\\\Local\\\\Temp\\\\pip-uninstall-j9fdwomc\\\\pip.exe'\n",
      "Consider using the `--user` option or check the permissions.\n",
      "\n"
     ]
    }
   ],
   "source": [
    "!pip install --upgrade --force-reinstall pip==9.0.3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: Flask==0.12.3 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from -r requirements.txt (line 4))\n",
      "Collecting chatterbot==0.8.4 (from -r requirements.txt (line 5))\n",
      "  Downloading https://files.pythonhosted.org/packages/b6/8d/472f3e9e9f969fbbe455910148739d5fdad86e212573274ab0611d3272f2/ChatterBot-0.8.4-py2.py3-none-any.whl (72kB)\n",
      "Requirement already satisfied: SQLAlchemy==1.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from -r requirements.txt (line 6))\n",
      "Requirement already satisfied: itsdangerous>=0.21 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3->-r requirements.txt (line 4))\n",
      "Requirement already satisfied: Jinja2>=2.4 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3->-r requirements.txt (line 4))\n",
      "Requirement already satisfied: click>=2.0 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3->-r requirements.txt (line 4))\n",
      "Requirement already satisfied: Werkzeug>=0.7 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3->-r requirements.txt (line 4))\n",
      "Collecting chatterbot-corpus<1.2,>=1.1 (from chatterbot==0.8.4->-r requirements.txt (line 5))\n",
      "  Downloading https://files.pythonhosted.org/packages/75/76/98639175fe64eaa3cb6903004d737a62cb6eab1f3f34020ca11fb3250214/chatterbot_corpus-1.1.4-py2.py3-none-any.whl (117kB)\n",
      "Requirement already satisfied: pymongo<4.0,>=3.3 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5))\n",
      "Requirement already satisfied: mathparse<0.2,>=0.1 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5))\n",
      "Requirement already satisfied: python-twitter<4.0,>=3.0 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5))\n",
      "Requirement already satisfied: python-dateutil<2.7,>=2.6 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5))\n",
      "Requirement already satisfied: nltk<4.0,>=3.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5))\n",
      "Requirement already satisfied: MarkupSafe>=0.23 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Jinja2>=2.4->Flask==0.12.3->-r requirements.txt (line 4))\n",
      "Collecting PyYAML<4.0,>=3.12 (from chatterbot-corpus<1.2,>=1.1->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
      "  Downloading https://files.pythonhosted.org/packages/bf/96/d02ef8e1f3073e07ffdc240444e5041f403f29c0775f9f1653f18221082f/PyYAML-3.13-cp37-cp37m-win_amd64.whl (206kB)\n",
      "Requirement already satisfied: future in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
      "Requirement already satisfied: requests-oauthlib in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
      "Requirement already satisfied: requests in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
      "Requirement already satisfied: six>=1.5 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-dateutil<2.7,>=2.6->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
      "Requirement already satisfied: oauthlib>=3.0.0 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests-oauthlib->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
      "Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
      "Requirement already satisfied: idna<2.9,>=2.5 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
      "Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
      "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
      "Installing collected packages: PyYAML, chatterbot-corpus, chatterbot\n",
      "  Found existing installation: PyYAML 5.3\n",
      "    Uninstalling PyYAML-5.3:\n",
      "      Successfully uninstalled PyYAML-5.3\n",
      "  Rolling back uninstall of PyYAML\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  Cache entry deserialization failed, entry ignored\n",
      "  Cache entry deserialization failed, entry ignored\n",
      "  Cache entry deserialization failed, entry ignored\n",
      "  Cache entry deserialization failed, entry ignored\n",
      "  Cache entry deserialization failed, entry ignored\n",
      "  Cache entry deserialization failed, entry ignored\n",
      "    DEPRECATION: Uninstalling a distutils installed project (PyYAML) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.\n",
      "Exception:\n",
      "Traceback (most recent call last):\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\basecommand.py\", line 215, in main\n",
      "    status = self.run(options, args)\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\commands\\install.py\", line 342, in run\n",
      "    prefix=options.prefix_path,\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\req\\req_set.py\", line 784, in install\n",
      "    **kwargs\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\req\\req_install.py\", line 851, in install\n",
      "    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\req\\req_install.py\", line 1064, in move_wheel_files\n",
      "    isolated=self.isolated,\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\wheel.py\", line 345, in move_wheel_files\n",
      "    clobber(source, lib_dir, True)\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\wheel.py\", line 323, in clobber\n",
      "    shutil.copyfile(srcfile, destfile)\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\shutil.py\", line 121, in copyfile\n",
      "    with open(dst, 'wb') as fdst:\n",
      "PermissionError: [Errno 13] Permission denied: 'c:\\\\users\\\\vanisri kirubakaran\\\\anaconda3-new\\\\Lib\\\\site-packages\\\\_yaml.cp37-win_amd64.pyd'\n"
     ]
    }
   ],
   "source": [
    "!pip install -r requirements.txt --disable-pip-version-check"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Collecting pip\n",
      "  Downloading https://files.pythonhosted.org/packages/43/84/23ed6a1796480a6f1a2d38f2802901d078266bda38388954d01d3f2e821d/pip-20.1.1-py2.py3-none-any.whl (1.5MB)\n",
      "Installing collected packages: pip\n",
      "  Found existing installation: pip 9.0.3\n",
      "    Uninstalling pip-9.0.3:\n",
      "      Successfully uninstalled pip-9.0.3\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Cache entry deserialization failed, entry ignored\n",
      "Exception:\n",
      "Traceback (most recent call last):\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\shutil.py\", line 398, in _rmtree_unsafe\n",
      "    os.unlink(fullname)\n",
      "PermissionError: [WinError 5] Access is denied: 'C:\\\\Users\\\\Vanisri Kirubakaran\\\\AppData\\\\Local\\\\Temp\\\\pip-8gao_bdp-uninstall\\\\users\\\\vanisri kirubakaran\\\\anaconda3-new\\\\scripts\\\\pip.exe'\n",
      "\n",
      "During handling of the above exception, another exception occurred:\n",
      "\n",
      "Traceback (most recent call last):\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\basecommand.py\", line 215, in main\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\commands\\install.py\", line 342, in run\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\req\\req_set.py\", line 795, in install\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\req\\req_install.py\", line 767, in commit_uninstall\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\req\\req_uninstall.py\", line 142, in commit\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\_vendor\\retrying.py\", line 49, in wrapped_f\n",
      "    return Retrying(*dargs, **dkw).call(f, *args, **kw)\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\_vendor\\retrying.py\", line 212, in call\n",
      "    raise attempt.get()\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\_vendor\\retrying.py\", line 247, in get\n",
      "    six.reraise(self.value[0], self.value[1], self.value[2])\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\_vendor\\six.py\", line 686, in reraise\n",
      "    def assertRegex(self, *args, **kwargs):\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\_vendor\\retrying.py\", line 200, in call\n",
      "    attempt = Attempt(fn(*args, **kwargs), attempt_number, False)\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\utils\\__init__.py\", line 102, in rmtree\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\shutil.py\", line 516, in rmtree\n",
      "    return _rmtree_unsafe(path, onerror)\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\shutil.py\", line 395, in _rmtree_unsafe\n",
      "    _rmtree_unsafe(fullname, onerror)\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\shutil.py\", line 395, in _rmtree_unsafe\n",
      "    _rmtree_unsafe(fullname, onerror)\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\shutil.py\", line 395, in _rmtree_unsafe\n",
      "    _rmtree_unsafe(fullname, onerror)\n",
      "  [Previous line repeated 1 more time]\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\shutil.py\", line 400, in _rmtree_unsafe\n",
      "    onerror(os.unlink, fullname, sys.exc_info())\n",
      "  File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\utils\\__init__.py\", line 114, in rmtree_errorhandler\n",
      "PermissionError: [WinError 5] Access is denied: 'C:\\\\Users\\\\Vanisri Kirubakaran\\\\AppData\\\\Local\\\\Temp\\\\pip-8gao_bdp-uninstall\\\\users\\\\vanisri kirubakaran\\\\anaconda3-new\\\\scripts\\\\pip.exe'\n"
     ]
    }
   ],
   "source": [
    "!pip install --upgrade pip"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Found existing installation: PyYAML 5.3\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "ERROR: Cannot uninstall 'PyYAML'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.\n"
     ]
    }
   ],
   "source": [
    "!pip uninstall PyYAML==5.3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "ename": "ModuleNotFoundError",
     "evalue": "No module named 'chatterbot'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mModuleNotFoundError\u001b[0m                       Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-5-5b4764c2a302>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mchatterbot\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mChatBot\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      2\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mchatterbot\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtrainers\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mListTrainer\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      3\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mos\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      4\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      5\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'chatterbot'"
     ]
    }
   ],
   "source": [
    "from chatterbot import ChatBot\n",
    "from chatterbot.trainers import ListTrainer\n",
    "import os\n",
    "\n",
    "\n",
    "english_bot = ChatBot('Bot')\n",
    "english_bot.set_trainer(ListTrainer)\n",
    "for file in os.listdir('data'):\n",
    "        print('Training using '+file)\n",
    "        convData = open('data/' + file).readlines()\n",
    "        english_bot.train(convData)\n",
    "        print(\"Training completed for \"+file)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "so,tried various things for the error,but no use..seems like pip version and PyYAML versions do not match.But pyyaml version is difficult to change.\n",
    "so..took each line out from requirements.txt and run as separate commands.\n",
    "also updated SQLAlchemy to 1.2 from 1.1.11 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: Flask==0.12.3 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (0.12.3)\n",
      "Requirement already satisfied: itsdangerous>=0.21 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3) (1.1.0)\n",
      "Requirement already satisfied: Werkzeug>=0.7 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3) (1.0.0)\n",
      "Requirement already satisfied: click>=2.0 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3) (7.0)\n",
      "Requirement already satisfied: Jinja2>=2.4 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3) (2.11.1)\n",
      "Requirement already satisfied: MarkupSafe>=0.23 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Jinja2>=2.4->Flask==0.12.3) (1.1.1)\n"
     ]
    }
   ],
   "source": [
    "!pip install Flask==0.12.3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Collecting chatterbot==0.8.4\n",
      "  Using cached ChatterBot-0.8.4-py2.py3-none-any.whl (72 kB)\n",
      "Collecting chatterbot-corpus<1.2,>=1.1\n",
      "  Using cached chatterbot_corpus-1.1.4-py2.py3-none-any.whl (117 kB)\n",
      "Requirement already satisfied: mathparse<0.2,>=0.1 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4) (0.1.2)\n",
      "Requirement already satisfied: pymongo<4.0,>=3.3 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4) (3.10.1)\n",
      "Requirement already satisfied: python-dateutil<2.7,>=2.6 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4) (2.6.1)\n",
      "Requirement already satisfied: python-twitter<4.0,>=3.0 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4) (3.5)\n",
      "Requirement already satisfied: nltk<4.0,>=3.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4) (3.4.5)\n",
      "Requirement already satisfied: sqlalchemy<1.3,>=1.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4) (1.2.0)\n",
      "Collecting PyYAML<4.0,>=3.12\n",
      "  Using cached PyYAML-3.13-cp37-cp37m-win_amd64.whl (206 kB)\n",
      "Requirement already satisfied: six>=1.5 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-dateutil<2.7,>=2.6->chatterbot==0.8.4) (1.14.0)\n",
      "Requirement already satisfied: requests-oauthlib in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-twitter<4.0,>=3.0->chatterbot==0.8.4) (1.3.0)\n",
      "Requirement already satisfied: future in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-twitter<4.0,>=3.0->chatterbot==0.8.4) (0.18.2)\n",
      "Requirement already satisfied: requests in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-twitter<4.0,>=3.0->chatterbot==0.8.4) (2.22.0)\n",
      "Requirement already satisfied: oauthlib>=3.0.0 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests-oauthlib->python-twitter<4.0,>=3.0->chatterbot==0.8.4) (3.1.0)\n",
      "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4) (1.25.8)\n",
      "Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4) (3.0.4)\n",
      "Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4) (2019.11.28)\n",
      "Requirement already satisfied: idna<2.9,>=2.5 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4) (2.8)\n",
      "Installing collected packages: PyYAML, chatterbot-corpus, chatterbot\n",
      "Successfully installed PyYAML-3.13 chatterbot-0.8.4 chatterbot-corpus-1.1.4\n"
     ]
    }
   ],
   "source": [
    "!pip install chatterbot==0.8.4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: SQLAlchemy==1.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (1.2.0)\n"
     ]
    }
   ],
   "source": [
    "!pip install SQLAlchemy==1.2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Old database removed. Training new database\n",
      "Training using botprofile.yml\n",
      "List Trainer: [####################] 100%\n",
      "Training completed for botprofile.yml\n",
      "Training using cough.cold.yml\n",
      "List Trainer: [####################] 100%\n",
      "Training completed for cough.cold.yml\n",
      "Training using doctor.yml\n",
      "List Trainer: [####################] 100%\n",
      "Training completed for doctor.yml\n",
      "Training using fever.yml\n",
      "List Trainer: [####################] 100%\n",
      "Training completed for fever.yml\n",
      "Training using fracture.yml\n",
      "List Trainer: [####################] 100%\n",
      "Training completed for fracture.yml\n",
      "Training using generalhealth.yml\n",
      "List Trainer: [####################] 100%\n",
      "Training completed for generalhealth.yml\n",
      "Training using greetings.yml\n",
      "List Trainer: [####################] 100%\n",
      "Training completed for greetings.yml\n",
      "Training using headache.yml\n",
      "List Trainer: [####################] 100%\n",
      "Training completed for headache.yml\n",
      "Training using new.yml\n",
      "List Trainer: [####################] 100%\n",
      "Training completed for new.yml\n",
      "Training using personalinfo.yml\n",
      "List Trainer: [####################] 100%\n",
      "Training completed for personalinfo.yml\n"
     ]
    }
   ],
   "source": [
    "from chatterbot import ChatBot\n",
    "from chatterbot.trainers import ListTrainer\n",
    "import os\n",
    "\n",
    "try:\n",
    "\tos.remove(\"db.sqlite3\")\n",
    "\tprint(\"Old database removed. Training new database\")\n",
    "except:\n",
    "\tprint('No database found. Creating new database.')\n",
    "\n",
    "english_bot = ChatBot('Bot')\n",
    "english_bot.set_trainer(ListTrainer)\n",
    "for file in os.listdir('data'):\n",
    "        print('Training using '+file)\n",
    "        convData = open('data/' + file).readlines()\n",
    "        english_bot.train(convData)\n",
    "        print(\"Training completed for \"+file)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "now,training is done but when you run the run file..you shall get error as no module named 'gtts' or no module named 'speech_recognition'.\n",
    "so,install each of them separately again."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Collecting gtts\n",
      "  Using cached gTTS-2.1.1-py3-none-any.whl (25 kB)\n",
      "Requirement already satisfied: click in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from gtts) (7.0)\n",
      "Collecting gtts-token>=1.1.3\n",
      "  Using cached gTTS-token-1.1.3.tar.gz (3.4 kB)\n",
      "Requirement already satisfied: beautifulsoup4 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from gtts) (4.8.2)\n",
      "Requirement already satisfied: requests in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from gtts) (2.22.0)\n",
      "Requirement already satisfied: six in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from gtts) (1.14.0)\n",
      "Requirement already satisfied: soupsieve>=1.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from beautifulsoup4->gtts) (1.9.5)\n",
      "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->gtts) (1.25.8)\n",
      "Requirement already satisfied: idna<2.9,>=2.5 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->gtts) (2.8)\n",
      "Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->gtts) (3.0.4)\n",
      "Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->gtts) (2019.11.28)\n",
      "Building wheels for collected packages: gtts-token\n",
      "  Building wheel for gtts-token (setup.py): started\n",
      "  Building wheel for gtts-token (setup.py): finished with status 'done'\n",
      "  Created wheel for gtts-token: filename=gTTS_token-1.1.3-py3-none-any.whl size=4100 sha256=b87d99ea50d25f8cb795fddd613682b55cff07690a6811f9d7cdd07184882ca4\n",
      "  Stored in directory: c:\\users\\vanisri kirubakaran\\appdata\\local\\pip\\cache\\wheels\\c1\\78\\25\\81270af5521d88ea8db7da5d4f64872673976eb9692bcb0c13\n",
      "Successfully built gtts-token\n",
      "Installing collected packages: gtts-token, gtts\n",
      "Successfully installed gtts-2.1.1 gtts-token-1.1.3\n"
     ]
    }
   ],
   "source": [
    "!pip install gtts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Collecting SpeechRecognition\n",
      "  Using cached SpeechRecognition-3.8.1-py2.py3-none-any.whl (32.8 MB)\n",
      "Installing collected packages: SpeechRecognition\n",
      "Successfully installed SpeechRecognition-3.8.1\n"
     ]
    }
   ],
   "source": [
    "!pip install SpeechRecognition"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "there will be an error with pyaudio as well mentioning no wheel file.go here https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio\n",
    "    go down to pyaudio..and download cp37-cp37m-win_amd64.whl and then move it to the project's folder(NLP-project 1),then run below command."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Processing c:\\users\\vanisri kirubakaran\\downloads\\chatbot\\nlp-chatbot-master (1)\\pyaudio-0.2.11-cp37-cp37m-win_amd64.whl\n",
      "Installing collected packages: PyAudio\n",
      "Successfully installed PyAudio-0.2.11\n"
     ]
    }
   ],
   "source": [
    "!pip install PyAudio-0.2.11-cp37-cp37m-win_amd64.whl"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Okay Bro\n",
      "You said: i have a headache\n",
      "\n",
      "- what kind of headache do you have : 1. Migrane headache - intense throbbing pain on just one side of the head. 2. Cluster headaches - severe and recurrent headaches 3. Tension Headache - Ocassional;\n",
      "Okay Bro\n",
      "You said: migraine\n",
      "\n",
      "- good to know. how may i assist you then?\n",
      "Okay Bro\n",
      "Your last instruction was unclear to me\n",
      "Okay Bro\n",
      "Your last instruction was unclear to me\n",
      "Okay Bro\n",
      "Your last instruction was unclear to me\n",
      "Okay Bro\n",
      "You said: i have cold\n",
      "\n",
      "- You should take a sudafed tablet after your meal.\n",
      "Okay Bro\n",
      "Your last instruction was unclear to me\n",
      "Okay Bro\n"
     ]
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mUnknownValueError\u001b[0m                         Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-26-636afcd1c583>\u001b[0m in \u001b[0;36mmyCommand\u001b[1;34m()\u001b[0m\n\u001b[0;32m     45\u001b[0m     \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 46\u001b[1;33m         \u001b[0mcommand\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrecognize_google\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0maudio\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlower\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     47\u001b[0m         \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'You said: '\u001b[0m\u001b[1;33m+\u001b[0m \u001b[0mcommand\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;34m'\\n'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\speech_recognition\\__init__.py\u001b[0m in \u001b[0;36mrecognize_google\u001b[1;34m(self, audio_data, key, language, show_all)\u001b[0m\n\u001b[0;32m    857\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mshow_all\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mactual_result\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 858\u001b[1;33m         \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mactual_result\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdict\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mactual_result\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"alternative\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;32mraise\u001b[0m \u001b[0mUnknownValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    859\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mUnknownValueError\u001b[0m: ",
      "\nDuring handling of the above exception, another exception occurred:\n",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-26-636afcd1c583>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m     67\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     68\u001b[0m \u001b[1;32mwhile\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 69\u001b[1;33m     \u001b[0mvalue\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mget_bot_response\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmyCommand\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     70\u001b[0m     \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m<ipython-input-26-636afcd1c583>\u001b[0m in \u001b[0;36mmyCommand\u001b[1;34m()\u001b[0m\n\u001b[0;32m     49\u001b[0m     \u001b[1;32mexcept\u001b[0m \u001b[0msr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mUnknownValueError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     50\u001b[0m            \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Your last instruction was unclear to me'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 51\u001b[1;33m            \u001b[0mcommand\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmyCommand\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m;\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     52\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     53\u001b[0m     \u001b[1;32mreturn\u001b[0m \u001b[0mcommand\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m<ipython-input-26-636afcd1c583>\u001b[0m in \u001b[0;36mmyCommand\u001b[1;34m()\u001b[0m\n\u001b[0;32m     44\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     45\u001b[0m     \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 46\u001b[1;33m         \u001b[0mcommand\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrecognize_google\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0maudio\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlower\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     47\u001b[0m         \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'You said: '\u001b[0m\u001b[1;33m+\u001b[0m \u001b[0mcommand\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;34m'\\n'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     48\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\speech_recognition\\__init__.py\u001b[0m in \u001b[0;36mrecognize_google\u001b[1;34m(self, audio_data, key, language, show_all)\u001b[0m\n\u001b[0;32m    843\u001b[0m         \u001b[1;32mexcept\u001b[0m \u001b[0mURLError\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    844\u001b[0m             \u001b[1;32mraise\u001b[0m \u001b[0mRequestError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"recognition connection failed: {}\"\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0me\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mreason\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 845\u001b[1;33m         \u001b[0mresponse_text\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mresponse\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdecode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"utf-8\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    846\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    847\u001b[0m         \u001b[1;31m# ignore any blank blocks\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\http\\client.py\u001b[0m in \u001b[0;36mread\u001b[1;34m(self, amt)\u001b[0m\n\u001b[0;32m    462\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    463\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mchunked\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 464\u001b[1;33m                 \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_readall_chunked\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    465\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    466\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlength\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\http\\client.py\u001b[0m in \u001b[0;36m_readall_chunked\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m    569\u001b[0m         \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    570\u001b[0m             \u001b[1;32mwhile\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 571\u001b[1;33m                 \u001b[0mchunk_left\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_chunk_left\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    572\u001b[0m                 \u001b[1;32mif\u001b[0m \u001b[0mchunk_left\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    573\u001b[0m                     \u001b[1;32mbreak\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\http\\client.py\u001b[0m in \u001b[0;36m_get_chunk_left\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m    552\u001b[0m                 \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_safe_read\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m)\u001b[0m  \u001b[1;31m# toss the CRLF at the end of the chunk\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    553\u001b[0m             \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 554\u001b[1;33m                 \u001b[0mchunk_left\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_read_next_chunk_size\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    555\u001b[0m             \u001b[1;32mexcept\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    556\u001b[0m                 \u001b[1;32mraise\u001b[0m \u001b[0mIncompleteRead\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34mb''\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\http\\client.py\u001b[0m in \u001b[0;36m_read_next_chunk_size\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m    512\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0m_read_next_chunk_size\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    513\u001b[0m         \u001b[1;31m# Read the next chunk size from the file\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 514\u001b[1;33m         \u001b[0mline\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mreadline\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0m_MAXLINE\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    515\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mline\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m>\u001b[0m \u001b[0m_MAXLINE\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    516\u001b[0m             \u001b[1;32mraise\u001b[0m \u001b[0mLineTooLong\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"chunk size\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\socket.py\u001b[0m in \u001b[0;36mreadinto\u001b[1;34m(self, b)\u001b[0m\n\u001b[0;32m    587\u001b[0m         \u001b[1;32mwhile\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    588\u001b[0m             \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 589\u001b[1;33m                 \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_sock\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrecv_into\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mb\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    590\u001b[0m             \u001b[1;32mexcept\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    591\u001b[0m                 \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_timeout_occurred\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m: "
     ]
    }
   ],
   "source": [
    "from flask import Flask, render_template, request\n",
    "from chatterbot import ChatBot\n",
    "from chatterbot.trainers import ChatterBotCorpusTrainer\n",
    "import os\n",
    "from gtts import gTTS\n",
    "import speech_recognition as sr\n",
    "import os\n",
    "import re\n",
    "import webbrowser\n",
    "import smtplib\n",
    "import requests\n",
    "\n",
    "\n",
    "from chatterbot import ChatBot\n",
    "from chatterbot.trainers import ListTrainer\n",
    "\n",
    "filenumber=int(os.listdir('saved_conversations')[-1])\n",
    "filenumber=filenumber+1\n",
    "file= open('saved_conversations/'+str(filenumber),\"w+\")\n",
    "file.write('bot : Hi There! I am a medical chatbot. You can begin conversation by typing in a message and pressing enter.\\n')\n",
    "file.close()\n",
    "\n",
    "\n",
    "english_bot = ChatBot('Bot',\n",
    "             storage_adapter='chatterbot.storage.SQLStorageAdapter',\n",
    "             logic_adapters=[\n",
    "   {\n",
    "       'import_path': 'chatterbot.logic.BestMatch'\n",
    "   },\n",
    "   \n",
    "],\n",
    "trainer='chatterbot.trainers.ListTrainer')\n",
    "english_bot.set_trainer(ListTrainer)\n",
    "\n",
    "\n",
    "def myCommand():\n",
    "    r = sr.Recognizer()\n",
    "\n",
    "    with sr.Microphone() as source:\n",
    "         print('Okay Bro')\n",
    "         r.pause_treshold = 1\n",
    "         r.adjust_for_ambient_noise(source, duration = 1)\n",
    "         audio = r.listen(source)\t\n",
    "\n",
    "    try:\n",
    "        command = r.recognize_google(audio).lower()\n",
    "        print('You said: '+ command + '\\n')\n",
    "\n",
    "    except sr.UnknownValueError:\n",
    "           print('Your last instruction was unclear to me')\n",
    "           command = myCommand();\n",
    "\n",
    "    return command \n",
    "\n",
    "\n",
    "def get_bot_response(command):\n",
    "    #userText = request.args.get('msg')\n",
    "    response = str(english_bot.get_response(command))\n",
    "\n",
    "    appendfile=os.listdir('saved_conversations')[-1]\n",
    "    appendfile= open('saved_conversations/'+str(filenumber),\"a\")\n",
    "    appendfile.write('user : '+command+'\\n')\n",
    "    appendfile.write('bot : '+response+'\\n')\n",
    "    appendfile.close()\n",
    "    return response\n",
    "\n",
    "\n",
    "while True:\n",
    "    value=get_bot_response(myCommand())\n",
    "    print(value)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "P.S i stopped the running last time..\n",
    "now trying speech function.move to after 4 commands."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Collecting pyttsx3\n",
      "  Downloading pyttsx3-2.90-py3-none-any.whl (39 kB)\n",
      "Collecting pypiwin32; platform_system == \"Windows\"\n",
      "  Using cached pypiwin32-223-py3-none-any.whl (1.7 kB)\n",
      "Requirement already satisfied: pywin32; platform_system == \"Windows\" in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from pyttsx3) (227)\n",
      "Requirement already satisfied: comtypes; platform_system == \"Windows\" in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from pyttsx3) (1.1.7)\n",
      "Installing collected packages: pypiwin32, pyttsx3\n",
      "Successfully installed pypiwin32-223 pyttsx3-2.90\n"
     ]
    }
   ],
   "source": [
    "!pip install pyttsx3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: pypiwin32 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (223)\n",
      "Requirement already satisfied: pywin32>=223 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from pypiwin32) (227)\n"
     ]
    }
   ],
   "source": [
    "!pip install pypiwin32"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "item 1 in _argtypes_ passes a union by value, which is unsupported.",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\pyttsx3\\__init__.py\u001b[0m in \u001b[0;36minit\u001b[1;34m(driverName, debug)\u001b[0m\n\u001b[0;32m     19\u001b[0m     \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 20\u001b[1;33m         \u001b[0meng\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_activeEngines\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mdriverName\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     21\u001b[0m     \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\weakref.py\u001b[0m in \u001b[0;36m__getitem__\u001b[1;34m(self, key)\u001b[0m\n\u001b[0;32m    136\u001b[0m             \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_commit_removals\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 137\u001b[1;33m         \u001b[0mo\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    138\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mo\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mKeyError\u001b[0m: None",
      "\nDuring handling of the above exception, another exception occurred:\n",
      "\u001b[1;31mImportError\u001b[0m                               Traceback (most recent call last)",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\pyttsx3\\drivers\\sapi5.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      2\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m     \u001b[1;32mfrom\u001b[0m \u001b[0mcomtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgen\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mSpeechLib\u001b[0m  \u001b[1;31m# comtypes\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      4\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mImportError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mImportError\u001b[0m: cannot import name 'SpeechLib' from 'comtypes.gen' (C:\\Users\\Vanisri Kirubakaran\\anaconda3-new\\lib\\site-packages\\comtypes\\gen\\__init__.py)",
      "\nDuring handling of the above exception, another exception occurred:\n",
      "\u001b[1;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[1;32m~\\anaconda3-new\\lib\\ctypes\\__init__.py\u001b[0m in \u001b[0;36mWINFUNCTYPE\u001b[1;34m(restype, *argtypes, **kw)\u001b[0m\n\u001b[0;32m    120\u001b[0m         \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 121\u001b[1;33m             \u001b[1;32mreturn\u001b[0m \u001b[0m_win_functype_cache\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrestype\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0margtypes\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mflags\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    122\u001b[0m         \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mKeyError\u001b[0m: (<class 'ctypes.HRESULT'>, (<class 'comtypes.automation.tagVARIANT'>, <class 'ctypes.wintypes.LP_c_long'>), 0)",
      "\nDuring handling of the above exception, another exception occurred:\n",
      "\u001b[1;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-30-dd44a913bd59>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mpyttsx3\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mengine\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mpyttsx3\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minit\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      3\u001b[0m \u001b[0mengine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msay\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"I will speak this text\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      4\u001b[0m \u001b[0mengine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrunAndWait\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\pyttsx3\\__init__.py\u001b[0m in \u001b[0;36minit\u001b[1;34m(driverName, debug)\u001b[0m\n\u001b[0;32m     20\u001b[0m         \u001b[0meng\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_activeEngines\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mdriverName\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     21\u001b[0m     \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 22\u001b[1;33m         \u001b[0meng\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mEngine\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdriverName\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdebug\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     23\u001b[0m         \u001b[0m_activeEngines\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mdriverName\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0meng\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     24\u001b[0m     \u001b[1;32mreturn\u001b[0m \u001b[0meng\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\pyttsx3\\engine.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, driverName, debug)\u001b[0m\n\u001b[0;32m     28\u001b[0m         \u001b[1;33m@\u001b[0m\u001b[0mtype\u001b[0m \u001b[0mdebug\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mbool\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     29\u001b[0m         \"\"\"\n\u001b[1;32m---> 30\u001b[1;33m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mproxy\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdriver\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mDriverProxy\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mweakref\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mproxy\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdriverName\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdebug\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     31\u001b[0m         \u001b[1;31m# initialize other vars\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     32\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_connects\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\pyttsx3\\driver.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, engine, driverName, debug)\u001b[0m\n\u001b[0;32m     48\u001b[0m         \u001b[1;31m# import driver module\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     49\u001b[0m         \u001b[0mname\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m'pyttsx3.drivers.%s'\u001b[0m \u001b[1;33m%\u001b[0m \u001b[0mdriverName\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 50\u001b[1;33m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_module\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mimportlib\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mimport_module\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     51\u001b[0m         \u001b[1;31m# build driver instance\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     52\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_driver\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_module\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mbuildDriver\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mweakref\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mproxy\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\importlib\\__init__.py\u001b[0m in \u001b[0;36mimport_module\u001b[1;34m(name, package)\u001b[0m\n\u001b[0;32m    125\u001b[0m                 \u001b[1;32mbreak\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    126\u001b[0m             \u001b[0mlevel\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 127\u001b[1;33m     \u001b[1;32mreturn\u001b[0m \u001b[0m_bootstrap\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_gcd_import\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mlevel\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpackage\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlevel\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    128\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    129\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_gcd_import\u001b[1;34m(name, package, level)\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_find_and_load\u001b[1;34m(name, import_)\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_find_and_load_unlocked\u001b[1;34m(name, import_)\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_load_unlocked\u001b[1;34m(spec)\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\importlib\\_bootstrap_external.py\u001b[0m in \u001b[0;36mexec_module\u001b[1;34m(self, module)\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_call_with_frames_removed\u001b[1;34m(f, *args, **kwds)\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\pyttsx3\\drivers\\sapi5.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      4\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mImportError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      5\u001b[0m     \u001b[1;31m# Generate the SpeechLib lib and any associated files\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 6\u001b[1;33m     \u001b[0mengine\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcomtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mclient\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mCreateObject\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"SAPI.SpVoice\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      7\u001b[0m     \u001b[0mstream\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcomtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mclient\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mCreateObject\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"SAPI.SpFileStream\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      8\u001b[0m     \u001b[1;32mfrom\u001b[0m \u001b[0mcomtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgen\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mSpeechLib\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\comtypes\\client\\__init__.py\u001b[0m in \u001b[0;36mCreateObject\u001b[1;34m(progid, clsctx, machine, interface, dynamic, pServerInfo)\u001b[0m\n\u001b[0;32m    248\u001b[0m     \u001b[1;32mif\u001b[0m \u001b[0mdynamic\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    249\u001b[0m         \u001b[1;32mreturn\u001b[0m \u001b[0mcomtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mclient\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdynamic\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mDispatch\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 250\u001b[1;33m     \u001b[1;32mreturn\u001b[0m \u001b[0m_manage\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mclsid\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0minterface\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0minterface\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    251\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    252\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mCoGetObject\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdisplayname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0minterface\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdynamic\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\comtypes\\client\\__init__.py\u001b[0m in \u001b[0;36m_manage\u001b[1;34m(obj, clsid, interface)\u001b[0m\n\u001b[0;32m    186\u001b[0m     \u001b[0mobj\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__dict__\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'__clsid'\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mclsid\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    187\u001b[0m     \u001b[1;32mif\u001b[0m \u001b[0minterface\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 188\u001b[1;33m         \u001b[0mobj\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mGetBestInterface\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    189\u001b[0m     \u001b[1;32mreturn\u001b[0m \u001b[0mobj\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    190\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\comtypes\\client\\__init__.py\u001b[0m in \u001b[0;36mGetBestInterface\u001b[1;34m(punk)\u001b[0m\n\u001b[0;32m    108\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    109\u001b[0m     \u001b[1;31m# import the wrapper, generating it on demand\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 110\u001b[1;33m     \u001b[0mmod\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mGetModule\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtlib\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    111\u001b[0m     \u001b[1;31m# Python interface class\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    112\u001b[0m     \u001b[0minterface\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmod\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mitf_name\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\comtypes\\client\\_generate.py\u001b[0m in \u001b[0;36mGetModule\u001b[1;34m(tlib)\u001b[0m\n\u001b[0;32m    108\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    109\u001b[0m     \u001b[1;31m# create and import the module\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 110\u001b[1;33m     \u001b[0mmod\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_CreateWrapper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtlib\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpathname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    111\u001b[0m     \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    112\u001b[0m         \u001b[0mmodulename\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtlib\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mGetDocumentation\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\comtypes\\client\\_generate.py\u001b[0m in \u001b[0;36m_CreateWrapper\u001b[1;34m(tlib, pathname)\u001b[0m\n\u001b[0;32m    182\u001b[0m     \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    183\u001b[0m         \u001b[0mofi\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mclose\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 184\u001b[1;33m         \u001b[0mmod\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_my_import\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfullname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    185\u001b[0m     \u001b[1;32mreturn\u001b[0m \u001b[0mmod\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    186\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\comtypes\\client\\_generate.py\u001b[0m in \u001b[0;36m_my_import\u001b[1;34m(fullname)\u001b[0m\n\u001b[0;32m     22\u001b[0m            \u001b[1;32mand\u001b[0m \u001b[0mcomtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mclient\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgen_dir\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mcomtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgen\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__path__\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     23\u001b[0m         \u001b[0mcomtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgen\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__path__\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcomtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mclient\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgen_dir\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 24\u001b[1;33m     \u001b[1;32mreturn\u001b[0m \u001b[0m__import__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfullname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mglobals\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlocals\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;34m'DUMMY'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     25\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     26\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m_name_module\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtlib\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\comtypes\\gen\\_C866CA3A_32F7_11D2_9602_00C04F8EE628_0_5_4.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m   1739\u001b[0m               \u001b[1;33m(\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;34m'in'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mVARIANT\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'Position'\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1740\u001b[0m               \u001b[1;33m(\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;34m'in'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'optional'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mSpeechStreamSeekPositionType\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'Origin'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1741\u001b[1;33m               ( ['out', 'retval'], POINTER(VARIANT), 'NewPosition' )),\n\u001b[0m\u001b[0;32m   1742\u001b[0m ]\n\u001b[0;32m   1743\u001b[0m \u001b[1;31m################################################################\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\comtypes\\__init__.py\u001b[0m in \u001b[0;36m__setattr__\u001b[1;34m(self, name, value)\u001b[0m\n\u001b[0;32m    327\u001b[0m             \u001b[1;31m# overrides this by \"Interface._methods_ = [...]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    328\u001b[0m \u001b[1;31m##            assert self.__dict__.get(\"_methods_\", None) is None\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 329\u001b[1;33m             \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_make_methods\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    330\u001b[0m             \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_make_specials\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    331\u001b[0m         \u001b[1;32melif\u001b[0m \u001b[0mname\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m\"_disp_methods_\"\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\comtypes\\__init__.py\u001b[0m in \u001b[0;36m_make_methods\u001b[1;34m(self, methods)\u001b[0m\n\u001b[0;32m    696\u001b[0m             \u001b[0mrestype\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0margtypes\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mparamflags\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0midlflags\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdoc\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mitem\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    697\u001b[0m             \u001b[1;31m# the function prototype\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 698\u001b[1;33m             \u001b[0mprototype\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mWINFUNCTYPE\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrestype\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0margtypes\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    699\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    700\u001b[0m             \u001b[1;31m# a low level unbound method calling the com method.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\ctypes\\__init__.py\u001b[0m in \u001b[0;36mWINFUNCTYPE\u001b[1;34m(restype, *argtypes, **kw)\u001b[0m\n\u001b[0;32m    121\u001b[0m             \u001b[1;32mreturn\u001b[0m \u001b[0m_win_functype_cache\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrestype\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0margtypes\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mflags\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    122\u001b[0m         \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 123\u001b[1;33m             \u001b[1;32mclass\u001b[0m \u001b[0mWinFunctionType\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0m_CFuncPtr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    124\u001b[0m                 \u001b[0m_argtypes_\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0margtypes\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    125\u001b[0m                 \u001b[0m_restype_\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mrestype\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mTypeError\u001b[0m: item 1 in _argtypes_ passes a union by value, which is unsupported."
     ]
    }
   ],
   "source": [
    "import pyttsx3\n",
    "engine = pyttsx3.init()\n",
    "engine.say(\"I will speak this text\")\n",
    "engine.runAndWait()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import os\n",
    "os.system(\"echo 'hello world'\")\n",
    "os.system(\"say 'hello world'\") "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from win32com.client import Dispatch\n",
    "\n",
    "speak = Dispatch(\"SAPI.SpVoice\")\n",
    "\n",
    "speak.Speak(\"Ciao\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Okay Bro\n",
      "You said: latest ringtone\n",
      "\n",
      "- Thank you kindly. How are you feeling today?\n",
      "Okay Bro\n",
      "Your last instruction was unclear to me\n",
      "Okay Bro\n",
      "Your last instruction was unclear to me\n",
      "Okay Bro\n",
      "You said: i have settled in the meaning in hindi\n",
      "\n",
      "- - What are your interests\n",
      "Okay Bro\n",
      "Your last instruction was unclear to me\n",
      "Okay Bro\n",
      "Your last instruction was unclear to me\n",
      "Okay Bro\n",
      "Your last instruction was unclear to me\n",
      "Okay Bro\n",
      "You said: cold\n",
      "\n",
      "- You should take a sudafed tablet after your meal.\n",
      "Okay Bro\n"
     ]
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-39-4d7ef7dbb8f0>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m     71\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     72\u001b[0m \u001b[1;32mwhile\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 73\u001b[1;33m     \u001b[0mvalue\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mget_bot_response\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmyCommand\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     74\u001b[0m     \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m<ipython-input-39-4d7ef7dbb8f0>\u001b[0m in \u001b[0;36mmyCommand\u001b[1;34m()\u001b[0m\n\u001b[0;32m     42\u001b[0m          \u001b[0mr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpause_treshold\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     43\u001b[0m          \u001b[0mr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madjust_for_ambient_noise\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msource\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mduration\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 44\u001b[1;33m          \u001b[0maudio\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlisten\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msource\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     45\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     46\u001b[0m     \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\speech_recognition\\__init__.py\u001b[0m in \u001b[0;36mlisten\u001b[1;34m(self, source, timeout, phrase_time_limit, snowboy_configuration)\u001b[0m\n\u001b[0;32m    650\u001b[0m                     \u001b[1;32mbreak\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    651\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 652\u001b[1;33m                 \u001b[0mbuffer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msource\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstream\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msource\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mCHUNK\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    653\u001b[0m                 \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbuffer\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;32mbreak\u001b[0m  \u001b[1;31m# reached end of the stream\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    654\u001b[0m                 \u001b[0mframes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbuffer\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\speech_recognition\\__init__.py\u001b[0m in \u001b[0;36mread\u001b[1;34m(self, size)\u001b[0m\n\u001b[0;32m    159\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    160\u001b[0m         \u001b[1;32mdef\u001b[0m \u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msize\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 161\u001b[1;33m             \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpyaudio_stream\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msize\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mexception_on_overflow\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    162\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    163\u001b[0m         \u001b[1;32mdef\u001b[0m \u001b[0mclose\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\pyaudio.py\u001b[0m in \u001b[0;36mread\u001b[1;34m(self, num_frames, exception_on_overflow)\u001b[0m\n\u001b[0;32m    606\u001b[0m                           paCanNotReadFromAnOutputOnlyStream)\n\u001b[0;32m    607\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 608\u001b[1;33m         \u001b[1;32mreturn\u001b[0m \u001b[0mpa\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread_stream\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_stream\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnum_frames\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mexception_on_overflow\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    609\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    610\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0mget_read_available\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m: "
     ]
    }
   ],
   "source": [
    "from flask import Flask, render_template, request\n",
    "from chatterbot import ChatBot\n",
    "from chatterbot.trainers import ChatterBotCorpusTrainer\n",
    "import os\n",
    "from gtts import gTTS\n",
    "import speech_recognition as sr\n",
    "import os\n",
    "import re\n",
    "import webbrowser\n",
    "import smtplib\n",
    "import requests\n",
    "from win32com.client import Dispatch\n",
    "speak = Dispatch(\"SAPI.SpVoice\")\n",
    "from chatterbot import ChatBot\n",
    "from chatterbot.trainers import ListTrainer\n",
    "\n",
    "filenumber=int(os.listdir('saved_conversations')[-1])\n",
    "filenumber=filenumber+1\n",
    "file= open('saved_conversations/'+str(filenumber),\"w+\")\n",
    "file.write('bot : Hi There! I am a medical chatbot. You can begin conversation by typing in a message or saying it.\\n')\n",
    "file.close()\n",
    "\n",
    "print(\"Hi\")\n",
    "speak.Speak(\"Hey There! I am a medical chatbot. You can begin conversation.\")\n",
    "\n",
    "\n",
    "english_bot = ChatBot('Bot',\n",
    "             storage_adapter='chatterbot.storage.SQLStorageAdapter',\n",
    "             logic_adapters=[\n",
    "   {\n",
    "       'import_path': 'chatterbot.logic.BestMatch'\n",
    "   },\n",
    "   \n",
    "],\n",
    "trainer='chatterbot.trainers.ListTrainer')\n",
    "english_bot.set_trainer(ListTrainer)\n",
    "\n",
    "\n",
    "def myCommand():\n",
    "    r = sr.Recognizer()\n",
    "\n",
    "    with sr.Microphone() as source:\n",
    "         print('I am listenong')\n",
    "         speak.Speak(\"I am listening\")\n",
    "         r.pause_treshold = 1\n",
    "         r.adjust_for_ambient_noise(source, duration = 1)\n",
    "         audio = r.listen(source)\t\n",
    "\n",
    "    try:\n",
    "        command = r.recognize_google(audio).lower()\n",
    "        print('You said: '+ command + '\\n')\n",
    "        speak.Speak(\"You said: \"+ command)\n",
    "\n",
    "    except sr.UnknownValueError:\n",
    "           print('Your last instruction was unclear to me')\n",
    "           speak.Speak(\"Your last instruction was unclear to me\")\n",
    "           command = myCommand();\n",
    "\n",
    "    return command \n",
    "\n",
    "\n",
    "def get_bot_response(command):\n",
    "    #userText = request.args.get('msg')\n",
    "    response = str(english_bot.get_response(command))\n",
    "    speak.Speak(response)\n",
    "\n",
    "    appendfile=os.listdir('saved_conversations')[-1]\n",
    "    appendfile= open('saved_conversations/'+str(filenumber),\"a\")\n",
    "    appendfile.write('user : '+command+'\\n')\n",
    "    appendfile.write('bot : '+response+'\\n')\n",
    "    appendfile.close()\n",
    "    return response\n",
    "\n",
    "\n",
    "while True:\n",
    "    value=get_bot_response(myCommand())\n",
    "    print(value)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "Yay!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "trying to display as html file."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Hi\n",
      "I am listening\n",
      "You said: i feel dizzy\n",
      "\n",
      "- This might be because you are tired, you should take some rest.\n",
      "I am listening\n",
      "You said: thank you\n",
      "\n",
      "- happy to help!\n",
      "I am listening\n"
     ]
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-45-a11162ca3415>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m     82\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     83\u001b[0m \u001b[1;32mwhile\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 84\u001b[1;33m     \u001b[0mvalue\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mget_bot_response\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmyCommand\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     85\u001b[0m     \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     86\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m<ipython-input-45-a11162ca3415>\u001b[0m in \u001b[0;36mmyCommand\u001b[1;34m()\u001b[0m\n\u001b[0;32m     53\u001b[0m          \u001b[0mr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpause_treshold\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     54\u001b[0m          \u001b[0mr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madjust_for_ambient_noise\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msource\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mduration\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 55\u001b[1;33m          \u001b[0maudio\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlisten\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msource\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     56\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     57\u001b[0m     \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\speech_recognition\\__init__.py\u001b[0m in \u001b[0;36mlisten\u001b[1;34m(self, source, timeout, phrase_time_limit, snowboy_configuration)\u001b[0m\n\u001b[0;32m    650\u001b[0m                     \u001b[1;32mbreak\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    651\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 652\u001b[1;33m                 \u001b[0mbuffer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msource\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstream\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msource\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mCHUNK\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    653\u001b[0m                 \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbuffer\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;32mbreak\u001b[0m  \u001b[1;31m# reached end of the stream\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    654\u001b[0m                 \u001b[0mframes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbuffer\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\speech_recognition\\__init__.py\u001b[0m in \u001b[0;36mread\u001b[1;34m(self, size)\u001b[0m\n\u001b[0;32m    159\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    160\u001b[0m         \u001b[1;32mdef\u001b[0m \u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msize\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 161\u001b[1;33m             \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpyaudio_stream\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msize\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mexception_on_overflow\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    162\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    163\u001b[0m         \u001b[1;32mdef\u001b[0m \u001b[0mclose\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\pyaudio.py\u001b[0m in \u001b[0;36mread\u001b[1;34m(self, num_frames, exception_on_overflow)\u001b[0m\n\u001b[0;32m    606\u001b[0m                           paCanNotReadFromAnOutputOnlyStream)\n\u001b[0;32m    607\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 608\u001b[1;33m         \u001b[1;32mreturn\u001b[0m \u001b[0mpa\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread_stream\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_stream\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnum_frames\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mexception_on_overflow\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    609\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    610\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0mget_read_available\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m: "
     ]
    }
   ],
   "source": [
    "from flask import Flask, render_template, request\n",
    "from chatterbot import ChatBot\n",
    "from chatterbot.trainers import ChatterBotCorpusTrainer\n",
    "import os\n",
    "from gtts import gTTS\n",
    "import speech_recognition as sr\n",
    "import os\n",
    "import re\n",
    "import webbrowser\n",
    "import smtplib\n",
    "import requests\n",
    "from win32com.client import Dispatch\n",
    "speak = Dispatch(\"SAPI.SpVoice\")\n",
    "from chatterbot import ChatBot\n",
    "from chatterbot.trainers import ListTrainer\n",
    "\n",
    "filenumber=int(os.listdir('saved_conversations')[-1])\n",
    "filenumber=filenumber+1\n",
    "file= open('saved_conversations/'+str(filenumber),\"w+\")\n",
    "file.write('bot : Hi There! I am a medical chatbot. You can begin conversation by typing in a message and pressing enter or by saying it.\\n')\n",
    "file.close()\n",
    "\n",
    "print(\"Hi\")\n",
    "speak.Speak(\"Hey There! I am a medical chatbot. You can begin conversation.\")\n",
    "\n",
    "app = Flask(__name__)\n",
    "\n",
    "\n",
    "\n",
    "english_bot = ChatBot('Bot',\n",
    "             storage_adapter='chatterbot.storage.SQLStorageAdapter',\n",
    "             logic_adapters=[\n",
    "   {\n",
    "       'import_path': 'chatterbot.logic.BestMatch'\n",
    "   },\n",
    "   \n",
    "],\n",
    "trainer='chatterbot.trainers.ListTrainer')\n",
    "english_bot.set_trainer(ListTrainer)\n",
    "\n",
    "\n",
    "\n",
    "@app.route(\"/\")\n",
    "def home():\n",
    "    return render_template(\"index.html\")\n",
    "\n",
    "def myCommand():\n",
    "    r = sr.Recognizer()\n",
    "\n",
    "    with sr.Microphone() as source:\n",
    "         print('I am listening')\n",
    "         speak.Speak(\"I am listening\")\n",
    "         r.pause_treshold = 1\n",
    "         r.adjust_for_ambient_noise(source, duration = 1)\n",
    "         audio = r.listen(source)\t\n",
    "\n",
    "    try:\n",
    "        command = r.recognize_google(audio).lower()\n",
    "        print('You said: '+ command + '\\n')\n",
    "        speak.Speak(\"You said: \"+ command)\n",
    "\n",
    "    except sr.UnknownValueError:\n",
    "           print('Your last instruction was unclear to me')\n",
    "           speak.Speak(\"Your last instruction was unclear to me\")\n",
    "           command = myCommand();\n",
    "\n",
    "    return command \n",
    "\n",
    "@app.route(\"/get\")\n",
    "def get_bot_response(command):\n",
    "    #userText = request.args.get('msg')\n",
    "    response = str(english_bot.get_response(command))\n",
    "    speak.Speak(response)\n",
    "\n",
    "    appendfile=os.listdir('saved_conversations')[-1]\n",
    "    appendfile= open('saved_conversations/'+str(filenumber),\"a\")\n",
    "    appendfile.write('user : '+command+'\\n')\n",
    "    appendfile.write('bot : '+response+'\\n')\n",
    "    appendfile.close()\n",
    "    return response\n",
    "\n",
    "\n",
    "while True:\n",
    "    value=get_bot_response(myCommand())\n",
    "    print(value)\n",
    "\n",
    "\n",
    "# if __name__ == \"__main__\":\n",
    "#     app.run()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}