Skip to content
This repository was archived by the owner on Oct 21, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .env.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
TENEO_ENGINE_URL=<your_engine_url>
CHANNEL_SECRET=<the value obtained in LINE DevConsole -> YourLineProviderName -> BasicSettings -> ChannelSecret >
CHANNEL_ACCESS_TOKEN=<the other value issued in LINE DevConsole -> YourLineProviderName -> MessagingAPI -> ChannelAccessTopic >
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# v.1.0.1
## 29/10/2020
1. [](#improved)
* Updated dependencies and README.md
47 changes: 32 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,14 @@ Your bot needs to be published and you need to know the engine URL.


## Setup instructions
### Create and configure a Line Provider
### Create a Line Provider
1. Log in with your LINE account here: [https://developers.line.biz/en/](https://developers.line.biz/en/). Use a QR Code or an email address. You may need to complete your developer profile after you've logged in.
2. Click on Create New Provider, and give it a name.
3. Now, create a Messaging API Channel, and fill in the necessary fields: description, icon, category, etc.
4. Open the newly created channel, find and copy the CHANNEL_SECRET value for later use.
5. Scroll down on the page and issue a CHANNEL_ACCESS_TOKEN (set expiration time to 0 hours for now, so the token doesn't expire), and copy that value too.
6. Go to the 'Use Webhooks' section, and set it to 'Enabled'. You will be setting the 'Webhook_URL' after the next steps.
7. Next, scroll down to the 'Using LINE features' section and disable 'Auto-reply messages' by clicking the 'Set message' link.


### Running the connector locally
#### Setup the connector
1. Download or clone the connector source code:
```
git clone https://github.com/artificialsolutions/tie-api-example-line.git
Expand All @@ -33,34 +30,54 @@ Your bot needs to be published and you need to know the engine URL.
```
npm install
```
3. Create a `.env` file in the folder where you stored the source, and add values for TENEO_ENGINE_URL, CHANNEL_SECRET, and CHANNEL_ACCESS_TOKEN:
3. A file .env.sample file is included in the project. Use it as a reference to create a `.env` file in the folder where you stored the source, and add values for CHANNEL_SECRET and TENEO_ENGINE_URL. CHANNEL_ACCESS_TOKEN will be set later on.
```
TENEO_ENGINE_URL=<your_engine_url>
CHANNEL_SECRET=<that value obtained in the previous section>
CHANNEL_ACCESS_TOKEN=<that other value issued in the previous section>
CHANNEL_ACCESS_TOKEN=<value issued in the upcoming section>
```
4. Start the connector in Console:
```
node server.js
```

Next, we need to make the connector available via https. We'll use [ngrok](https://ngrok.com) for this.
#### Make the connector available via HTTPS
1. Next, we need to make the connector available via https. We'll use [ngrok](https://ngrok.com) for this.

1. Start ngrok. The connector runs on port 3000 by default, so we need to start ngrok like this:
2. Start ngrok - The connector runs on port 3000 by default, so we need to start ngrok like this:
```
ngrok http 3000
```
2. Running the command above will display a public https URL. Copy it, you will need it in the next section.
3. Running the command above will display a public https URL. Copy it, you will need it in the next section.


### Update Webhook URL in the line provider
1. Once the connector is available via https, copy the public https URL from the previous step andp paste in into the Webhook URL of your Line Channel provider. Also, add a /callback suffix to the URL field. The final Webhook URL should look roughly like this:
#### Update Webhook URL in the Line Provider
1. Next, in the 'LINE Official Account Features' section > 'Auto-reply messages', click on 'Edit'.
2. Set 'Response mode' to Bot. Disable 'Auto-Response' and 'Greeting Message'.
Set 'Webhooks' to Enabled.
3. Go back to 'Messaging API' > 'Webhook Settings' and set 'Webhook URL' by using the public https URL obtained from ngrok in the previous step, and attaching the suffix '/callback'. The URL will look roughly like this:
```
https://12345abcde.ngrok.io/callback
```
https://7a6e4de6.ngrok.io/callback

4. Click 'Verify' and also Enable 'Use Webhook'.

5. Browse to 'Message API' > Channel Access Token. Click issue, and copy the 'Channel Access Token' value for later use.
It is very important to note that this token must be re-issued everytime the Webhook URL is changed, to prevent authentication errors.

#### Update and restart the Connector
1. Finally, update the CHANNEL_ACCESS_TOKEN variable in .env file of your project source with the 'Channel Access Token' value obtained in the previous step:

TENEO_ENGINE_URL=< your_engine_url >
CHANNEL_SECRET=< The value obtained in previous steps>
CHANNEL_ACCESS_TOKEN=< 'Channel Access Token', from the previous step >

2. Restart the connector in Console:
```
node server.js
```
2. Click the blue 'Update' button to save the url.

### Start chatting with the bot.
Go back to the Channel settings of your Provider, and scroll down to the QR code shown in the bots section. Use it to add your bot as a new contact to your LINE app.
Go back to the Basic Settings section of your Provider, and locate the QR code shown in the bots section. Use it to add your bot as a new contact to your LINE app.

That's it! Your bot should now be available in LINE and responding to messages that are sent to it.
57 changes: 20 additions & 37 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "line-teneo-connector",
"version": "1.0.0",
"version": "1.0.1",
"description": "A basic example using Teneo and Line",
"main": "server.js",
"scripts": {
Expand All @@ -20,7 +20,7 @@
"url": "https://github.com/artificialsolutions/tie-api-example-line"
},
"dependencies": {
"@artificialsolutions/tie-api-client": "^1.3.1",
"@artificialsolutions/tie-api-client": "^1.3.7",
"@line/bot-sdk": "^6.8.0",
"express": "^4.16.3",
"http": "0.0.0"
Expand Down