• 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

Object Storage Arubacloud
0 głosów
81 wizyt
pytanie zadane 20 marca w Inne języki przez Piotrek2713 Mądrala (5,380 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 przez VBService Ekspert (253,340 p.)
edycja 20 marca 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 przez Piotrek2713 Mądrala (5,380 p.)
Wybacz, nie zwróciłem uwagi na tą większą funkcję. Ta linijka jest na końcu funkcji withdraw(message)
komentarz 21 marca przez VBService Ekspert (253,340 p.)
edycja 21 marca 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ź 86 wizyt
0 głosów
0 odpowiedzi 650 wizyt
0 głosów
1 odpowiedź 863 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...