【PHP Telegram Bot】Day26 - 入群欢迎机器人(2):设定欢迎讯息

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 的装饰也弄一个设定,这样就能解决了,这就让你自己试试啦


<<:  Day28-"练习-3"

>>:  【Day 22】卷积神经网路(Convolutional Neural Network, CNN)(下)

结语

终於!! 来到最後一天了,先为自己鼓鼓掌。 想不到我也撑好撑满,写完 30 天了 这些文章也将会同步...

商业秘密(Trade Secret) & 版权(Copyright) & 专利(Patent) & 商标(Trademark)

您的公司将源代码视为机密信息;商业秘密保护其机密性。无论版权和专利要求的源代码的公开,但贵公司有意保...

Day 9:使用 Typora 发表你的第一篇 Hexo 文章

今天我们正式要使用 Markdown 撰写你的第一篇部落格文章啦! 用指令建立文章或草稿 .md 档...

Day 29 - 软件物料清单

Hacking for Dummies 这本书主要的概念,总结来说,就是用骇客的思维与手法测试系统中...

卡夫卡的藏书阁【Book29】- Kafka - MirroMaker 2

“I need solitude for my writing; not 'like a herm...