# instagram 機器人 command line 使用手冊 ## 執行前置 - 設定 Settingconfig.ini 檔案,才能夠執行 - 目前限定必須有chrome才能執行 - 所有額外檔案皆須與執行檔(InstagramBot.exe)同一層資料夾 ``` 可以的話使用 cmd 來執行檔案會比較好,執行結束後才會不整個視窗消失。 如果瀏覽器無法自動開啟,請查看電腦上chrome的版本號,(預設 chromedriver.exe for 版本 84 ) 並且到 https://chromedriver.chromium.org/downloads 下載符合該版本的 chromedriver.exe,取代資料夾中的檔案 ``` ## SettingConfig 設定檔 ``` 只要有更改到該檔案,需重啟後設定才生效。 除了執行畫面會有訊息,程式執行後產生logging.log檔案,所有執行紀錄會存在該檔案中。 ``` >如果無法正常閱讀 .md的檔案,可使用 https://dillinger.io/ 將內容複製貼上,以便閱讀。 ## BaseSetting ` 基本設定 ` - username - Ingstagram 帳號 - password - Ingstagram 密碼 - infinite_loop (true or false) - 是否要無限循環的執行,設定 false的話只會跑一次, true則會一直跑下去,直到 按 ctrl + c 中斷程式 ## Function ` 可啟用功能,設定true or false決定該功能是否在這次執行時開啟,會隨著需求開發和更新新的功能` - get_follower_links (true or false) - 取得追隨該帳號的人個人頁連結 - send_msg_by_post (true or false) - 發送推播訊息給,在該貼文下留言的人,不管回覆者回覆幾次,只會推播一次(可透過PostSendPushRecord.ini查看貼文下已推播過的帳號) - reply_unread_msg (true or false) - 自動回覆未讀訊息,可設定關鍵字來回覆特定文字,或者預設回覆 - get_links_by_tag (true or false) - 取得特定Tag下所有貼文連結 - get_comment_username_by_post (true or false) - 取得特定貼文下 "回覆" 者的Link - get_like_username_by_post (true or false) - 取得特定貼文下 "按讚" 者的Link - push_msg_by_inbox_username (true or false) - 根據聊天紀錄,對有紀錄者發送推播 - push_chat_script_by_inbox_username (true or false) - 根據聊天紀錄,對有紀錄者發送腳本推播 ## Function Setting `以下為各個功能的參數設定` ### send_msg_by_post `自動推播訊息,給貼文下留言的人` - post_link - 要監看的貼文連結 - msg - 推播的訊息內容 ### ReplyDict ` 自動回覆未讀訊息,辭典建立` ``` ex : unread2=reply1 只要未讀的訊息中,有包含 "unread2",那將會自動回覆 "reply1" 的訊息給傳訊者 如 收到訊息為 "unread2 aaaabbbccc" ,則回覆 "reply1" default=這是自動回覆測試 此項必須設置 此項為,如果收到訊息不在建立的詞典中,則回覆 ("這是自動回覆測試") 該訊息 如 收到訊息為 "不在辭典中" ,則回覆 "這是自動回覆測試" ``` ### get_links_by_tag `取得特定Tag下所有貼文連結` - tag - 要取得的Tag ### get_comment_username_by_post `取得特定貼文下 "回覆" 者的Link` - post_link - 特定貼文之網址 ### get_like_username_by_post `取得特定貼文下 "按讚" 者的Link` - post_link - 特定貼文之網址 ### push_msg_by_inbox_username `根據聊天紀錄,對有紀錄者發送推播` - msg - 推播訊息 ### push_chat_script_by_inbox_username `根據聊天紀錄,對有紀錄者發送腳本推播` - scrpit_json - 以json格式做儲存 - script flow ![](https://i.imgur.com/2kvuYli.png) ``` { "對話腳本_完整": [ { "id": 1, "question": "嗨嗨 又是我!\\n這是第二次ChatBot測試\\n上次感謝各位大大的幫忙,抓到許多問題,這一次加快了回覆速度,並且修復許多問題,大家可以嘗試多種回應方式(ex: 是 ooxx or 21313是 ...等),看看我這邊是不是可以抓到對的回答(或者觸發出更多的BUG...),以下為問題:\\n\\n你是否為第一次回覆問題\\n請選擇\\n\\n是 或 否", "ans": [ { "keyword": "是", "result": "感謝大大參與測試,接下來還會有一些問題,再麻煩回答了!!!~~" }, { "keyword": "否", "result": 3 } ], "next": 2, "isFirst": true }, { "id": 2, "question": "嗨嗨 這是第二個問題,可以幫我看看接下來的問題回覆的速度好嗎? 好 or 不好", "ans": [ { "keyword": "不好", "result": "雖然你回答不好,但我還是要繼續問下面的問題" }, { "keyword": "好", "result": "感謝你~~~~" } ], "next": 3, "isFirst": false }, { "id": 3, "question": "你回答過其他問題,這機器人的回復速度是否即時?\\n\\n是 or 否", "ans": [ { "keyword": "否", "result": "抱歉... 我再改進... 希望你可以回覆完所有問題..." }, { "keyword": "是", "result": "感謝!希望你可以回覆完所有問題^^" } ], "next": 4, "isFirst": false }, { "id": 4, "question": "這是最後一題了,回答的途中有沒有遇到或發現什麼問題? 有 or 沒有", "ans": [ { "keyword": "沒有", "result": "感謝你回答完問題,如果有遇到問題可留言喔!,有機率會有真人回應喔!!!" }, { "keyword": "有", "result": "!! 麻煩你將遇到的問題描述一下,有機率會有真人回應喔!!!" } ], "next": null, "isFirst": false } ] } ``` ### Json 設定方式 ![](https://i.imgur.com/dzwiuu7.png) ### PushChatScriptRecord 閱讀方法 - 將 json 字串 放到這裡 用 path 查詢目前問題是什麼 - https://jsonpath.com/ - username -> key = 目前所在問題path value = 使用者回覆內容 ![](https://i.imgur.com/zd2wY4B.png)