【Day 05】从零开始的 Line Chatbot-公开 APP 网址

昨天稍微简介了一下 ngrok 在做甚麽,今天我们要让我们的 Line Channel 公开,这个 Chatbot 才可以真正运作!

ngrok 是一个可以让内网服务器与外界沟通的一个服务。

安装

我们先到 Ngrok 的官网 依据作业系统进行下载即可。

因为我的系统是 Windows,他自动帮我选择了 Download for Windows(其他作业系统请自行选择)。

按照 get-started setup 一步一步进行即可。

下载之後会是一个压缩档,直接解压缩即可(会产生一个执行档 .exe)。

之後你会在网站上看到一个 authtoken,要注意好这个 token!!

之後我们执行刚刚解压缩的执行档,输入以下指令:

ngrok authtoken <YOUR TOKEN>

接着,就可以透过Ngrok,将本机的埠号对外公开。

透过 ngrok 公开网址

以我的 channel 为例,Django在本机运行的埠号为8000,所以输入以下的指令:

ngrok http 8000

执行结果如下

红色框框框起来的即为公开後的网址,而我们的 localhosthttps://localhost:8000

要特别注意的是,每次重新连接後的网址都不同,因为是随机产生的一个对外公开的 https 网址,所以每一次重新连接,以下的东西都要重新更改一次。

我们把产生出来的一个 https 网址填入 Line Developers 的 Messageing API > Webhook settings > Webhook URL,不过还要再後面接上 Line Bot APP 的网址,如图:

然後我们也要填入专案主程序的 setting,mylinebot/settings.py

ALLOWED_HOSTS = [
    '428b1f34284f.ngrok.io'    #允许的网域名称
]

Line Developer Setting

好了,到这一步,我们已经快要可以执行了!

我们要做最後一步的设定。在 Messaging API > LINE Official Account features > Auto-reply messages > Edit

我们可以看到一些设定的部分。

  • Main settings
    • Response mode:我们选择 Bot 就可以让我们撰写的聊天机器人自动回复
    • Greeting message:可以选择加入好友後是否要先传一个招呼讯息(也可以编辑)
  • Detailed settings
    • Auto-response:要记得把 Auto-response 关掉
    • Webhooks:这个选项要记得打开(Enabled)。

都设定完後,Line Channel 就能够与 Line Bot APP 互相连结

执行!

最後,利用以下指令就可以执行 Line Bot APP(回到专案资料夹,开启 Terminal

python manage.py runserver

即可执行!

不过!!

如果更新过 NutritionBot > models.py

请先执行

python manage.py makemigrations NutritionBot
python manage.py migrate

更新完 models.py 以後才可以执行

python manage.py runserver

那 model 是甚麽,我们後续会继续讲关於 django 框架的细节~。
那就下集待续啦!!


<<:  05. Feature Test x HTTP Test x API Test

>>:  Day-06 如何不分大小写/自动引入

Day 30 - 故事的最後不是句点,是开始

我成功了吗 经过了这段特别长的暑假,我好像学会了蛮多的东西的!我想对於一个有严重拖延症的患者而言,我...

WhatsApp Business 商业帐号的独特功能

WhatsApp是世界上最多人使用的即时通讯软件,每月有20亿活跃用户,用户透过WhatsApp每天...

Day 08 Azure cognitive service: object detection- 匡出照片中的喵

Azure cognitive service: Object Detection- 匡出照片中的喵...

Day 27 阿里云上运行Kubernetes 3 - ACK

在前两篇简单操作了阿里上面的ACK服务,今天要分享的是使用ingress,怎麽用一个IP去分享多个服...

Unity自主学习(二十八):Time.deltaTime

上次把物件基本的移动以及跳跃都弄出来了,那麽改变物件的位置座标时,都要再额外乘上一个"Ti...