主題

直接貼不用加fx修改網址就會有預覽的discord機器人v2

亂亂(❁´◡`❁) | 2022-05-04 16:19:02 | 巴幣 100 | 人氣 337

補一下架設需求
discord.py 2.0
discord bot token
twitter API 1.1 token

Github

修改輸出的模式,變得和原本的推特預覽很像
網路上爬文爬了一圈,discord給的api,嵌入內容只能放一張圖片,影片沒辦法
目前的做法事如果是多張圖片的,會把第一張拿來做成原本的預覽格式,剩下幾張直接輸出網址
影片的話則是只用原文的文字內容做嵌入,影片直接輸出網址

然後現在只會跳出一份圖片了
即便原本連結能正常顯示預覽,機器人會自動把預覽的嵌入內容關掉
就是下圖人手動去按紅圈處叉叉這個動作,這邊機器人可以做到這件事,只是需要管理訊息的權限
沒有的話就會報沒有權限的錯誤

前一篇沒講到的
推特的推文連結分兩種
一種是有敏感內容的
一種就沒有

沒有敏感內容的大部分可以正常預覽(不敢說死一定會)
有敏感內容的就有時會有時不會

目前的作法是只處理"是敏感內容"同時又"沒辦法預覽"的
不過,敏感內容的推文且會有預覽的
透過觀察發現這類型的連結第一次貼的時候通常都會需要讀取一下才會跳預覽,第二次之後就不需要了
讀取的時候程式會判定是沒辦法預覽,所以沒做處理的話會有一份連結兩份圖片的狀況

原本打算的解決方法是下面已知問題第1點的方式
後來改成讓機器人去關掉嵌入內容了

目前已知問題
1.如果讀取太久才顯示出預覽內容的話,機器人不會關掉
目前想到的解決方法是當使用者輸入的時候,讓機器人等個1、2秒應該就沒問題了
不過這狀況通常只發生在長度比較長的影片推文而已

2.機器人發的嵌入內容,原推文如果沒有任何文字內容,會把推文網址弄成文字內容
這有點難解釋
API抓到的推文內容,文字部分最後會附上該推文的推文網址
但如果我要做得跟正常預覽一樣的話是不需要這網址的
原本有做這處理,但不知道為什麼只要沒有推文文字內容就不會處理掉
解決方法很簡單,就只是單純的字串處理而已,我懶得修了

3.一條訊息裡面放多個連結的話,只會處理第一個連結
這是當初設計沒想到的狀況,也懶得改,畢竟也是小問題
要解決也是很簡單,同樣也是字串處理而已,有這需要得自己去搞8

創作回應

綠綠噠
如果只有Twitter API v2但沒有v1.1呢
2022-05-27 00:53:58
亂亂(❁´◡`❁)
畢竟這是用tweepy去寫的,所以要去翻一下tweepy的doc有關於v2的api
2022-05-27 02:02:08
亂亂(❁´◡`❁)
https://dev.to/twitterdev/a-comprehensive-guide-for-using-the-twitter-api-v2-using-tweepy-in-python-15d9
2022-05-27 02:05:10
亂亂(❁´◡`❁)
第17點有個用推文id看推文內容的範例
2022-05-27 02:05:35
亂亂(❁´◡`❁)
你可以先試試,我要試的話也是明天的事了
2022-05-27 02:06:16

更多創作