【发布时间】:2021-02-08 02:46:08
【问题描述】:
在我收到 100 个人告诉我自动化用户帐户违反服务条款之前,我知道这一点并且我愿意承担风险,我只是来这里寻求帮助,因为我已经尝试了几个小时。
我检查了如何在Discord's API Reference 上更改我的个人资料图片,但是当我尝试时,我收到了“400:错误请求”响应。这是我的代码:
const fetch = require('node-fetch');
const fs = require('fs');
const tokens = fs.readFileSync('./tokens.txt', 'utf8').split('\n');
console.log('Changing profile pictures...');
let pfp = fs.readFileSync('./pfp.png', 'base64');
tokens.forEach(token => {
fetch('https://discord.com/api/v8/users/@me', { method: 'PATCH', headers: { 'content-type': 'application/json', authorization: token.trim() }, body: { "avatar": `data:image/png;base64,${pfp}` } } )
.then(res => res.json())
.then(json => console.log(json));
});
我已经检查过,发送请求时令牌是正确的,base64 编码的图像也是正确的,但我得到一个“400:错误请求”响应,所以一定有问题,但很遗憾我无法弄清楚那东西是什么。如果有人可以提供帮助,我将不胜感激
【问题讨论】:
-
我认为您必须将其作为二进制缓冲区读取,然后将其转换为 base64,
openFileSync不会这样做。 -
@DanielA.White 我正在使用
readFileSync,它确实支持编码选项,我检查了它是否正确转换并且我将它正确解码回图像 -
除了状态码之外,响应是否包含任何错误信息?
-
@derpirscher 不,这是我得到的回复:
{ message: '400: Bad Request', code: 0 }
标签: javascript node.js api discord node-fetch