Hallo zusammen,
ich habe da eine Frage bezüglich meiner NodeJs Scripte. Auf meinem Computer W10 funktionieren diese mit der PowerShell, allerdings wenn ich die auf meinen Server hochlade und "node app.js" mache, wird der jeweilige Bot gestartet aber wenn ein Befehl im Bot verarbeitet werden soll, zeigt er viele Fehler und führt den Befehl nicht aus. (wie gesagt in der PowerShell geht es aber)
und dann ist ein weiteres Problem der Screen command... Wenn ich eine "start.sh" anfertige mit folgendem Inhalt:
1 | screen -A -m -d -S Bot2 node app.js |
oder halt
1 | screen -mdS Bot2 node app.js |
theoretisch ja egal meiner Meinung nach, öffnet sich kein weiterer Screen. Es läuft aber mit dem selben Befehl in der "start.sh" schon Bot1. Manuell kann ich den Screen mit dem Bot2 starten. Die start.sh sowie die app.js haben 777 rechte schon bekommen, auch wenn bei Bot1 nur die start.sh das bekommen musste. Bin halt maximal verwirrt warum das nicht mehr automatisch geht.
Und vorallem bin ich Maximal verwirrt warum auf meinem Computer in der PowerShell meine Bots laufen ohne Probleme aber halt nicht auf meinem Server. (Wohlgemerkt Bot1 (Twitch Bot) der funktioniert | Bot2 (Discord Bot) der nicht)
Hoffe jemand kann mir bei dem komplizierten Problem Helfen.
Hier noch mal kurz der Fehler, der bei Bot2 kommt (Discord Bot):
[17.12.2020 | 22:46:51] Erfolgreich eingeloggt als Bot2#7784 (node:10577) UnhandledPromiseRejectionWarning: TypeError: fields.flat is not a function at Function.normalizeFields (/home/projekte/Bot2/node_modules/discord.js/src/structures/MessageEmbed.js:450:8) at MessageEmbed.setup (/home/projekte/Bot2/node_modules/discord.js/src/structures/MessageEmbed.js:78:91) at new MessageEmbed (/home/projekte/Bot2/node_modules/discord.js/src/structures/MessageEmbed.js:18:10) at embedLikes.map.e (/home/projekte/Bot2/node_modules/discord.js/src/structures/APIMessage.js:166:40) at Array.map (<anonymous>) at APIMessage.resolveData (/home/projekte/Bot2/node_modules/discord.js/src/structures/APIMessage.js:166:31) at TextChannel.send (/home/projekte/Bot2/node_modules/discord.js/src/structures/interfaces/TextBasedChannel.js:166:62) at Message.reply (/home/projekte/Bot2/node_modules/discord.js/src/structures/Message.js:602:25) at sendData1 (/home/projekte/Bot2/app.js:99:9) at exports.XMLHttpRequest.http.onload (/home/projekte/Bot2/app.js:165:9) (node:10577) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2) (node:10577) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Info: Rein theoretisch ist der Bot aber nix anderes als Bot1 (Twitch Bot). Ich verstehe also nicht warum da so ein Fehler kommt. :/ Das einzige was sich da ändert ist von "tmi.js" zu "discord.js" und halt das Login von "oauth:xyz" zu "token" etc. Code ist aber so ziemlich der selbe.