Próbuję zacząć od mojego pierwszego bota niezgody, po prostu używam podstawowego bota „Ping” „Pong”. Niestety okazało się, że mój bot nie może czytać wiadomości, chociaż mają pełne uprawnienia administratora na samym serwerze, co oznacza, że nie może nawet przeglądać poleceń.

Kilka dodatkowych notatek:

  • Bot inicjalizuje się i pojawia się online na Discordzie
  • Bot NIE pokazuje swojego niestandardowego statusu
  • Bot NIE MOŻE czytać wiadomości ze swoim prefiksem (ustawionym jako; w config.json)

Oto kod, którego obecnie używam:

// Create Discord Session
const Discord = require('discord.js');
const client = new Discord.Client();
const config = require("./config.json");

client.on('ready', () => {
    console.log('Ready!');
    client.user.setActivity('Running a test, hopefully.');
});

//Read Messages
client.on("message", (message) => {
    if (message.author.bot) return;
    if (message.content.indexOf(config.prefix) !== 0) return;
    const args = message.content.slice(config.prefix.length).trim().split(/ +/g);
    const command = args.shift().toLowerCase();

    if (command === "ping") {
        message.channel.send('Pong.');
        }

});

client.login(config.token);
-1
Archannad 19 grudzień 2019, 17:01
Dla mnie wygląda dobrze. Poza tym, że masz 3 wsteczne tiki na końcu kodu. Może nie umieściłeś odpowiedniego prefiksu w swoim pliku json?
 – 
Antony
19 grudzień 2019, 19:54
Błędy są spowodowane tym, że instrukcje dotyczące owijania bloków kodu nie wyjaśniają, że powinny one znajdować się w oddzielnych wierszach, naprawiłem to dla niego.
 – 
Barmar
19 grudzień 2019, 21:17
Pozdrawiam @Barmar mój zły tam, a jeśli chodzi o plik json, zdecydowanie używam poprawnego prefiksu.
 – 
Archannad
19 grudzień 2019, 23:03

1 odpowiedź

Czy BOT jest w ogóle online? I jak powiedział Antony - czy przedrostek w config.json jest taki sam jak ten, którego używasz?

0
BramboraSK 19 grudzień 2019, 21:41
To prawda, brakuje polecenia logowania, takiego jak client.login(token)
 – 
Marc Laliberté
19 grudzień 2019, 21:53
Aby odpowiedzieć na twoje pytania, tak i tak, config.json jest tam z poprawnym prefiksem i tokenem i tak, bot jest online.
 – 
Archannad
19 grudzień 2019, 23:02
Czy możesz pokazać mi plik config.json? Nie zapomnij usunąć tokena przed jego wysłaniem.
 – 
BramboraSK
20 grudzień 2019, 22:00
Spróbuj też zamiast tego użyć client.user.setActivity('Running a test, hopefully.', { type: "PLAYING" }); i powiedz mi, czy teraz działa.
 – 
BramboraSK
20 grudzień 2019, 22:07