因為 LineBot 是利用 Line官方帳號的機制在運作,所以只要加入好友,就可以使用,我只是要自己用的,所以希望加一個驗證的機制,目前我的作法是先取得我自己的 user_id,然後在程式碼加入 user_id 的驗證,只要不是我自己,就不執行相關的功能
@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
global action
# 取得使用者 id
user_id = event.source.user_id
# 將 user_id 顯示出來
print("user_id", user_id)
#... 以下省略
以上程式加好之後,先執行一次,然後可以在命令視窗看到類似以下的輸出
把 user_id 後面那一長串複制下來
@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
global action
# 取得使用者 id
user_id = event.source.user_id
# 這一段沒有一定要
profile = line_bot_api.get_profile(user_id)
# user_id 已經取得,這一段就可以刪除了
# print("user_id", user_id)
if user_id != "剛剛複製的 user_id":
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text="親愛的 {name} 您好,感謝您加入好友,目前相關功能暫時還未開放,請日後再來試試".format(name=profile.display_name))
)
return
#... 以下省略
這樣就可以確保只有自己可以使用相關的功能,日後如果想要擴大使用範圍,也可以增加帳號相關的資料,讓每個使用者都可以使用自己的帳號來操作。不過暫時還是自己用了。
本來今天是要把這個程式放到雲端去的,不過試了幾個免費的雲端方案,暫時沒有成功,只好明天再試試。今天就稍微水一下。