不和谐机器人没有响应



大家好,我是一个新的开发人员,并试图创建第一个简单的机器人来测试我能做什么。在我个人电脑上进行的本地测试中,一切都非常顺利。但是当我试图在我的虚拟服务器上部署bot时,bot不会响应我的任何命令。

我在Ubuntu 16.04上工作,并有一个工作的API服务运行。

const { Client, Intents, MessageEmbed } = require("discord.js");
const client = new Client({ intents: [Intents.FLAGS.GUILDS] });
const token = "Token (rn stored in the document it self)";
const PREFIX = "quiz!";
const { v1: uuidv1, v4: uuidv4 } = require("uuid");
let mysql = require("mysql"),
http = require("http");
const connection = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "quiz",
});
// Build Up Connection
connection.connect(function (err) {
if (err) throw err;
});
function doSQL(sql) {
connection.query(sql, (err, results, fields) => {
if (err) throw err;
else {
}
});
}
function IsThereAnythingSQL(sql) {
connection.query(sql, (err, results, fields) => {
if (err) throw err;
else if (results.length >= 1) {
return true;
}
});
return false;
}
function generateUUID() {
return uuidv4();
}
client.on("message", (message) => {
let args = message.content.substring(PREFIX.length).split(" ");
switch (args[0]) {
case "join":
const pollEmbed = new MessageEmbed().setColor(0xffc300).setTitle("**Herzlichen Glückwunsch!**").setDescription("Dein Discord Nutzer ist nun berechtigt die Quiz Applikation zu nutzen!");
const pollEmbed2 = new MessageEmbed().setColor(0xffc300).setTitle("**Du bist schon Registriert!**").setDescription("Dein Discord Nutzer ist bereits berechtigt die Quiz Applikation zu nutzen!");
if (IsThereAnythingSQL("SELECT * FROM users WHERE USERID = '" + message.author.id + "'") == true) {
message.channel.send(pollEmbed2);
} else {
var USERTOKEN = generateUUID();
var USERSESSION = generateUUID();
doSQL("INSERT INTO users (USERNAME, USERID, USERTOKEN, USERSESSION) VALUES ('" + message.author.username + "', '" + message.author.id + "', '" + USERTOKEN + "', '" + USERSESSION + "')");
message.channel.send(pollEmbed);
}
break;
case "verify":
let status2 = false;
let txt;
let msgArgs2 = args.slice(1).join(" ");
let sql = "SELECT USERSESSION FROM users WHERE USERTOKEN = '" + msgArgs2 + "' AND USERID = '" + message.author.id + "'";
connection.query(sql, (err, results, fields) => {
if (err) throw err;
else {
if (results.length == 1) {
status2 = true;
txt = results[0].USERSESSION;
const pollEmbed4 = new MessageEmbed()
.setColor(0xffc300)
.setTitle("**Herzlichen Glückwunsch!**")
.setDescription("Dein SessionKey lautet: " + txt);
if (status2 == true) {
message.channel.send(pollEmbed4);
}
} else {
const pollEmbed3 = new MessageEmbed().setColor(0xffc300).setTitle("**Fehler!**").setDescription("Bitte gebe einen Korekten SessionToken ein!");
message.channel.send(pollEmbed3);
}
}
});
break;
case "id":
const pollEmbed5 = new MessageEmbed()
.setColor(0xffc300)
.setTitle("**Das hat funktioniert!**")
.setDescription("Deine ID lautet: " + message.author.id);
message.channel.send(pollEmbed5);
}
});
client.on("ready", () => {
console.log("I am ready!");
});
client.login(token);

在Discord.js V13中,他们更新了如何发送嵌入

你必须把你的代码从message.channel.send(embed);改为message.channel.send({embeds: [embed1, embed2]});

阅读更多关于这里

我对你的代码做了必要的修改,现在应该可以工作了!

const { Client, Intents, MessageEmbed } = require("discord.js");
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] });
const token = "Token (rn stored in the document it self)";
const PREFIX = "quiz!";
const { v1: uuidv1, v4: uuidv4 } = require("uuid");
let mysql = require("mysql"),
http = require("http");
const connection = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "quiz",
});
// Build Up Connection
connection.connect(function (err) {
if (err) throw err;
});
function doSQL(sql) {
connection.query(sql, (err, results, fields) => {
if (err) throw err;
else {
}
});
}
function IsThereAnythingSQL(sql) {
connection.query(sql, (err, results, fields) => {
if (err) throw err;
else if (results.length >= 1) {
return true;
}
});
return false;
}
function generateUUID() {
return uuidv4();
}
client.on("message", (message) => {
let args = message.content.substring(PREFIX.length).split(" ");
switch (args[0]) {
case "join":
const pollEmbed = new MessageEmbed().setColor(0xffc300).setTitle("**Herzlichen Glückwunsch!**").setDescription("Dein Discord Nutzer ist nun berechtigt die Quiz Applikation zu nutzen!");
const pollEmbed2 = new MessageEmbed().setColor(0xffc300).setTitle("**Du bist schon Registriert!**").setDescription("Dein Discord Nutzer ist bereits berechtigt die Quiz Applikation zu nutzen!");
if (IsThereAnythingSQL("SELECT * FROM users WHERE USERID = '" + message.author.id + "'") == true) {
message.channel.send({embeds: [pollEmbed2]});
} else {
var USERTOKEN = generateUUID();
var USERSESSION = generateUUID();
doSQL("INSERT INTO users (USERNAME, USERID, USERTOKEN, USERSESSION) VALUES ('" + message.author.username + "', '" + message.author.id + "', '" + USERTOKEN + "', '" + USERSESSION + "')");
message.channel.send({embeds: [pollEmbed]});
}
break;
case "verify":
let status2 = false;
let txt;
let msgArgs2 = args.slice(1).join(" ");
let sql = "SELECT USERSESSION FROM users WHERE USERTOKEN = '" + msgArgs2 + "' AND USERID = '" + message.author.id + "'";
connection.query(sql, (err, results, fields) => {
if (err) throw err;
else {
if (results.length == 1) {
status2 = true;
txt = results[0].USERSESSION;
const pollEmbed4 = new MessageEmbed()
.setColor(0xffc300)
.setTitle("**Herzlichen Glückwunsch!**")
.setDescription("Dein SessionKey lautet: " + txt);
if (status2 == true) {
message.channel.send({embeds: [pollEmbed4]});
}
} else {
const pollEmbed3 = new MessageEmbed().setColor(0xffc300).setTitle("**Fehler!**").setDescription("Bitte gebe einen Korekten SessionToken ein!");
message.channel.send({embeds: [pollEmbed3]});
}
}
});
break;
case "id":
const pollEmbed5 = new MessageEmbed()
.setColor(0xffc300)
.setTitle("**Das hat funktioniert!**")
.setDescription("Deine ID lautet: " + message.author.id);
message.channel.send({embeds: [pollEmbed5]});
}
});
client.on("ready", () => {
console.log("I am ready!");
});
client.login(token);

最新更新