Discord.js网页无法登录



我已经有了一个个人的discord.js bot,它能够在本地和我的树莓派上正常工作和运行。然而,我试图找出一种在网页上工作的方法,允许管理员访问运行功能,而无需通过不和谐客户端输入命令。我从一个最基本的网页开始,只有一个按钮和一个脚本,可以登录并向频道发送消息。然而,当试图发送消息时,我只是得到错误"TypeError: client.channels.get不是一个函数"。我已经确定,我只是得到这个错误,因为机器人实际上没有登录,但似乎无法弄清楚为什么它没有登录。

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="discord.12.5.1.min.js"></script>
<script type="text/javascript">


function test() {
try {
const client = new Discord.Client();
client.login('token');  // api token
let channel = client.channels.get(channelid); //undeclared channel id
channel.send("This is a test");
document.getElementById("test").innerHTML = "Message sent";
} catch (error) {
document.getElementById("test").innerHTML = error;
}
}

</script>
</head>
<body>
<p id="test">Lorem Ipsum</p>
<button type="button" onclick="test()">Test</button>
</body>
</html>
编辑:我还将客户端声明和登录移到了test()函数之外,没有不同的结果。

Edit2:意识到我在这个脚本中加载了12.5.1,而不是我在其他地方使用的11.6.3。我尝试使用更新的:client.cache.channels.get(channelid);类型错误:无法读取未定义的属性"channels">

以及fetch>then>catch,不幸的是,我无法在浏览器中看到错误,但它没有发送消息。

所以我继续前进,只是从v12更改并从尝试其他修复恢复更改后下降到11.6.4,我能够解决它。虽然不理想,但能满足我的需要。

最新更新