Python 与 Discord API 入门指南
作者:API传播员 · 2025-10-21 · 阅读时间:4分钟
是否想过在 Discord 上实现任务自动化,或者通过 Python 与 Discord API 进行交互。通过本教程,您将学会如何发送消息、读取消息、更新消息,甚至删除消息。
如何在 Python 中使用 Discord API
要使用 Discord API,首先需要在您的 Discord 帐户上创建一个服务器。接着,按照以下步骤启用开发者模式:
- 打开 Discord 应用,点击左下角的设置按钮。
- 进入 高级 设置,启用 开发者模式。
获取令牌和通道 ID
在使用 Discord API 之前,您需要获取以下两个关键信息:
- 令牌:用于验证 API 请求。
- 通道 ID:指定目标消息所在的通道。
获取通道 ID
右键单击任何通道(例如 #general),然后选择 复制通道 ID。
获取令牌
- 在浏览器中打开 Discord,按下
Ctrl+Shift+I打开开发者工具。 - 选择 应用程序 -> 本地存储 -> 点击
https://discord.com/。 - 在过滤器中搜索 “token”,然后复制令牌。
使用 Python 发送消息
以下是通过 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)
运行代码后,您将看到如下输出:
使用 Python 读取消息
通过 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']}")
运行上述代码后,您将看到通道中的所有消息内容。
使用 Python 更新消息
要更新消息,您需要获取消息的 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)
运行代码后,您将看到如下输出:
使用 Python 删除消息
最后,您可以通过 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/
热门推荐
一个账号试用1000+ API
助力AI无缝链接物理世界 · 无需多次注册
3000+提示词助力AI大模型
和专业工程师共享工作效率翻倍的秘密
最新文章
- Envoy Gateway 的 Gateway API 扩展功能介绍 – Tetrate
- 使用Django REST Framework构建API——第二部分
- 鸿蒙应用实践:利用扣子API开发起床文案生成器
- 如何获取OpenRouter API Key 密钥(分步指南)
- OpenAI Responses API 使用指南:构建智能响应的强大引擎
- 解码API Key 密钥:基本用途和安全最佳实践
- .NET Core微服务之路:基于Ocelot的API网关实现–http/https协议篇
- 利用Python调用百度千帆大模型接口实战指南
- WebSocket与REST:深入解析两者之间的区别
- 探索 DeepSeek API – 聊天补全及更多功能 – SerpApi
- 如何高效使用Nextjs API路由 – NextBuild
- Go-Zero定义API实战:探索API语法规范与最佳实践