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

Discord guild.roles.create接口速率限制问题求助

问题:批量创建Discord角色无响应,疑似触发速率限制

项目需读取课程数据JSON并为每门课程创建Discord角色,最初运行正常,但多次错误删除重建后角色无法创建。

更新后的角色命令逻辑

仅获取一次角色缓存以避免重复请求:

const guild = interaction.guild;

await guild.roles.fetch();
const rolesAdded = Array.from(guild.roles.cache.values()).map((r) => { return r.name; });

for(const d of getDisciplines()){
    const roles = getDiscplineRoles(d);
    for(const r of roles){
        if(rolesAdded.includes(r[0])) continue;
        let colour;
        if(r[1] == "M"){
            colour = "Purple";
        } else if (r[1] == "S"){
            colour = "Blue";
        }

        addRole(guild, r[0], colour);
        rolesAdded.push(r[0]);

    }

    let courses = getCourses(d);
    courses = courses.map((c) => {
        return c[0];
    });

    for(const course of courses){
        if(rolesAdded.includes(course)) continue;
        addRole(interaction.guild, course, "LightGrey");
        rolesAdded.push(course);
    }
}

await interaction.reply("Roles created");

addRole函数

控制台日志正常输出,确认逻辑执行:

addRole: async function(guild, roleName, colour) {
    // Get role and create if it doesn't exist
    const role = await guild.roles.cache.find((r) => r.name === roleName);

    if (role !== undefined){
        return;
    }

    console.log(`${roleName} does not exists`);

    await guild.roles.create({
        name: roleName,
        color: colour,
    });
}

当前程序无任何错误返回,仅处于等待请求完成状态。查询相关资料得知Discord角色创建接口提及250和1000两个限制数值,求助排查是否为guild.roles.create接口的速率限制问题。

内容的提问来源于stack exchange,提问作者T-Man58

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 19:45:39