A chatbot developed in Python
I aim to give users a new way to interact with Google Maps through engaging text-based conversational interfaces.
I'm only a baby bot right now, I need you to feed me with logic, data and inspiration.
The primary motivation of the developers of MapBot is to provide a playground to tech enthusiasts, both beginners and advanced to try algorithms, approaches and ideas while contributing to a real-life project.
Check out all related information here
mysql -uroot -p -hlocalhostshould open the mySQL monitor. (Enter the root password when prompted)
mysql -uroot -p -hlocalhost
create database mapbot;
show databases;
stanford-corenlp-x.x.x.jar
and stanford-corenlp-x.x.x-models.jar
handy.git update-index --assume-unchanged ENV/.env
ENV/.env
with the corresponding values following the KEY=VALUE
formatrequirements.txt
file. Run pip install -r requirements.txt
init.py
file. python init.py
mysql -uroot -p -hlocalhost
create database mapbot;
show databases;
stanford-corenlp-x.x.x.jar
and stanford-corenlp-x.x.x-models.jar
handy.git update-index --assume-unchanged ENV/.env
ENV/.env
with the corresponding values following the KEY=VALUE
formatrequirements.txt
file. Run pip install -r requirements.txt
python webapp.py
to start up the server.http://127.0.0.1:5000/
to interact with your MapBot.docker --version
and docker-compose --version
GCLOUD_API_KEY
in ENV/docker.env
docker-compose up
localhost:5000
to interact with the deploymentmysql -uroot -p -hlocalhost
create database mapbot;
show databases;
stanford-corenlp-x.x.x.jar
and stanford-corenlp-x.x.x-models.jar
handy.git update-index --assume-unchanged ENV/.env
ENV/.env
with the corresponding values following the KEY=VALUE
formatTELEGRAM_BOT_TOKEN=<your_api_key_here>
, open your Telegram app and follow this tutorial on how to create a new bot on Telegram and get your own bot token. Once your token is generated, update the .env
file in /ENV
with it.@bot_username
that you chose, and send the first text to your new bot. Nothing is supposed to happen for now. No worries.requirements.txt
file. Run pip install -r requirements.txt
telegram.py
file. python telegram.py
and converse with your bot in real time.mysql -uroot -p -hlocalhost
create database mapbot;
show databases;
stanford-corenlp-x.x.x.jar
and stanford-corenlp-x.x.x-models.jar
handy.git update-index --assume-unchanged ENV/.env
ENV/.env
with the corresponding values following the KEY=VALUE
formatENV/.env
file as: SLACK_CLIENT_ID=<your client id>
and SLACK_CLIENT_SECRET=<your client secret>
. Navigate to the OAuth & Permissions section. Under the Redirect URLs subheading add http://localhost:5000/post_auth
.requirements.txt
file. Run pip install -r requirements.txt
python app.py
. The server will start at your localhost. Navigate to http://localhost:5000/begin_auth
. Click Add to Slack
button. Select the workspace from the top right and hit Allow
. Successfully completing this step would automate the creation of SLACK_BOT_TOKEN
in the ENV/.env
file.python slackbot.py
.@YOUR_BOT_DEFAULT_USERNAME
message in the channel. Click on Invite to Channel.mysql -uroot -p -hlocalhost
create database mapbot;
show databases;
stanford-corenlp-x.x.x.jar
and stanford-corenlp-x.x.x-models.jar
handy.git update-index --assume-unchanged ENV/.env
ENV/.env
with the corresponding values following the KEY=VALUE
formatENV/.env
file as ACCESS_TOKEN=<your_access_token>
.ngrok http 5000
. Once you do this, a screen will appear with a link after the “Forwarding” section — make sure to copy the link that begins with “https”.ENV/.env
file as VERIFY_TOKEN=YOUR_VERIFY_TOKEN
. Hit Verify and Savepython app.py
The
/analysisfolder contains data files for the project. The
sentences.csvcontains the base training dataset which is used to classify the user's input into three classes - Statement, Question, and Chat. Going through some examples would clarify the difference between statement and chat. The
featuresDump.csvis the result of text pre-processing done using the code in
features.pyand
featuresDump.py.
Here's a Medium article with the some superficial explanations, there are some video links too!