Template Code for TOC Project 2020
A Line bot based on a finite state machine
More details in the Slides and FAQ
- Python 3.6
- Pipenv
- Facebook Page and App
- HTTPS Server
pip3 install pipenv
pipenv --three
pipenv install
pipenv shell
- pygraphviz (For visualizing Finite State Machine)
You should generate a .env
file to set Environment Variables refer to our .env.sample
.
LINE_CHANNEL_SECRET
and LINE_CHANNEL_ACCESS_TOKEN
MUST be set to proper values.
Otherwise, you might not be able to run your code.
You can either setup https server or using ngrok
as a proxy.
or you can use Homebrew (MAC)
brew cask install ngrok
ngrok
would be used in the following instruction
ngrok http 8000
After that, ngrok
would generate a https URL.
python3 app.py
Or You can use servo to expose local servers to the internet.
The initial state is set to user
.
Every time user
state is triggered to advance
to another state, it will go_back
to user
state after the bot replies corresponding message.
- user
-
Input: "go to state1"
- Reply: "I'm entering state1"
-
Input: "go to state2"
- Reply: "I'm entering state2"
-
TOC-Project-2019 ❤️ @winonecheng
Flask Architecture ❤️ @Sirius207