Tweetcord是一個Discord機器人,它使用tweety-ns將指定Twitter用戶的即時推文更新傳送到你的Discord伺服器。只需設置想要關注的Twitter用戶和Discord頻道,Tweetcord就會自動將推文轉發到指定頻道,確保你不會錯過重要的更新。🐦
👉 /add notifier
username
channel
| mention
type
參數 | 類型 | 描述 |
---|---|---|
username |
str | 你想要開啟通知的Twitter用戶的用戶名 |
channel |
discord.TextChannel | 機器人發送通知的頻道 |
mention |
discord.Role | 通知時提及的身分組 |
type |
str | 設定是否啟用轉推和引用的通知 (0.4.1版本的新功能) |
👉 /remove notifier
username
channel
參數 | 類型 | 描述 |
---|---|---|
username |
str | 你想要關閉通知的Twitter用戶的用戶名 |
channel |
discord.TextChannel | 設置為發送通知的頻道 |
👉 /list users
- 列出所有當前伺服器開啟通知的Twitter用戶
👉 /sync
(0.4版本的新功能)
- 將新Twitter帳戶的通知與資料庫同步。如果你更改了bot使用的Twitter帳戶,請使用此指令
👉 /customize message
username
channel
| default
(0.4版本的新功能)
參數 | 類型 | 描述 |
---|---|---|
username |
str | 你想要設定自定義通知訊息的Twitter用戶的用戶名 |
channel |
discord.TextChannel | 機器人發送通知的頻道 |
default |
bool | 是否要還原至預設的設定 (預設是false) |
自定義通知訊息為 f-string
格式,目前支援4種特別的變數可供使用,將在下面說明:
{action}
: 發文者的動作, 包括tweeted
,retweeted
和quoted
(暫不支持中文){author}
: 發文者的顯示名稱{mention}
: 發送到discord時提及的身份組{url}
: 推文的連結
在運行機器人之前,你需要安裝必要的模組。
pip install -r requirements.txt
📢本教學適用於0.3.2或更高版本。(建議:0.3.5或更高版本)
BOT_TOKEN=YourDiscordBotToken
TWITTER_TOKEN=YourTwitterAccountAuthToken
DATA_PATH=./data/
你可以從cookies中獲取你的token,或是你可以探索其他獲取它的方法。
所有與時間相關的配置都以秒為單位。
prefix: '' # 機器人命令的前綴。
activity_name: '' # 機器人顯示的活動名稱。
tweets_check_period: 10 # 檢查推文的頻率(不建議將此值設置得太低,以避免速率限制)。
tweets_updater_retry_delay: 300 # 當Tweets Updater遇到異常(例如速率限制)時的重試間隔。
tasks_monitor_check_period: 60 # 檢查每個任務是否正常運行的間隔,如果某個任務停止了,嘗試重新啟動。
tasks_monitor_log_period: 14400 # 將當前運行中的任務列表輸出到執行日誌的間隔。
auto_turn_off_notification: true # (v0.4或更新版本) 如果某個使用者的所有通知都已停用,決定是否取消追蹤該使用者。
auto_unfollow: true # (v0.4或更新版本) 如果某個使用者的所有通知都已停用,決定是否停用該使用者的通知(Twitter端)。
use_fx: false # (v0.4.1或更新版本) 是否使用FixTweet來嵌入內容而不是使用內建的嵌入
default_message: | # (v0.4.1或更新版本) 全域設定預設的訊息格式
{mention}**{author}** just {action} here:
{url}
python bot.py
🔧機器人權限設定 2147666944
- 讀取訊息(Read Messages/View Channels)
- 發送訊息(Send Messages)
- 嵌入連結(Embed Links)
- 附加檔案(Attach Files)
- 提及 @everyone、@here 和所有身分組(Mention Everyone)
- 使用應用程式命令(Use Slash Commands)
Note
如果想將機器人架到伺服器上,這裡推薦一個基本免費的服務:fly.io.
⚙️如果你使用fly.io的話你可能會需要的一些配置檔案
- dockerfile
FROM python:3.10.9
WORKDIR /bot
COPY requirements.txt /bot/
RUN pip install -r requirements.txt
COPY . /bot/
CMD python bot.py
- fly.toml
app = "你的APP名稱"
primary_region = "你的APP地區"
[env]
DATA_PATH = "/data/"
[mounts]
source = "你的APP的VOLUME名稱"
destination = "/data"
現在你可以回到Discord,並使用 /add notifier
指令來設置你想要接收更新的Twitter用戶!
感謝所有貢獻者。