可以使用公会 ID 和角色名称设置用户角色

Possible to set a user role with a guild id and a role name

我想从我的 API 向我的 discord 上的用户添加角色,withc 发送一个 JSON 字符串,其中包含他们的 tag/id 和角色。

{"errros":[],"success":"true","data":[{"id":"264393690045218816","ranks":"developer,verified"},{"id":"265510731363909632","ranks":"developer"}]}

此 responseString 在 CheckAccount() 任务中运行。它不是由命令触发的,而是由计时器触发的,因此这不起作用,我试图让它只使用公会和角色 ID 但无法弄清楚它是如何工作的:

var role = Context.Guild.Roles.FirstOrDefault(x => x.Name == "ROLE NAME");
await (user as IGuildUser).AddRoleAsync(role);

任务["id"] = 用户id/tag。 rank 是排名名称。

JObject jObject = JObject.Parse(responseString);
JToken jData = jObject["data"];
foreach (var task in jData)
{
    string ranks = task["ranks"].ToString();
    foreach (string rank in ranks.Split(','))
    {
        Console.WriteLine(task["id"].ToString() + " recieved rank " + rank);
    }
}

最后我想发送一个 tag/id 和一个 API 的角色,然后它每小时检查并添加角色。

我需要手动指定我的公会