You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Discord Python机器人中接入动漫角色数据库API实现查询功能

Discord Python 机器人接入动漫角色搜索API教程

前置准备

首先安装所需依赖:

pip install discord.py requests

核心逻辑说明

你提到的API通过GET请求调用,传入character_q参数作为搜索的角色名,返回JSON格式的角色匹配结果。调用时需要自定义User-Agent头,避免被接口拦截返回403错误。

完整实现代码示例

import discord
from discord import app_commands
import requests

# 配置机器人客户端
intents = discord.Intents.default()
client = discord.Client(intents=intents)
tree = app_commands.CommandTree(client)

# 动漫角色搜索函数
def search_anime_character(keyword: str):
    api_url = "https://www.animecharactersdatabase.com/api_series_characters.php"
    headers = {
        "User-Agent": "DiscordBot/1.0 (自定义你的标识即可)"
    }
    params = {
        "character_q": keyword
    }
    try:
        resp = requests.get(api_url, headers=headers, params=params, timeout=10)
        resp.raise_for_status()
        return resp.json()
    except Exception as e:
        print(f"调用API出错: {e}")
        return None

# 注册斜杠指令
@tree.command(name="charsearch", description="搜索动漫角色信息")
async def charsearch(interaction: discord.Interaction, 关键词: str):
    await interaction.response.defer() # 延迟回复避免超时
    result = search_anime_character(关键词)
    if not result or not result.get("characters"):
        await interaction.followup.send("没有找到匹配的动漫角色")
        return
    # 取第一个匹配的角色展示,可根据需要修改为列表展示
    char = result["characters"][0]
    embed = discord.Embed(title=char["name"], description=char["desc"], color=discord.Color.blue())
    embed.set_thumbnail(url=char["image"])
    embed.add_field(name="所属作品", value=char["anime_name"], inline=False)
    await interaction.followup.send(embed=embed)

@client.event
async def on_ready():
    await tree.sync() # 同步指令到Discord
    print(f"机器人已登录: {client.user}")

# 替换为你自己的机器人令牌
client.run("YOUR_BOT_TOKEN")

注意事项

  • 请将代码中的YOUR_BOT_TOKEN替换为你在Discord开发者平台申请的机器人令牌,User-Agent字段也建议修改为你自己的专属标识
  • 可以给指令添加冷却机制,避免短时间内大量调用API被限流,可通过@app_commands.checks.cooldown(1, 5.0, key=lambda i: i.user.id)实现每5秒每个用户只能调用一次的限制
  • 接口返回的角色信息包含更多字段,你可以根据需求调整Embed展示的内容

内容的提问来源于stack exchange,提问作者Ary Arwin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 02:18:01