Telegram_link_Line
用 Telegram 來收發 Line 的訊息。
use telegram to Send and receive messages(from Line).
或者把它當作 Line 的訊息備份也是可啦
😛
支援 Telegram、Line 個人及群組
1對1、多對1、1對多、多對多 的訊息傳遞。
此為針對 v3.6 的 README。
如果是 Telegram_Bot 新手推薦看完 這個影片後在來使用。
如果想要獲取更新資訊,可以加入這個頻道 https://t.me/TG_link_Line
目錄(Index)
- 功能 (Features)
- 實際情況截圖 (Screenshot)
- 自定義語言包說明 (Custom language pack description)
- 部署教學 (Installing)
- 注意事項 (Precautions)
- 程式說明 (Code Introduction)
- 版本資訊 (Version)
- 常見問答 (Q&A)
- 贊助(Donate)
- 作者 (Author)
功能(Features)
功能 | V2 | V3 | V3.1 | V3.2 | V3.3 | V3.4 | V3.5 | V3.6 |
---|---|---|---|---|---|---|---|---|
文字 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓(註4) | ✓(註4) | ✓(註4) |
貼圖 | 僅Line發給TG | ✓(註1) | ✓(註1) | ✓(註3) | ✓(註3) | ✓(註3) | ✓(註3) | |
照片 | 僅TG發給Line | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
影片 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
錄音 | 僅Line發給TG | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
位置 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
檔案 | 僅Line發給TG | 僅Line發給TG | ✓ | ✓ | ✓ | ✓ | ✓ | |
GIF | ✓(註2) | ✓(註2) | ✓(註2) | ✓(註2) | ✓(註2) | ✓(註2) | ||
TG_video_note | ✓ | ✓ | ✓ | ✓ | ✓ | |||
知道誰發言 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
針對回復 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
房間分類 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
獨立房間 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
關鍵字提醒 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
訊息時間 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
自訂語言包 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
自訂時區 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
知道Line_bot異動 | ✓ | ✓ | ✓ | ✓ | ✓ | |||
知道Line群人員異動 | ✓ | ✓ | ✓ | ✓ | ✓ | |||
/tryget_XXX 功能 | ✓ | ✓ | ✓ | ✓ | ✓ | |||
✓ | ✓ | ✓ | ✓ | |||||
✓ | ✓ | ✓ | ✓ | |||||
✓ | ✓ | ✓ | ✓ | |||||
顯示Line房間名稱 | ✓ | ✓ | ||||||
支援V8 | ✓ |
- V2、V3有時會不知道是誰發言是因為對方版本不夠新。
- 註1:目前確定 "安卓的line版本8.5.3" 可以正常看貼圖,"Windows的line版本 5.10.0.1789" 則無法,其他未知。
- 註2:僅TG發給Line,LINE發送到TG僅會收到GIF的第一格的畫面。
- 註3:目前不支援 TG 的動圖。 支援Line動圖傳至 TG。 TG 傳送貼圖至Line會先去我的伺服器轉檔,若覺不妥可自架。
- 註4:支援 TG → Line 傳送文字格式(粗體、斜體、刪除線、程式碼、連結) 。
Screenshot
獨立房間(升級房間) +
影片連結點這裡(mp4 version)
自定義語言包說明(Custom language pack description)
自訂語言包:
在 "Telegram_link_Line(version3)/Languages" 中有 "Native(zh-tw).gs" 這個原生繁中語言包,其中 可修改 的內容如圖反白區域。
(修改後記得按下 "新增發布" 且在TG端 /debug 才能變更成功)
對了 如果你覺得你自訂的語言包不錯,可以pm我或自行pull請求來上傳。
其屬性及內容:
"":{ //物件名稱
"type": "to_Telegram",
//^ "to_Line"、"to_Telegram"、"command(Telegram)"、"to_Telegram(only_text)"
"text": "" or ['',''],
//^ 自定義文字內容 如有像 {0} 這種東西代表會有引入的文字 你也可以完全不引入
//^ 如果形式是['','']則陣列內的內容會自動串接成一字串。
"notification": false, //不通知? true or false
"parse_mode":"" //送出文字模式 "HTML" or "Markdown" or ""
},
部署教學 (Installing)
其他人的教學
企鵝做了一個非常詳細的圖文教學(萬分感謝 m(_ _)m ),但是此教學目前過期,不過創建LINEbot的部分是能用的,另外就是這個版本升級房間時不再使用新的bot,轉成用"新群組"替代!
部屬教學影片(Install teach video)
準備
需要使用者申請 Telegram_bot 跟 Line_bot(Messaging API)
需有一google帳號並在其中創建:
事前聲明:下列4個步驟的檔案必須在同一個google帳號下,或者有存取權,bot才會正常運作。
-
一個doc檔,並將v3中的"doc.gs"內容複製上去。
-
一個sheet檔
-
一個資料夾(用來放來自Line的媒體),推薦名稱叫 "download_from_line"(如果Google空間爆了bot會罷工喔,一般帳號有15G應該還好,如果是這個bot的東西占滿空間可以去"自己的TGbot"->"更多設定"->"丟棄舊檔"來丟到垃圾桶)
-
如下圖,確保V8是啟動狀態,要有 "停用由 Chrome V8 技術..." 在上面
(如果是新版的IDE,在左邊齒輪中勾選 "啟用 Chrome V8 執行階段")
-
三個gs檔(google apps script),並將v3其中的"Telegram_link_Line.gs"的內容複製在一開始給你的"程式碼"區內。
複製完後按下左上角的 "檔案" -> "新增" -> "指令碼檔案" -> 輸入你要的名稱(推薦叫"baseANDtest") -> 將"baseANDtest.gs"內容複製上去並填上資訊(註一)
再一次 按下左上角的 "檔案" -> "新增" -> "指令碼檔案" -> 輸入你要的名稱(推薦叫"Languages") -> 將"Native(zh-tw).gs"內容複製上去
然後請如下操作:
- 接下來按下左上角的
- "發佈" ->
- "部屬為網路應用程式" ->
- 專案版本選 "新增" (一定要記得!!!) ->
- 將應用程式執行為 改成"我" ->
- 具有應用程式存取的使用者 改成"任何人甚至匿名使用者" ->
- 確定(or更新)(註二) ->
- 將他給你的網址複製起來,並設定Telegram和Line的bot Post到該網址。(註三)
- 將 CP(),設定計時器 每24小時一次 (<-非必要,以防萬一用。)(用來備份整個doc)
說明圖1、說明圖2、說明圖3、說明圖4 - 執行 up_version(),如說明圖,很重要!(考試不會考:p
Telegram bot 需要新增四個指令:
main - 開啟主選單
exit - 離開對話
debug - 重生資料(bot壞掉時用)(不會讓房間不見)
allread - 全部已讀
help - 獲取所有指令說明
- 跟 @BotFather 對話 ->
- 然後 /mybots ->
- 選你的 bot ->
- 在進去 "edit Bot" ->
- "edit commands" ->
- 貼上上方指令並送出 ->
- 完成!
ps' /allread、/debug這兩個指令也可以移到bot的About裡面
Telegram bot 需要關閉隱私模式:
不然升級房間後會有沒接收到訊息的問題。
找@BotFather關閉掉隱私模式。
步驟:
- /mybos
- (選擇你的bot)
- Bot Settings
- Group Privacy
- turn off
此時上面的文字應該是會改成向類似這樣 "Privacy mode is disabled for (bot 名稱) (bot的username)."
-
註一
doc和sheet的ID在網址中,例如網址: https://docs.google.com/spreadsheets/d/1vp35X4AfgP2mGLib0PZQ0NLaw_Ur0PSD_0rjgbwOfx/edit#gid=0
那ID就是"1vp35X4AfgP2mGLib0PZQ0NLaw_Ur0PSD_0rjgbwOfx" (介於 "d/" 跟 "/edit" 之間)
不知道自己的Telegram ID可以在Telegram中找 @you_id_bot 問。
然後關於gs文件中第7行的 "Line_id"、第8行的 "CHANNEL_ACCESS_TOKEN"在如下圖line的後台中。
-
註二
第一次會要求權限,同意就好。
-
註三
Telegram用
"https://api.telegram.org/bot<token>/setWebhook?url=<https://XXX>&max_connections=1"
(這個格式("<token>"改成你的bot token 跟 "url="後面接gs專案網址 ))
EX: token = "123123:ZFDGFG" url = "https://XXX" 那網址就是: "https://api.telegram.org/bot123123:ZFDGFG/setWebhook?url=https://XXX&max_connections=1"
沒有 "<" 跟 ">",請務必把這兩個符號刪掉!
(設定Webhook的方式就是將你改好的網址丟到任一瀏覽器上,並按Enter送出,如果成功會回你 "Webhook was set" 或 "Webhook always set")
Line則要到後台改(長這樣)
-
NOTE:
你必須先跟你的機器人對話過他才能傳訊息給你。
如有出現問題請記得看一下 sheet 的 log !!! -
NOTE2:
現在Line伺服器在群組中有時會發userID(須對方line app更新)
所以有些知道是誰說的,有些不知道,我現在也很困擾。
注意事項 (Precautions)
-
如果你的GCP專案列表出現不明的專案請先不要砍,這個專案可能就是這個bot用的,如果砍了...
這裡有補救的方式......
by我的血淚教訓。 -
因為 Line 官方在 2019/06/10 後便將所有的 bot 改成新的方案
因此開始有人次的限制!!!請務必注意這一點!!!!!
(只好安慰自己說起碼拿來當備份還算實用... -
目前我還會繼續更新這個專案,最少搞定現在有的bug,還有先前承諾的功能。
程式說明 (Code Introduction)
程式流程
如果要理解程式的流程,推薦可以從V2紀念用下手,那時只有核心邏輯。
在這支程式中一切都是從 doPost(e) 這個 function 開始的,然後經過前面的一修必要流程(模式選擇、基本的預設、預處理、讀取doc檔)後,再從 "if (estringa.update_id) {" 這裡判斷是TG送來的,還是Line送來的json,並做出對應的處理。
程式規劃
為了讓使用者可以用最少的步驟完成更新,所以我在規劃程式劃分時只分離出3個檔案
- baseANDtest.gs <- 用來存放設定好後就不會再輕易改變的設定檔 (如 bot 的 token)
- Telegram_link_Line.gs <- 所有的程式
- Languages.gs <- 可自定義的語言包,可以把bot改成自己喜歡的樣子(V3.1開始才有)
因為這樣的設計故我需說明一下 Telegram_link_Line.gs (擠在一起很難讀)
如果是從 Telegram 來的
- 開啟 sheet 寫入 log。
- 判斷是不是群組或超級群組
1-1 是否是以綁訂在 doc 中的 "升級房間" 中? (Y -> 1-3 , N -> 1-2)
1-2 如果沒有在 doc 中,則給4次的機會來做房間綁定,4次後則離開。
1-3 如果在 doc 中,則依傳送的類型(文字、貼圖...)用不同的函式傳到對應的 Line 房間。
- 如果是私人1對1
2-1 是不是擁有者? (Y -> 2-3 , N -> 2-2)
2-2 發送該專案連結請他自己做一個
2-3 傳過來的是文字訊息? (Y -> 2-4 , N -> 2-5)
2-4 依 ALL['mode'] 的值來判斷現在的模式,並依模式對bot進行設定,亦或發送訊息至 Line。
2-5 如果 ALL['mode'] == "🚀 發送訊息" 則傳訊息至 Line,如果不是則請他注意當前模式。
如果是從 Line 來的
- 開啟 sheet 寫入 log。
0-1 先取得 userName,爾後在將資料整理成本程式適合的格式後再繼續
0-2 如果是媒體檔(照片、影片...)則先下載備用
- 查看傳來的訊息中的房間 ID 是否有在 doc 中(Y -> 1-1 , N -> 2)
1-1 是否是 "已升級房間" ? (Y -> 1-2 , N -> 1-3)
1-2 傳送訊息至對應的 TG 房間
1-3 將訊息存在 sheet 的 "Line訊息區" 分頁中,並由bot私訊通知擁有者。
- 如果訊息的 type 不是 "leave",則在 doc 中新增房間資料,並更新 sheet,再通知擁有者。
doc的json說明
doc是很重要的文件,用來儲存會變動的資料。
{
"data": [{
"RoomId": "zzz",
"Name": "(這個房間是空的)❎",
"status": "normal",
"Amount": 0,
"Notice": false
}],
"mode": 0,
"Notice": "正常通知",
"opposite": {
"RoomId": "zzz",
"Name": "(這個房間是空的)❎"
},
"last": {
"RoomId": "zzz",
"Name": "zzz"
},
"Order": [0, 2, 1, 4, 3],
"keyword": ["mi", "bot"],
"RoomKeyboard": [
[{
"text": "🔃 重新整理"
}, {
"text": "🔧 更多設定"
}, {
"text": "🔭 訊息狀態"
}],
[{
"text": "(這個房間是空的)❎"
}]
],
"FastMatch": {
"(這個房間是空的)❎": 0
},
"FastMatch2": {
"zzz": 0
},
"FastMatch3": {},
"keyword_notice": false,
"massage_time": false,
"TG_temporary_docking": {},
"wait_to_Bind": {},
"GMT": "GMT+8",
"code_version": 3.1
}
data = 存放房間資訊
mode = 暫存指令(通常為0)
Notice = 管理整體通知(確定廢除)(未作用)
opposite = 暫存指令對象房間
last = 來自Line端的最後訊息房間(未作用)
Order = 預計用來做自動依時間排序房間(未作用)
keyword = 關鍵字設定,出現關鍵字自動通知
RoomKeyboard = 房間的 keyboard,為節省重生時間而生
FastMatch = 快速索引用
FastMatch2 = 快速索引用
FastMatch3 = 快速索引用(給已升級房間用)
keyword_notice = 是否開啟關鍵字通知(預設為"關閉")
massage_time = 是否開啟訊息時間(預設為"關閉")
TG_temporary_docking = 如果bot被邀進群組則會登記於此,一旦bot在該群組中收到的前4則訊息,沒有包含綁定的隨機碼就會離開該群組以減少流量負荷。
wait_to_Bind = 當TG端按下升級房間時,則會將待綁定的房間資料塞入此處等待綁定,會被 /debug 或 /unsetroom 指令消除。
GMT = 此預設 GMT+8 若不再該時區可自行在 TGbot "更多設定" 中調整
code_version =
該程式的版本,用來驗證配對語言包正確性。
在這之後其實還有一些沒說明的屬性可以在 up_version 函式中找到。
版本資訊
2020/12/18 - (V3.6)
- 改變 支援V8引擎!
因為 Google Rhino 崩掉,不得已直接轉V8,如果有bug請直接私我回報。
更新方式:
- Telegram_link_Line.gs 修改
- 在 Google apps script IDE頁面中開啟V8引擎
(詳細請參考準備中的第4步驟) - 重部署版本 (版本是 "新增" )
2020/11/30 - (V3.5.2)
更新方式:
- Telegram_link_Line.gs 修改
- Languages.gs 修改
- 重部署版本 (版本是 "新增" )
待做:
- /reset_all_sticker 加速
提醒一下各位,如果是用我的server轉圖的,用了這版還有問題的話,麻煩請
- 轉換一下目標 api 成 media_conversion 試試。
- 使用 /reset_all_sticker 清空貼圖快取
2020/07/16 - (V3.5.1)
- 修正 CP() doc超過5w字元會失敗的問題
更新方式:
- Telegram_link_Line.gs 修改
- 重部署版本 (版本是 "新增" )
2020/07/15 - (V3.5)
更新方式:
- Telegram_link_Line.gs 修改
- Languages.gs 修改
- 重部署版本 (版本是 "新增" )
2020/02/29 - (V3.4)
-
部屬教學影片在1年半後終於生出來啦!!! 完全值得紀念⸜(* ॑꒳ ॑* )⸝
-
新增 /help 指令(列出所有指令用)
-
支援 TG → Line 的格式化文字(刪除線、code)
-
改變 在新創 bot 時,up_version會自己設定資料夾權限,降低創造難度。 (此改變不會對已升級用戶造成影響)
-
改變 現在開始如果 bot 在 TG 群遇到編輯過的文字會主動提醒 "不支援"
關於這個,如果你有什麼較好處理方法,歡迎私我提供
- 修改 TG 貼圖的快取方式,現在會更省 diver 空間。
- 修正 line 群有人離開時,名字顯示失敗的問題
- 修正 Line → TG 的動畫貼圖,用"讀取留言"傳送失敗的問題
- 修正 TG → Line 貼圖在 "
🏀 來源連結" 模式下傳送失敗(抵銷v3.3.3)
恩... 我覺得我被耍了,經過測試上次那個應該是 google drive 突然ㄆㄚˇ帶
程式碼本身沒問題 ( ˘・з・)
如果又有發生這樣的狀況 請等一陣子(我測試約2分鐘)再發同一張貼圖。 未來程式應該會主動解決這個問題。(可能自架圖床解決,最近google一直出問題啊...)
更新方式:
- 在 gs 上 執行CP()函示備份 後再繼續!!!
- Telegram_link_Line.gs 修改
- Languages.gs 修改
- 重部署版本 (版本是 "新增" )
- 對 bot 下 /up_version 指令,或是在 gs 上直接執行 up_version() 函式
2020/02/06 - (V3.3.3)
- 修正 TG→Line 貼圖在 "
🏀 來源連結" 模式下傳送失敗
如果你這幾天跟我一樣發現貼圖傳送突然有問題的話,可以更新這個版本看看
沒問題的話不更新也沒差
更新方式:
- Telegram_link_Line.gs 修改
- 重部署版本 (版本是 "新增")
V3.3.2)
2019/12/28 - (- 修正 新創的 bot 傳送 "照片+文字" 時文字會不見的問題
(對... 舊的沒影響,我不知道為什麼( ˘•ω•˘ ) ) - 因應 Line 修改 api 網址做出一點改變
(若不做此次更新,2020/4/30 後便無法下載 line 的照片、貼圖...等媒體) - 修正 因為我英文渣把轉圖api名稱 "conversion" 拼成 "conservion" 的問題(゚皿゚メ)
(現在是2個名稱都開了api,有在考慮要不要跟line一樣,舊的只支援到2020/4/30)
更新方式:
- Telegram_link_Line.gs 修改
- Languages.gs 修改
- 重部署版本 (版本是 "新增")
- (可選)去你的TGbot修改api名稱
"🔧 更多設定" ->
"🌀 轉圖設定" ->
"🚲 設定目標請求" ->
"media_conversion" ->
完成!
操作圖1
操作圖2
V3.3.1)
2019/08/24 - (hotfix)(- 修正 up_version出錯
更新方式:
- Telegram_link_Line.gs 修改
- 重部署版本 (版本是 "新增" )
如果你已經升級的話,請額外執行以下步驟:
- download_from_line資料夾("準備"中第3點有提到的資料夾)內,除了 "檔案放置區" 其他通通刪掉。(如圖)
- 去 sheet -> "JSON備份",找到舊的備份(看一下日期時間喔),複製後覆寫進doc。
如果沒有備份 的話請去doc,將這張圖中的藍色部分刪掉 (從 "逗點" 開始,最後的 "}" 沒刪掉),紅色的部分改3.2 - gs執行 up_version() 函式
- 如果 up_version() 執行完沒問題的話,再對 TGbot 下 /main + /debug。 這樣就OK了。
================================
...我merge完
......測完訊息沒問題 .........就發布了
死也沒想到...會死在升級......。
結論...
merge時如果太多衝突...
然後確定自家dev分支絕對沒問題的情況下...
乾脆一點直接覆蓋,別太相信自己merge的能力了
才不會像我一樣東漏一個西漏一個...
V3.3)
2019/08/20 - ("
- 新增 "
🍭 變換房位" 功能 可以自由調換主選單的房間位置 - 新增 "
🆗 設定提示" 功能 可以自訂是否要提示狀態? 提示後要不要刪除? 是否要延遲一定時間再刪? - 新增 "
🌀 轉圖設定"、"🎨 傳圖設定" 功能 能夠設定貼圖的處理方式。
新的特性:
- 支援 TG 的 "已升級房間",從 "普通群組" 升級成 "超級群組" 的自動轉換
- 新增 /up_version 指令至 TG_bot,之後升級程式可在複製貼上發布後對 bot 下該指令進行升級。
- 新增 /info , /v , /V , /version 指令,用來查看 bot 程式版本。
- 改變 "
🔭 訊息狀態" 現在會顯示目前已使用的人次量。
這次有特別新增 server 的程式碼
如果要自架 "轉圖server" 的請至 "image_conversion_server" 資料夾查看!
更新方式:
- 在 gs 上 執行CP()函示備份 後再繼續!!!
- Telegram_link_Line.gs 修改
- Languages.gs 修改
- 重部署版本 (版本是 "新增" )
- 對 bot 下 /up_version 指令,或是在 gs 上直接執行 up_version() 函式
已知Bug:
- 當line成員離開時無法顯示是誰離開(需等下次加新功能時才能修)
(真的是下次啦QQ,要先來改老師給東西不然會開天窗,只好做一半先發布Orz)- TG bot 傳送 "檔案" 時,"檔案名稱"要是含有中文,中文的部分顯示不出來
(覺得TG的問題,我之後盡量嘗試修補)
V3.2.6)
2019/07/27 - (hotfix)(- 修正 (hotfix)(V3.2.5) 造成 bot 停擺的問題
對不起 。・゚・(つд`゚)・゚・ 我下次一定會先過 autotest 才放上來
更新方式:
- Telegram_link_Line.gs 修改
- 重部署版本 (版本是 "新增" )
V3.2.5)
2019/07/26 - (hotfix)(- 修正 Line 傳到 TG 時無法處理 "$" 號問題
更新方式:
- Telegram_link_Line.gs 修改
- 重部署版本 (版本是 "新增" )
V3.2.4)
2019/04/07 - (hotfix)(- 修正 TG、Line 端傳送字串太長導致失敗的問題
更新方式:
- Telegram_link_Line.gs 修改
- 重部署版本 (版本是 "新增" )
V3.2.3)
2019/02/21 - (- 修正 刪除房間後還會觸發"關鍵字"的問題
- 修正 line_bot在一般房間中加入時無法顯示加入的房間類型的問題(room、group、user)
- 修正 刪除房間後觸發"新房間"的問題(變成原本的房間洗白後再創一次,且bot還是離開的狀態
已知Bug:當line成員離開時無法顯示是誰離開(需等下次加新功能時才能修)
更新方式:
- Telegram_link_Line.gs 修改
- 重部署版本 (版本是 "新增" )
V3.2.2)
2019/01/11 - (- 修正 電腦版圖片無法下載的問題
(現在確定 win7電腦版(5.12.1.1857)、安卓(8.19.2)、IOS(8.17.0)皆可預覽跟下載)
更新方式:
- Telegram_link_Line.gs 修改
- 重部署版本 (版本是 "新增" )
V3.2.1)
2018/12/27 - (hotfix)(- 修正 /tryget 失敗沒提示原因、指令後面加上"@XXX"後失敗 的問題
- 修正 在讀取留言時,成員加入、離開的訊息無法讀取 的問題
- 修正 遇到follow、unfollow事件就發生錯亂 的問題
- 修正 傳送失敗時,沒有辦法知道出錯的是哪個訊息及發送目標 的問題
更新方式:
- Telegram_link_Line.gs 修改
- Languages.gs 修改
- 重部署版本 (版本是 "新增" )
V3.2)
2018/12/14 - (- 支援 File 傳送至 Line。
- 支援 Telegram 傳送格式化連結給 Line。(粗體、斜體、連結,不包含code)
- 支援 Telegram Vote_Note(前鏡頭圓形影片) 傳至 Line。
- 支援 在 bot 內更改時區(GMT)。
- Telegram "回覆訊息"格式更改,以美化 Line 那邊的排版。
- Line 傳送給 Telegram 的檔案和錄音不再是連結而是"實物"。
- "已升級的房間" 在 "主選單" 中的狀態符號改為"
⭐️ "。 - "已升級的房間" 已可直接改名,不需先降回去普通房間。
- 現在可以在還有未讀訊息的情況下直接升級房間,會自動在新群傾倒舊訊息。
- 現在在 Telegram 中已能知道 Line 群人員加入、離開的狀況。
- 現在在 Telegram 中已能知道 Line_bot 被踢除、加入的狀況。
- 現在如果 "Line伺服器" 掛掉無法取得檔案,可用 /tryget_XXX 的方式重新取得。
- "(正在傳送XX,請稍後...)" 或其他 "告知類" 訊息在完成後會自動刪除。
- 修復 一直傳同張照片的問題、附檔名錯亂的問題。
- 修復 安卓、ios版Line app 無法查看照片的問題(分別測試於8.18.1、8.17.0)。
- 修復 Line room type 為"room"時,Line群人名無法獲取的問題。
- 修復 特殊情況下要轉傳2次驗證碼才能綁訂房間的問題。
- 提升bot檔案檢索速度。
- 指令效果變更! /allread 現在不會把檔案丟到垃圾桶。
如要丟棄檔案請至 "🔧 更多設定 /🌋 丟棄舊檔" 。 - ct['xxx']['text']的內容現在可以為 ['String','String'],系統會串接起來。
這次更新前一樣先 CP() 過後再用 /allread 在更新較不會有意外發生。
此外如果你的GCP專案列表出現不明的專案請先不要砍,這個專案可能就是這個bot用的,如果砍了...
這裡有補救的方式......
by我的血淚教訓。
更新方式:
- Telegram_link_Line.gs 修改
- Languages.gs 修改
- 在gs中執行 up_version() 函式。
- 重部署版本 (版本是 "新增" 謝謝)
2018/10/06 -
- GIF、錄音 可從 Telegram 傳 Line。
- Telegram 貼圖可傳至 Line (部分Line裝置無法觀看)。
- 新增自訂語言包功能,對於不習慣我的bot講話風格者可自訂自己的bot風格。
- 可自行調整時區(GMT),預設 GMT+8,預計下次更新可以在 Telegram 中調時區。
- TG群_link_Line群 功能開啟 ,升級房間的功能變更,改成用"新群組"的方式來升級房間。(不知為何有些人開的群組bot收不到訊息,必須升級至超級群組並給bot管理員權限才OK)。
- 刪除房間的功能不再只是刪除在doc端的資料,現在開始會嘗試離開,但如果是bot與他人1對1的"房間"則無法離開。
- 修正 /debug 指令失效問題。
- 修正登記新房間後會有機率撞名導致開啟房間錯亂的問題。
- 修正把房間全刪後無法新增新房間的問題。(算你狠wwwww
此次更新前請務必將所有房間降級後再來更新,如覺得太多房間要降覺得麻煩可以先將 Telegram_link_Line.gs 的內容貼上,然後 儲存但不發佈 後執行 "mv_all_uproom()" 這個函式來一鍵全降級。 (記得先"CP()"過,如果真的出狀況還可以去sheet中"JSON備份"內找到備份還原回去)。
一樣在 "更新前" 請盡量看過所有內容後按下 /allread 指令,較不會有意外發生。
如果升級群組後發現你轉傳"驗證碼"後完全沒反應,請先去開找@BotFather關閉掉隱私模式,然後再轉傳一次。
步驟:
- /mybos
- (選擇這個bot)
- Bot Settings
- Group Privacy
- turn off
此時上面的文字應該是會改成向類似這樣 "Privacy mode is disabled for (bot 名稱) (bot的username)."
在不行的話,請升級成 超級群組 並給bot管理員的權限----。
更新內容:
1.Telegram_link_Line.gs 修改
2.Languages.gs 新增(看readme
2018/05/28 -
- 提升穩定性,加入"關鍵字提醒"、"訊息時間"兩功能
- 溫馨提醒! 預設兩項功能皆是"關閉",請自行開啟謝謝!
請手動更新 Telegram_link_Line.gs,在 "更新後",還需要手動執行 REST_keyboard 函式(如圖示範),若擔心資料崩潰可先執行 CP 函式,這樣就算壞了也能手動回朔。
而在 "更新前" 請盡量看過所有內容後按下 /allread 指令,較不會有意外發生。
2018/03/16 -
- 有效提升穩定性、現在發圖片時的"簡介"也會一同被發出去了
- 正發送"位置"、"文檔"的錯誤
2017/09/28 - V3初次發布!
常見問答 (Q&A)
1. 為什麼升級房間後 bot 不會有任何回應?
你忘記解除隱私模式,請見這裡,設定後如果還是不行,請將 bot 移除群組後在重新拉入試試。
2. 為什麼 bot 沒有辦法傳送貼圖、照片、影片?
在剛部屬或升級bot時有一個 "執行 up_version()" 步驟,尼可能沒有做,請對 bot 下 /up_version 指令後即可解決(如果是 V3.3 以前的版本請手動到gs執行)
3. 如何查看 bot 版本?
請對 bot 下 /info , /v , /V , /version 中其中一個指令,如果是 V3.2 或 V3.1 的版本,請至 doc 文件尋找 code_version 的值,更早的版本... 只能對照程式碼了(。ŏ﹏ŏ)
4. bot 突然在某個地方卡住了怎麼辦?
原則上應該是不會出現這種狀況(都用全局鎖了qwq),如果不是網路或TG的問題的話,請 /main + /debug 再繼續操作,要是依舊無解請在 Telegram 上找 @we684123 來協助處理。
私訊時請直接說明來意,並給我 "baseANDtest -> base()" 截圖(如下,記得打碼),還有發生時sheet中對應時間的log的。
5. 為什麼我的 line bot 無法加入 line 的群組中?
這是因為 line 限制一個群組只能加入一個 bot,如果你目前群組內的 bot 是 Telegram_link_Line bot 的話可以請擁有者邀你進入他的TG群,本bot支援 TG 群對 line 群的對話方式。
或著還有個狀況是你沒有把"自動同意加入群組"打開(參考問題6的圖)
6. Line bot 在對方傳訊息後自動回說「感謝您傳送訊息給我!很抱歉...」,這段訊息怎麼關掉?
7. 怎麼確定這個 bot 的資料不會外傳?
基本上這 bot 是架在你的 Google Apps Script 上的(其實也算是在GCP上),我完全沒存取權,如果你沒有主動將設定檔 (baseANDtest.gs & doc.gs & gs的對外網址) 的內容洩漏出去的話是不會有這樣的問題的。
唯一有可能的是貼圖因為無法在 gs 上進行轉換,故會先送到我的 server 上做轉換後才送回你的 Google Drive,我的server目前不會存任何貼圖,且如果您在 "
當然,您也可以直接自架轉圖 server,原始碼我也有開源於此專案,架好後去 "
❎ 這個房間可以刪掉嗎?
8. (這個房間是空的)可以的,請直接刪掉!
9. 對方從 line 傳的檔案一直下載不下來怎麼辦? (bot 回傳 500)
500的話要嘛是 line 伺服器的問題,只能等。
還有一個可能是他傳的大小超過 50MB,bot 無法下載(還在構思這怎麼解決qwq)
但就算沒超過 50 MB,Line server也會處理N久
我遇過等她處理 32MB 處理整整2小時半的案例過...。
10. 只有貼圖傳送錯誤
如果錯誤訊息是 "bot發生錯誤,訊息如下:TypeError: 無法呼叫 undefined 的「getResponseCode」方法。" 可能是你的 "
(預設是 目標伺服器域名:we684123.hopto.org 目標api:media_conservion)
還有一個可能是你的 download_from_line 資料夾忘記設成 "知道的人均可檢視" (不過v3.4開始會自己設定好權限,應該較少發生這個問題,但還是可以檢查一下)
11. 收的到LINE群組訊息但顯示發送者的功能無效,或無法透過TG發訊息到LINE
你的 CHANNEL_ACCESS_TOKEN 設定有問題,正常的 CHANNEL_ACCESS_TOKEN 長這樣
12. 當初為什麼做這個bot?
因為我以前的手機容量不大,Line太佔空間,所以只好用Telegram來間接使用Line
印象中是這個原因啦......
贊助(Donate)
hmmm........
如果你覺得這對你有幫助的話,........
聽說這是 "台灣pay" 的 QRcode..............
我也沒用過(。ŏ﹏ŏ) .......................................
Author
永格天
一個中二病水瓶座男子
不太擅長塗鴉 (看大頭貼就知道Orz...)