咨询Discord搜索公开服务器/频道、获取频道消息等API支持
Discord官方API对需求的支持情况
1. 搜索公开服务器/频道(对应「Explore Public Server」功能)
Discord没有公开提供官方API支持通过关键词搜索公开服务器或频道的功能。这个探索功能是Discord客户端专属的,官方并未开放对应的接口供第三方调用。
2. 获取公开服务器的频道列表
- 已知Server ID的情况:可调用
GET /guilds/{guild.id}/channels接口,但需满足两个前提:- 你的Bot应用已被邀请加入该服务器(或你的个人账号在服务器内)
- 目标服务器的频道设置为公开可见
- 仅通过服务器名称无法直接获取频道列表,官方API不支持按名称查询服务器后拉取频道数据。
3. 获取频道内的消息、用户名及发布时间
可使用GET /channels/{channel.id}/messages接口实现,要求如下:
- 目标频道为公开可见状态(或你的Bot/账号拥有该频道的访问权限)
- 接口默认返回最近50条消息,可通过
limit参数调整最多至100条;若需更早的消息,可通过before参数(传入指定消息ID)进行分页查询 - 返回的消息数据中,
author字段包含用户名信息,timestamp字段为消息的发布时间
Java(JAX-RS + Jersey)实现注意事项
- 调用Discord API必须携带有效认证令牌:
- 推荐使用Bot令牌(需先创建Discord Bot并完成服务器邀请流程),用户令牌仅适用于个人测试,用于第三方应用会违反Discord服务条款
- 请求时需在Header中添加
Authorization: Bot {你的Bot令牌}
- 需遵守Discord的API速率限制,不同接口有不同的请求频次上限,超出限制会被临时禁止请求
内容的提问来源于stack exchange,提问作者Dicky
相关产品推荐
相关产品推荐

