要使用 Discord API,首先需要在您的 Discord 帳戶上創建一個服務器。接著,按照以下步驟啟用開發者模式:
在使用 Discord API 之前,您需要獲取以下兩個關鍵信息:
右鍵單擊任何通道(例如 #general),然后選擇 復制通道 ID。
Ctrl+Shift+I 打開開發者工具。https://discord.com/。以下是通過 Python 使用 POST 請求發送消息的代碼示例:
import requests
def message_post(token, channel_id, message):
url = f"https://discord.com/api/v9/channels/{channel_id}/messages"
headers = {"Authorization": f"Bot {token}"}
data = {"content": message}
response = requests.post(url, headers=headers, json=data)
if response.status_code == 200:
print("消息發送成功")
else:
print("發送消息失敗")
print(response.text)# 示例
token = "YOUR_DISCORD_TOKEN"
channel_id = "YOUR_CHANNEL_ID"
message = "嘿,你好嗎?"
message_post(token, channel_id, message)
運行代碼后,您將看到如下輸出:
通過 GET 請求可以從指定通道中讀取消息。以下是代碼示例:
import requests
def read_message(channel_id, token):
url = f"https://discord.com/api/v9/channels/{channel_id}/messages"
headers = {"Authorization": f"Bot {token}"}
response = requests.get(url, headers=headers)
if response.status_code == 200:
messages = response.json()
return messages
else:
print("無法獲取消息")
print(response.text)
return None# 示例
token = "YOUR_DISCORD_TOKEN"
channel_id = "YOUR_CHANNEL_ID"
messages = read_message(channel_id, token)
if messages:
for message in messages:
print(f"{message['content']}")
運行上述代碼后,您將看到通道中的所有消息內容。
要更新消息,您需要獲取消息的 ID。右鍵單擊目標消息,選擇 復制消息 ID。以下是使用 PATCH 請求更新消息的代碼示例:
import requests
def update_message(token, channel_id, message_id, new_message):
url = f"https://discord.com/api/v9/channels/{channel_id}/messages/{message_id}"
headers = {"Authorization": f"Bot {token}"}
data = {"content": new_message}
response = requests.patch(url, headers=headers, json=data)
if response.status_code == 200:
print("消息已成功更新")
else:
print("編輯消息失敗")
print(response.text)# 示例
token = "YOUR_DISCORD_TOKEN"
channel_id = "YOUR_CHANNEL_ID"
message_id = "YOUR_MESSAGE_ID"
new_message = "嘿,此消息已使用 PATCH 請求更新。"
update_message(token, channel_id, message_id, new_message)
運行代碼后,您將看到如下輸出:
最后,您可以通過 DELETE 請求刪除指定消息。以下是代碼示例:
import requests
def delete_message(token, channel_id, message_id):
url = f"https://discord.com/api/v9/channels/{channel_id}/messages/{message_id}"
headers = {"Authorization": f"Bot {token}"}
response = requests.delete(url, headers=headers)
if response.status_code == 204:
print("消息已成功刪除")
else:
print("刪除消息失敗")
print(response.text)# 示例
token = "YOUR_DISCORD_TOKEN"
channel_id = "YOUR_CHANNEL_ID"
message_id = "YOUR_MESSAGE_ID"
delete_message(token, channel_id, message_id)
運行代碼后,目標消息將被成功刪除。
通過本教程,您已經學習了如何使用 Python 與 Discord API 進行交互。從設置服務器和啟用開發者模式,到獲取令牌和通道 ID,再到發送、讀取、更新和刪除消息,這些操作為您實現 Discord 任務自動化提供了強大的工具。希望本教程能為您帶來啟發,幫助您更好地管理 Discord 社區或開發相關應用。
如果您對 Python 感興趣,還可以嘗試探索網絡爬蟲技術,或者學習 Python 在機器學習中的應用!
原文鏈接: https://blog.apify.com/python-discord-api/