Python 与 Discord API 入门指南

作者:API传播员 · 2025-10-21 · 阅读时间:3分钟

想在 Discord 上实现任务自动化,或将 Discord 与自己的应用程序集成吗?本教程将详细介绍如何使用 Python 与 Discord API 进行交互,包括发送、读取、更新和删除消息。


一. 准备工作

1. 创建 Discord 服务器

在开始之前,需要一个 Discord 服务器:

  1. 打开 Discord 应用。
  2. 点击左下角的设置按钮。
  3. 进入 高级 设置,启用 开发者模式

2. 获取关键参数

使用 Discord API 前,需要获取:

  • Bot Token(令牌):用于验证 API 请求。
  • Channel ID(通道 ID):指定目标消息所在的通道。

获取通道 ID

右键单击目标通道(例如 #general),选择 复制通道 ID

获取 Bot Token

  1. 在浏览器中打开 Discord。
  2. Ctrl+Shift+I 打开开发者工具。
  3. 选择 **应用程序 → 本地存储 → https://discord.com/**。
  4. 搜索 token 并复制。

⚠️ 请妥善保管 Token,避免泄露。


二. 使用 Python 操作消息

我们将通过 requests 库发送 HTTP 请求操作 Discord 消息。

1. 发送消息

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("发送消息失败", response.text)

# 示例
token = "YOUR_DISCORD_TOKEN"
channel_id = "YOUR_CHANNEL_ID"
message = "嘿,你好吗?"
message_post(token, channel_id, message)

2. 读取消息

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:
        return response.json()
    else:
        print("无法获取消息", response.text)
        return None

# 示例
messages = read_message(channel_id, token)
if messages:
    for msg in messages:
        print(msg['content'])

3. 更新消息

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("编辑消息失败", response.text)

# 示例
message_id = "YOUR_MESSAGE_ID"
update_message(token, channel_id, message_id, "嘿,此消息已更新。")

4. 删除消息

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("删除消息失败", response.text)

# 示例
delete_message(token, channel_id, message_id)

三. 总结

通过本教程,你已经学会了如何使用 Python 与 Discord API 进行交互:

  • 设置服务器与开发者模式
  • 获取 Token 和通道 ID
  • 发送、读取、更新、删除消息

这些操作为实现 Discord 自动化和开发自定义应用提供了强大工具。

扩展思路:可尝试结合网络爬虫或机器学习,将 Discord Bot 打造成智能助手或信息采集工具。


原文链接Python Discord API 教程