不行哦 Line 基本上禁止讓兩個被程式控制的機器人互相溝通
不然你可以試想看看,兩個如果都有被觸發的狀況下互打
不就進入無限迴圈了嗎?
如果這兩個機器人都是你控制的話,既然都可以知道 Line Notify
的觸發時間點
那你應該要讓觸發時去驅動一般的機器人進行動作,這部分就看你如何設計
可以透過 api
或是任何溝通方式來進行 (用 api
應該是最直接的吧)
只是要注意的是,要發訊息就要透過 push
就不能使用 reply
的方式
因為對機器人來說,沒有任何人跟他說話,所以不能用 reply
那如果 Line Notify
不是由你控制的話,可能就沒有辦法處理
變成說要請設計 Line Notify
觸發程式的人,來呼叫你的 api
會比較好
謝謝前輩 這樣講瞬間就懂了
那前輩不好意思我這邊還有一個關於Line Bot的問題想詢問一下
目前是在做關於ESP32和LineBot的專題,目前想讓ESP32所接收到的訊息傳回去Line讓LineBot做處理,本來是想利用上面的方式去讓LineBot做處理,但無法成功,也爬過網路上許多文章,但還是沒有辦法解決,想請教一下前輩對這方面有研究嗎?如果有,可以請前輩您給我一點方向嗎?
謝謝前輩
不太懂你的 ESP32 部分是怎樣,他會藉由什麼方式收到訊息
我是利用ESP32接收beacon所發送的訊息
哦哦 這樣一樣 webhook 收到的話 不是一樣可以推訊息嗎?
你可以簡訊給我 line id 私下聊一下 最近比較閒XD
可以嗎 謝謝前輩
非常感謝前輩 已私訊您了
這幹嘛要透過line Notify,不是直接webhook去發push message就好?
因為本來的目的是要讓LineBot能夠處理ESP32所接收到的訊息,所以才想說試試看用Notify去傳送,看這樣LineBot能不能處理。但聽前輩這樣講,好像是有其他更簡潔的辦法,能否請前輩再講得稍微細一點。
麻煩了,謝謝前輩
Line Bot 本質上也是一個網站,你ESP32只要能發個post到你的 bot,處理完你要做的事再發一個 push message或 notify 通知到群組就好。
絕對不會動的虛擬code:
line_bot_api = LineBotApi('YOUR_CHANNEL_ACCESS_TOKEN')
handler = WebhookHandler('YOUR_CHANNEL_SECRET')
@app.route("/recive_from_esp32", methods=['POST'])
def callback():
do_something_like_save_to_db()
line_bot_api.push_message("接收者ID", messages)
return 'OK'
不用先發一個notify再接webhook這種奇怪的迂迴做法。
push message免費有500則額度,我是建議沒必要的話直接用 notify 就好。
前輩 您是說我ESP32接收到beacon的訊息後發送POST後Linebot就有辦法接收到ESP32的訊息,並針對訊息做處理,之後再由Bot push message 或由notify來發送訊息這樣嗎
對。
那前輩 我再發送POST的時候 是把程式碼寫再Arduino對八 然後讓ESP32去發送 這樣的話我再控制linebot python的程式碼是不是也要寫一個接收Post的
對。ESP32這種小裝置該負擔的只有檢測和發送訊號,運算和儲存應該盡量在伺服器端去做。
話說你看不出來我上面的程式碼是接收用的嗎?哪我要檢討了。
沒有看不出來拉 哈哈哈 我只是再確認一次而已 我先試試看 謝謝前輩的幫忙
froce前輩 在做的過程中 有許多不懂的地方 也有去網上查 但沒有查到甚麼結果 所以不知能否跟前輩加個賴 請前輩指點一下方向 如果可以的話這是我的賴ID:smile3698 再請前輩加我一下了
謝謝前輩
我剛剛看了上面文章的留言 我有一些疑問,我有使用ifttt去連動line 讓他能夠發生一個事件就通報到line 上面 通報的機器人是用line nofity 但是老闆要我把line nofity 通報的所有聊天紀錄自動備份到表單以方便統計(excel或google試算表)但現在遇到一個問題是line bot 無法辨識line nofity的訊息以至於無法自動記錄進表單內(真人用戶可以)請問各位程式高手有甚麼方法能決嗎 我苦惱很久了 我是新手帳號所以無法回覆