Discord.js client.token返回“ null”并且不起作用

时间:2019-09-19 11:31:19

标签: javascript discord.js

我在discord.js中遇到问题:即使在文档中提供了“ client.token”,它也不起作用。好吧,我可以像以前一样复制并粘贴实际的令牌,但是可以说我想使我的代码开源。我的机器人托管在Heroku上,我听说有一种隐藏令牌的方法,我什至尝试这样做,但是当您在本地运行机器人时,似乎不起作用-仅当机器人托管时。有时我只需要在本地运行我的机器人,但是总是从Heroku隐藏令牌更改为实际的“字符串”令牌是不方便的。有一种通用的隐藏令牌的方法吗?

我尝试编写“ client.user.token”(很傻,但是我必须尝试)和“ var”而不是“ const”(请参见下面的代码)。还尝试console.log它-输出为“空”。

const token = client.token;

console.log(token); // "null"!

// ...some other code stuff

client.login(token);

该机器人应该读取令牌并登录,但出现此错误:(node:2080) UnhandledPromiseRejectionWarning: Error: An invalid token was provided.

3 个答案:

答案 0 :(得分:0)

您可以使用 .env 文件,该文件会使令牌对任何人都隐藏。

步骤:

  1. 打开您的bot文件夹。

  2. 在代码编辑器中创建一个名为“ .env”的新文件

  3. 写入:令牌:“在此处插入令牌”

  4. 打开您的主文件,然后输入client.login函数:“ process.env.token” 就是这样。

If you didn't understand something click me.

抱歉,对于这个错误的解释,我有点累了,是的,只需将其部署到Heroku,它将在本地和Heroku中都可以使用。

如果我帮助过您,请将其标记为 answer ,谢谢<3

答案 1 :(得分:0)

我认为您设置的.env文件错误。应该是

KEY=variable

例如:

#.env
TOKEN=m1i1m312im

#app.js
token = process.env.TOKEN
client.login(token)

答案 2 :(得分:0)

返回<form class="col-md-6" (ngSubmit)="onSubmit(f)" #f="ngForm"> <div class="form-group"> <div class="input-group mb-2"> <div class="input-group-prepend"> <div class="input-group-text">First Name</div> </div> <input type="text" class="form-control" id="inlineFormInputGroup" name="firstname" ngModel required> <span *ngIf="f.form.controls.firstname?.touched && !f.form.controls.firstname?.valid" style="color: red;">A is required.</span> </div> </div> <div class="form-group"> <div class="input-group mb-2"> <div class="input-group-prepend"> <div class="input-group-text">Last Name</div> </div> <input type="text" class="form-control" id="inlineFormInputGroup" name="lastname" ngModel required> <span *ngIf="f.form.controls.lastname?.touched && !f.form.controls.lastname?.valid" style="color: red;">A is required.</span> </div> </div> <div class="form-group"> <div class="input-group mb-2"> <div class="input-group-prepend"> <div class="input-group-text">Email</div> </div> <input type="text" class="form-control" id="inlineFormInputGroup" name="email" ngModel required> <span *ngIf="f.form.controls.email?.touched && !f.form.controls.email?.valid" style="color: red;">An email is required.</span> </div> </div> <button type="submit" class="btn btn-primary" [disabled]="!f.form.valid">Search</button> </form> 的原因是因为您首先没有提供令牌,<img className="map" src="map.jpg"></img> <img className="mission" src="mission.jpg" style={{react.js part setting top and left}}></img> .board { position: relative; height: auto; width: 100%; float: left; } .mission { position: absolute; height: 10%; width: auto; } 返回机器人已主动登录的令牌,您需要提供。当您运行null并在Discord开发人员门户上找到令牌时设置client.token