我的 Discord.js 机器人正在运行(在线并在控制台中显示)但它不会响应命令

My Discord.js bot is running (online and shows in console) but it won#39;t respond to commands(我的 Discord.js 机器人正在运行(在线并在控制台中显示)但它不会响应命令)
本文介绍了我的 Discord.js 机器人正在运行(在线并在控制台中显示)但它不会响应命令的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

所以,有一天我使用 TeamViewer 连接到我的 RPi3 并告诉它重新启动.完成后,我连接到 pi,启动了 bot,它看起来正常启动.

So, one day I was using TeamViewer to connect to my RPi3 and told it to reboot. As soon as it finished, I connected to the pi, started the bot, and it looked like it was starting up properly.

当我在 discord 上发送命令时,机器人没有响应.机器人仍在运行.

When I went to send a command on discord, the bot didn't respond. The bot is still running though.

我尝试更改一些代码,但没有任何改变.

I tried changing some of the code, but nothing changed.

代码如下:

[REMOVED]

可能是什么问题?

推荐答案

你的问题是你的 if 语句没有阻塞.

Your problem is lack of blocking of your if statement.

if (message.channel instanceof Discord.DMChannel)
    message.channel.send("``Beep boop! Sorry, I can't respond to direct messages, but you can join the AKAS Gamer's Discord group here: https://discord.gg/QkjQNAr``");
    return

由于缺少括号,您的 return 将始终执行,因为它不是 if 语句的一部分.应该是:

With the lack of bracketing, your return will always execute as it is not part of the if statement. It should be:

if (message.channel instanceof Discord.DMChannel) {
    message.channel.send("``Beep boop! Sorry, I can't respond to direct messages, but you can join the AKAS Gamer's Discord group here: https://discord.gg/QkjQNAr``");
    return
}

C 风格语言中的常见建议是永远不要省略括号.进入那个练习.虽然从技术上讲,单语句条件是允许的,但正如您在此处看到的那样,它稍后会引起头痛.

Common recommendation in C-style languages is to never omit the brackets. Get into that practice. While it is technically allowable for single statement conditionals, it will cause headaches later as you've seen here.

这篇关于我的 Discord.js 机器人正在运行(在线并在控制台中显示)但它不会响应命令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

在开发JS过程中,会经常遇到两个小数相运算的情况,但是运算结果却与预期不同,调试一下发现计算结果竟然有那么长一串尾巴。如下图所示: 产生原因: JavaScript对小数运算会先转成二进制,运算完毕再转回十进制,过程中会有丢失,不过不是所有的小数间运算会
问题描述: 在javascript中引用js代码,然后导致反斜杠丢失,发现字符串中的所有\信息丢失。比如在js中引用input type=text onkeyup=value=value.replace(/[^\d]/g,) ,结果导致正则表达式中的\丢失。 问题原因: 该字符串含有\,javascript对字符串进行了转
Rails/Javascript: How to inject rails variables into (very) simple javascript(Rails/Javascript:如何将 rails 变量注入(非常)简单的 javascript)
CoffeeScript always returns in anonymous function(CoffeeScript 总是以匿名函数返回)
Ordinals in words javascript(javascript中的序数)
getFullYear returns year before on first day of year(getFullYear 在一年的第一天返回前一年)