Knoten - v9.2.0
VK-IO - 4.0.0-alpha.8
Der Scheck selbst:
if (!message.hasText() && message.isOutbox() && message.text[0] !== '/' && message.getChatId() != 4) return next();
let command = message.text.split(" ")[0].slice(1).toLowerCase()
(Der Fehler zeigt auf die letzte Zeile)
Handle polling update error: TypeError: Cannot read property 'split' of null
at vk.updates.on (/home/bots/vk/vk.js:198:29)
at Array.use (/home/bots/vk/node_modules/vk-io/lib/updates/index.js:136:15)
at next (/home/bots/vk/node_modules/middleware-io/lib/middleware.js:80:22)
at stack.(anonymous function) (/home/bots/vk/node_modules/middleware-io/lib/middleware.js:80:34)
at Array.use (/home/bots/vk/node_modules/vk-io/lib/updates/index.js:140:13)
at next (/home/bots/vk/node_modules/middleware-io/lib/middleware.js:80:22)
at Middleware.run (/home/bots/vk/node_modules/middleware-io/lib/middleware.js:87:10)
at Updates.dispatchMiddleware (/home/bots/vk/node_modules/vk-io/lib/updates/index.js:678:28)
at Updates.handlePollingUpdate (/home/bots/vk/node_modules/vk-io/lib/updates/index.js:213:23)
at Promise.all.response.updates.map (/home/bots/vk/node_modules/vk-io/lib/updates/index.js:660:22)
if (message.isOutbox() || message.getChatId() !== 4 || !message.hasText() || message.getText()[0] !== '/') {
await next();
}
Nehmen Sie isOutbox aus gutem Grund separat heraus, um zu überprüfen, ob ausgehende Nachrichten nicht benötigt werden.
if (message.isOutbox()) {
return;
}
Jetzt gibt es 2 Fehler.
Handle polling update error: Error: next() called multiple times
at next (/home/bots/vk/node_modules/middleware-io/lib/middleware.js:69:11)
at stack.(anonymous function) (/home/bots/vk/node_modules/middleware-io/lib/middleware.js:80:34)
at vk.updates.on (/home/bots/vk/vk.js:376:15)
at <anonymous>
at process._tickDomainCallback (internal/process/next_tick.js:228:7)
Handle polling update error: TypeError: Cannot read property 'split' of null
at vk.updates.on (/home/bots/vk/vk.js:200:33)
at <anonymous>
at process._tickDomainCallback (internal/process/next_tick.js:228:7)
Wie sieht der Code allgemein aus?
Redest du von Linie 376?
Davor gibt es eine Reihe von Prüfungen auf Übereinstimmung verschiedener Texte und in Zeile 376 gibt es else await next();
JENE. Wenn keine Übereinstimmung gefunden wird, warten Sie als nächstes ()
next()
mehrmals aufgerufen wird.Ok, ich denke, ich werde es mit dem ersten herausfinden, aber was soll ich mit dem zweiten Fehler machen?
Warum erhalte ich null in message.getText()?
Weil der Text fehlt.
Sollte die Funktion context.hasText() dies nicht überprüfen?
Methode hasText()
gibt true
wenn Text vorhanden ist, andernfalls false
. Wie gesagt, das Problem liegt in einer Reihe von Überprüfungen.
Nun, ich habe Ihre Kontrollreihenfolge durchgeführt, und es gab ein Problem damit.
if (message.isOutbox() || message.getChatId() !== 4 || !message.hasText() || message.getText()[0] !== '/') {
await next();
}
Ich kann mit diesem Code nicht das ganze Bild sehen. Es liegt ein Fehler vor, weil die Bedingungen falsch platziert wurden oder ein vollständiges Missverständnis der Funktionsweise der Promise-Middleware vorliegt.
Ich habe die Struktur des Codes aus meiner Sicht in eine korrektere geändert, mal sehen, ob der Fehler nur auf die Strukturkurve zurückzuführen ist.
Mir ist auch aufgefallen, dass die Proxy-Informationen irgendwo verschwunden sind.
Haben Sie ihre Unterstützung entfernt?
Der Support bleibt bestehen, nur müssen Sie jetzt https-Agenten für das Proxying verwenden.
Wo finde ich Informationen zur Verwendung?
Und weiter...
Anscheinend verfügen Ihre Docks nicht über eine Liste aller Ereignisse, die Sie anhören können.
Es wäre schön, wenn Sie das hinzufügen)
Nun, im Allgemeinen reicht es, https proxy agent
zu googeln, ich denke, ich werde es später tun.
Es bleibt fast keine Zeit, eine Dokumentation zu erstellen, aber ich denke, es wird irgendwie klappen.
Es musste wieder ein Proxy verwendet werden ...
Können Sie ein Beispiel für ihre Verwendung mit Ihrer Bibliothek zeigen?
Welche Optionen?
vk.setOptions({Agent});
Vielen Dank
Hilfreichster Kommentar
vk.setOptions({Agent});