• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wysyłanie wiadomości przez bota discord w funkcji ze zdarzeniem onready

Aruba Cloud - Virtual Private Server VPS
0 głosów
213 wizyt
pytanie zadane 20 marca 2024 w Inne języki przez Piotrek2713 Mądrala (5,500 p.)

Mam funkcję withdraw, która wywołuje się w następujący sposób

client.on('ready',async function (message) {
        console.log(`Bot ${client.user.username} dołączył na serwer`);
        setInterval(() => {
            const now = new Date();
            const day = now.getDay();
            const hours = now.getHours();
            const minutes = now.getMinutes();
            const seconds = now.getSeconds();
        
            const withdrawTime = "0235959";
            const time = day.toString() + hours + minutes + seconds;
            console.log(withdrawTime, time);
            if (withdrawTime)
            {
                withdraw(message);
            }
        }, 10000);
        });

Ostatnia linijka funckji

await message.channel.send(`Gracz ${username} otrzymał wynagrodzenie w wysokości ${workerWeeklyEarnings}`);

Wywala błąd

Cannot read properties of undefined (reading 'send')

Czemu send jest undefined? Jak to naprawić?

komentarz 20 marca 2024 przez VBService Ekspert (256,500 p.)
edycja 20 marca 2024 przez VBService

Ostatnia linijka funckji

rozumiem, że chodzi o

client.on('ready',async function (message) {
        console.log(`Bot ${client.user.username} dołączył na serwer`);
        setInterval(() => {
            const now = new Date();
            const day = now.getDay();
            const hours = now.getHours();
            const minutes = now.getMinutes();
            const seconds = now.getSeconds();
         
            const withdrawTime = "0235959";
            const time = day.toString() + hours + minutes + seconds;
            console.log(withdrawTime, time);
            if (withdrawTime)
            {
                withdraw(message);
            }
        }, 10000);

        await message.channel.send(`Gracz ${username} otrzymał wynagrodzenie w wysokości ${workerWeeklyEarnings}`);
});

czy

async function withdraw(...) {
    await message.channel.send(`Gracz ${username} otrzymał wynagrodzenie w wysokości ${workerWeeklyEarnings}`);
}

 

komentarz 20 marca 2024 przez Piotrek2713 Mądrala (5,500 p.)
Wybacz, nie zwróciłem uwagi na tą większą funkcję. Ta linijka jest na końcu funkcji withdraw(message)
komentarz 21 marca 2024 przez VBService Ekspert (256,500 p.)
edycja 21 marca 2024 przez VBService

sprawdź czy obiekt message jest prawidłowo przekazywany w

client.on('ready',async function (message) {
    ...
});

treść błędu sugeruje, że

Cannot read properties of undefined (reading 'send')

nie istnieje message.channel lub message w 

async function withdraw(message) {
    await message.channel.send(`Gracz ${username} otrzymał wynagrodzenie w wysokości ${workerWeeklyEarnings}`);
}

stąd message przyjmuje wartość undefined.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+1 głos
1 odpowiedź 153 wizyt
0 głosów
0 odpowiedzi 850 wizyt
0 głosów
1 odpowiedź 171 wizyt

93,271 zapytań

142,266 odpowiedzi

322,256 komentarzy

62,588 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...