在接收到訊息的時候,我們可以得知該使用者在此 line bot 的 user id,如果想要知道更詳細的資訊的話,可以使用line_bot_api.get_profile
來取得。
@handler.add(MessageEvent)
def handle_message(event):
UserId = event.source.user_id
profile = line_bot_api.get_profile(UserId)
print(profile)
{
"displayName": <使用者名稱>,
"language": "zh-TW",
"pictureUrl": <使用者頭貼的網址>,
"statusMessage": <狀態消息>,
"userId": <使用者 ID>
}
取得的這些資料可以用來做甚麼呢?假設你現在想要將使用者的名字記錄到資料庫內,並顯示到自己的網站上以便管理,但使用者不時會更換自己的名稱,這時候我們就可以透過在使用者發送任何 message event 時去依照他的 user id 去查看使用者現在的詳細資訊,再去跟已經存在資料庫的資料做比對,如果發現兩邊的資訊不一樣的時候,就可以去更新資料庫資料。而如果擔心這樣會導致難以辨認該使用者身分,也可以讓使用者在加入好友的時候填寫暱稱,此暱稱就屬於不會被更新的資料。