繁体   English   中英

带有Node.js的Discord.js连接到客户端失败,但没有错误

[英]Discord.js with Node.js connect to client fails but no errors

我在nodeJS中有Discord.JS模块

$ npm install --save discord.js

但是,当我尝试使用它连接用户时,它会失败。

这是我的package.json

{
  "name": "discord-bot",
  "version": "0.0.1",
  "description": "A Discord Bot that comes with a lot of cool commands, music player and a betting game!",
  "main": "app/app.js",
  "scripts": {
    "start": "electron ."
  },
  "keywords": [
    "bot",
    "discord",
    "music",
    "betting-bot"
  ],
  "author": "Richard Olsen Sandberg",
  "license": "MIT",
  "devDependencies": {
    "electron": "^1.4.15"
  },
  "dependencies": {
    "discord.js": "^11.0.0"
  }
}

这是我的app/app.js代码

var ClassNode     = require ( __dirname + '/web/js/classnodes.js' ), /* This is something I have made to detect class names and make more beautiful outputs */
    Discord       = require ( 'discord.js' )                       , /* This is the offical Discord.JS library                                              */
    Client        = new Discord.Client (  )                        , /* This is a new instance of a Client from the Discord module                          */
    Electron      = require ( 'electron' )                         , /* This is to create applications that uses html, css, js, etc inside a chrome window  */
    BrowserWindow = Electron.BrowserWindow                         , /* This is the class that creates the Chrome Window                                    */
    app           = Electron.app                                   , /* This is the core off Electron                                                       */
    ipc           = Electron.ipcMain                               ; /* Send messages through windows                                                       */

/*****************************************/
/* I will not show content of Electron   */
/* stuff except from the login part to   */
/* make the question shorter             */
/*****************************************/



ipc.on ( 'login-attempt', ( event, args ) => {
  console.warning ( ClassNode.className + 'New sign in attempt triggered!' );

  if ( typeof args !== 'object' || args.username == undefined || args.password == undefined ) {
    console.error ( ClassNode.className + 'Invalid sign in attempt!' );
    event.sender.send ( 'login-attempt-error', ClassNode.className + 'Invalid request!' );
    return;
  }

  Client.login ( args.username, args.password, ( error, token ) => {
    if ( error ) {
      console.error ( ClassNode.className + 'Login attempt failed : ' + error );
      event.sender.send ( 'login-attempt-error', ClassNode.className + 'Login attempt failed : ' + error );
    } else {
      console.log ( ClassNode.className + 'Successfully created a connection!' );
      console.log ( ClassNode.className + 'Token : ' + token );
    }
  } );

} );

现在,假设浏览器窗口发送了ipc.send('login-attempt', { username: 'discord@example.com', password: '123abc' })

输出:

电子:: ipcMain | 尝试触发新登录!

这意味着它从未执行过Client.login函数。

为什么不这样做,我该如何解决?

Discord API不再允许使用用户名和密码输入。 您将必须使用OAuth应用程序或存储在localStorage的用户令牌,开发人员工具可以使用Windows上的Ctrl + Shift + I通过Discord客户端访问该令牌(开发人员工具可以通过Discord客户端访问该令牌)( 对于其他平台,请分别使用等效的令牌)。

如图所示这里 ,只是象征性地被接受。

此处说明 API更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM