iT邦幫忙

2021 iThome 鐵人賽

DAY 26
0

https://ithelp.ithome.com.tw/upload/images/20211005/20132916EtIgyAmgV8.png

如果歡迎訊息寫死在程式裡,臨時想換還要把程式打開來改,改完還要測試,不如就直接讓它能在群組裡設定吧

新增 設定指令

我們在 !md 上面新增兩個條件,一個是把聊天室的類型限制在群組(group、supergroup),另一個是要以 !msg 為開頭
https://ithelp.ithome.com.tw/upload/images/20211005/20132916VSFPxWbhi8.png
聊天室的類型在官方文件裡有
https://ithelp.ithome.com.tw/upload/images/20211005/201329169BwNetOAGS.png
再來是把設定的訊息發送出去看看,如果能發送出去就表示沒問題

這整段程式可以直接從底下複製上來改一下,紅框裡原本是 $new_member,但是設定時沒有新成員,所以就用設定的人的資訊,藍框是先假裝有設定成功把訊息傳給伺服器,然後用 $response 來檢查有沒有成功
https://ithelp.ithome.com.tw/upload/images/20211005/20132916M0OPR1tpGq.png


儲存 設定

如果有成功的話就把設定的訊息存下來,不同的群組用不同的資料夾來存放,因為資料夾不存在的話會噴錯,所以要自己加 if 檢查並且建立

失敗的話就再傳一個訊息說設定失敗,這樣不管有沒有成功都能通知到使用者
https://ithelp.ithome.com.tw/upload/images/20211005/20132916t6EgST8Boh.png


在 new_chat_members 讀取設定

來修改一下 new_chat_members 裡的程式,如果設定檔存在的話就讀出來當作歡迎訊息,不然就用原本寫死在程式裡的預設值
https://ithelp.ithome.com.tw/upload/images/20211005/20132916Ws81bDfLk1.png
完成後就能在群組裡設定歡迎訊息啦
https://ithelp.ithome.com.tw/upload/images/20211005/20132916tjSebjBdDD.png


結尾

有認真看程式碼的應該有發現,username 的小括號跑到歡迎訊息裡了,會這樣寫是因為使用者可能會不想要那個小括號只要單純的 username,但是這樣沒有 username 的時候就會留下小括號,後來我還是改成昨天的寫法了

這個其實是有辦法解決的,就把 username 的裝飾也弄一個設定,這樣就能解決了,這就讓你自己試試啦


上一篇
【PHP Telegram Bot】Day25 - 入群歡迎機器人(1):發送歡迎訊息
下一篇
【PHP Telegram Bot】Day27 - 防雷機器人(1):讓發出去的訊息隱藏吧
系列文
用 PHP 打造專屬於自己的 Telegram 聊天機器人吧!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言