ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   vk api node js (https://forum.antichat.xyz/showthread.php?t=1437952)

Kecer 25.06.2022 04:04

Проблема заключается в том что, если я пишу боту в лс /test, я получаю ответ test и через 5 секунд я получаю ответ test5, и вроде бы скрипт работает но проблема заключается в том что если я его отправляю в беседу, то после прохождения 5 секунд, мне выдаётся следующая ошибка:

JavaScript:





Код:

APIError
:
Code №
100
-
One
of
the parameters specified was missing or invalid
:
message_id and conversation_message_id is
undefined



Вот код с отправкой в чат

JavaScript:





Код:

bot
.
hear
(
/^(?:\/test)$/i
,
async
msg
=>
{
const
message
=
await
msg
.
send
(
{
message
:
'test'
,
chat_id
:
6
}
)
;
setTimeout
(
(
)
=>
message
.
editMessage
(
{
message
:
"test5"
}
)
,
5000
)
;
}
)


Kecer 25.06.2022 17:54

Цитата:

Сообщение от #R3dD1

поменяй chat_id на group_id

Нет, либо ты не понял либо это вообще не то что мне нужно, потому-что в таком случае это тоже самое что и вообще не вставлять не chat_id не group_id либо я что-то не так делаю, мне нужно что бы писал лс боту /test и он отправлял test в беседу, и через 5 секунд он редактировал это сообщение в беседе. Но когда я пишу /test, сообщение отправляется в беседу но после прохождения 5 секунд мне выдаёт ошибку

JavaScript:





Код:

APIError
:
Code №
100
-
One
of
the parameters specified was missing or invalid
:
message_id and conversation_message_id is
undefined


livingflore 25.06.2022 18:19

это не сработает, но попробуй

JavaScript:





Код:

bot
.
hear
(
/^(?:\/test)$/i
,
async
msg
=>
{
const
message
=
await
msg
.
send
(
{
message
:
'test'
,
chat_id
:
6
}
)
;
setTimeout
(
(
)
=>
message
.
editMessage
(
{
message
:
'test5'
,
chat_id
:
6
}
)
,
5000
)
;
}
)


Kecer 25.06.2022 18:24

Цитата:

Сообщение от livingflore

это не сработает, но попробуй

JavaScript:





Код:

bot
.
hear
(
/^(?:\/test)$/i
,
async
msg
=>
{
const
message
=
await
msg
.
send
(
{
message
:
'test'
,
chat_id
:
6
}
)
;
setTimeout
(
(
)
=>
message
.
editMessage
(
{
message
:
'test5'
,
chat_id
:
6
}
)
,
5000
)
;
}
)



Не, всё ровно всё таже проблема

livingflore 25.06.2022 18:25

Цитата:

Сообщение от Kecer

Не, всё ровно всё таже проблема

JavaScript:





Код:

bot
.
hear
(
/^(?:\/test)$/i
,
async
msg
=>
{
const
message
=
await
msg
.
send
(
{
message
:
'test'
,
chat_id
:
6
}
)
;
console
.
log
(
message
)
}
)



скинь мне, что выведет

Kecer 25.06.2022 18:26

Цитата:

Сообщение от livingflore

JavaScript:





Код:

bot
.
hear
(
/^(?:\/test)$/i
,
async
msg
=>
{
const
message
=
await
msg
.
send
(
{
message
:
'test'
,
chat_id
:
6
}
)
;
console
.
log
(
message
)
}
)



скинь мне, что выведет

JavaScript:





Код:

MessageContext
{
id
:
0
,
conversationMessageId
:
0
,
peerId
:
393032625
,
peerType
:
'user'
,
senderId
:
393032625
,
senderType
:
'user'
,
createdAt
:
1656167142
,
updatedAt
:
undefined
,
pinnedAt
:
undefined
,
text
:
undefined
,
forwards
:
MessageForwardsCollection
(
0
)
[
]
,
attachments
:
[
]
,
isOutbox
:
true
,
type
:
'message'
,
subTypes
:
[
'message_new'
]
,
state
:
{
}
}


livingflore 25.06.2022 18:31

JavaScript:





Код:

bot
.
hear
(
/^(?:\/test)$/i
,
async
msg
=>
{
const
message
=
await
msg
.
send
(
{
message
:
'test'
,
chat_id
:
6
}
)
;
setTimeout
(
(
)
=>
message
.
editMessage
(
{
message
:
'test5'
,
conversation_message_id
:
message
.
conversationMessageId
}
)
,
5000
)
;
}
)


Kecer 25.06.2022 18:33

Цитата:

Сообщение от livingflore

JavaScript:





Код:

bot
.
hear
(
/^(?:\/test)$/i
,
async
msg
=>
{
const
message
=
await
msg
.
send
(
{
message
:
'test'
,
chat_id
:
6
}
)
;
setTimeout
(
(
)
=>
message
.
editMessage
(
{
message
:
'test5'
,
conversation_message_id
:
message
.
conversationMessageId
}
)
,
5000
)
;
}
)



JavaScript:





Код:

APIError
:
Code №
100
-
One
of
the parameters specified was missing or invalid
:
message_id and conversation_message_id is
undefined



Всё таже ошибка

livingflore 25.06.2022 18:53

Цитата:

Сообщение от Kecer

JavaScript:





Код:

APIError
:
Code №
100
-
One
of
the parameters specified was missing or invalid
:
message_id and conversation_message_id is
undefined



Всё таже ошибка

JavaScript:





Код:

bot
.
hear
(
/^(?:\/test)$/i
,
async
msg
=>
{
const
message
=
await
msg
.
send
(
{
message
:
'test'
,
chat_id
:
6
}
)
;
setTimeout
(
(
)
=>
message
.
editMessage
(
{
message
:
'test5'
,
conversation_message_id
:
msg
.
conversationMessageId
}
)
,
5000
)
;
}
)


Kecer 25.06.2022 18:57

Цитата:

Сообщение от livingflore

JavaScript:





Код:

bot
.
hear
(
/^(?:\/test)$/i
,
async
msg
=>
{
const
message
=
await
msg
.
send
(
{
message
:
'test'
,
chat_id
:
6
}
)
;
setTimeout
(
(
)
=>
message
.
editMessage
(
{
message
:
'test5'
,
conversation_message_id
:
msg
.
conversationMessageId
}
)
,
5000
)
;
}
)



Так тоже уже попробовал, тоже выдаёт эту же ошибку

livingflore 25.06.2022 18:58

Цитата:

Сообщение от Kecer

Так тоже уже попробовал, тоже выдаёт эту же ошибку

https://forum.antichat.xyz/attachments/28070067/

хз у меня все работает, кидай фулл код

Kecer 25.06.2022 19:03

Цитата:

Сообщение от livingflore

хз у меня все работает, кидай фулл код

Ну ты это делаешь условно говоря в одной оболочке, не знаю как это ещё назвать, а я пишу боту в лс /test и он сообщение отправляет в беседу и уже в беседе он должен его отредачить на новое сообщение, а если я команду напишу в беседе то оно отредачить, или если в лс напишу тоже отредачит

Вот код:

JavaScript:





Код:

const
{
VK
,
getRandomId
,
Keyboard
}
=
require
(
'vk-io'
)
const
vk
=
new
VK
(
{
token
:
"token"
}
)
const
{
HearManager
}
=
require
(
'@vk-io/hear'
)
const
fs
=
require
(
'fs'
)
;
const
bot
=
new
HearManager
(
''
)
vk
.
updates
.
on
(
'message_new'
,
bot
.
middleware
)
bot
.
hear
(
/^(?:\/test)$/i
,
async
msg
=>
{
const
message
=
await
msg
.
send
(
{
message
:
'test'
,
chat_id
:
6
}
)
;
setTimeout
(
(
)
=>
message
.
editMessage
(
{
message
:
'test5'
,
conversation_message_id
:
msg
.
conversationMessageId
}
)
,
5000
)
;
}
)
console
.
log
(
"ok"
)
;
vk
.
updates
.
start
(
)
.
catch
(
console
.
error
)
;


livingflore 25.06.2022 19:03

Цитата:

Сообщение от Kecer

Ну ты это делаешь условно говоря в одной оболочке, не знаю как это ещё назвать, а я пишу боту в лс /test и он сообщение отправляет в беседу и уже в беседе он должен его отредачить на новое сообщение, а если я команду напишу в беседе то оно отредачить, или если в лс напишу тоже отредачит

я пишу в беседу у меня все работает

https://forum.antichat.xyz/attachments/28070071/

Kecer 25.06.2022 19:13

Цитата:

Сообщение от livingflore

я пишу в беседу у меня все работает

Ты не понял, смотри я пишу в лс команду боту, он отправляет сообщение test в беседу с айдишником 6 и в беседе редачит сообщение. А в беседе пишешь команду и он на эту команду даёт ответ в беседе и там же редачит.

livingflore 25.06.2022 19:32

Цитата:

Сообщение от Kecer

Ты не понял, смотри я пишу в лс команду боту, он отправляет сообщение test в беседу с айдишником 6 и в беседе редачит сообщение. А в беседе пишешь команду и он на эту команду даёт ответ в беседе и там же редачит.

JavaScript:





Код:

bot
.
hear
(
/^(?:\/test)$/i
,
async
msg
=>
{
if
(
msg
.
peerType
==
'user'
)
{
const
message
=
await
vk
.
api
.
messages
.
send
(
{
message
:
'Test 1'
,
chat_id
:
6
,
random_id
:
Math
.
floor
(
Math
.
random
(
)
*
892743012
)
}
)
;
setTimeout
(
(
)
=>
vk
.
api
.
messages
.
edit
(
{
message
:
'Test 2'
,
peer_id
:
2000000006
,
message_id
:
message
}
)
,
5000
)
;
}
}
)



так?

Kecer 25.06.2022 19:40

Цитата:

Сообщение от livingflore

JavaScript:





Код:

bot
.
hear
(
/^(?:\/test)$/i
,
async
msg
=>
{
if
(
msg
.
peerType
==
'user'
)
{
const
message
=
await
vk
.
api
.
messages
.
send
(
{
message
:
'Test 1'
,
chat_id
:
6
,
random_id
:
Math
.
floor
(
Math
.
random
(
)
*
892743012
)
}
)
;
setTimeout
(
(
)
=>
vk
.
api
.
messages
.
edit
(
{
message
:
'Test 2'
,
peer_id
:
2000000006
,
message_id
:
message
}
)
,
5000
)
;
}
}
)



так?

Ща попробую

Цитата:

Сообщение от livingflore

JavaScript:





Код:

bot
.
hear
(
/^(?:\/test)$/i
,
async
msg
=>
{
if
(
msg
.
peerType
==
'user'
)
{
const
message
=
await
vk
.
api
.
messages
.
send
(
{
message
:
'Test 1'
,
chat_id
:
6
,
random_id
:
Math
.
floor
(
Math
.
random
(
)
*
892743012
)
}
)
;
setTimeout
(
(
)
=>
vk
.
api
.
messages
.
edit
(
{
message
:
'Test 2'
,
peer_id
:
2000000006
,
message_id
:
message
}
)
,
5000
)
;
}
}
)



так?

APIError: Code №100 - One of the parameters specified was missing or invalid: message_id and conversation_message_id is undefined

Я не понимаю, пкд выбивает одну и ту же ошибку

livingflore 25.06.2022 19:53

Цитата:

Сообщение от Kecer

Ща попробую

APIError: Code №100 - One of the parameters specified was missing or invalid: message_id and conversation_message_id is undefined

Я не понимаю, пкд выбивает одну и ту же ошибку

полную ошибку скинь

Kecer 25.06.2022 19:56

Цитата:

Сообщение от livingflore

полную ошибку скинь

JavaScript:





Код:

(
node
:
4600
)
UnhandledPromiseRejectionWarning
:
APIError
:
Code №
100
-
One
of
the parameters specified was missing or invalid
:
Only conversation_message_id or message_id field should be specified
    at SequentialWorker
.
execute
(
C
:
\Users\
KIR
\Desktop\google sheets base\node_modules\vk
-
io\lib\index
.
js
:
1670
:
39
)
at
processTicksAndRejections
(
internal
/
process
/
task_queues
.
js
:
93
:
5
)
(
Use
`node --trace-warnings ...`
to show where the warning was created
)
(
node
:
4600
)
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
(
)
.
To terminate the node process on unhandled promise rejection
,
use the
CLI
flag
`--unhandled-rejections=strict`
(
see https
:
/
/
nodejs
.
org
/
api
/
cli
.
html#cli_unhandled_rejections_mode
)
.
(
rejection id
:
1
)
(
node
:
4600
)
[
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
.


livingflore 25.06.2022 19:58

Цитата:

Сообщение от Kecer

JavaScript:





Код:

(
node
:
4600
)
UnhandledPromiseRejectionWarning
:
APIError
:
Code №
100
-
One
of
the parameters specified was missing or invalid
:
Only conversation_message_id or message_id field should be specified
    at SequentialWorker
.
execute
(
C
:
\Users\
KIR
\Desktop\google sheets base\node_modules\vk
-
io\lib\index
.
js
:
1670
:
39
)
at
processTicksAndRejections
(
internal
/
process
/
task_queues
.
js
:
93
:
5
)
(
Use
`node --trace-warnings ...`
to show where the warning was created
)
(
node
:
4600
)
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
(
)
.
To terminate the node process on unhandled promise rejection
,
use the
CLI
flag
`--unhandled-rejections=strict`
(
see https
:
/
/
nodejs
.
org
/
api
/
cli
.
html#cli_unhandled_rejections_mode
)
.
(
rejection id
:
1
)
(
node
:
4600
)
[
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
.



замени vk.updates.start() на vk.updates.start().catch(console.error), воспроизведи ошибку еще раз и скинь ее

Kecer 25.06.2022 20:03

Цитата:

Сообщение от livingflore

замени vk.updates.start() на vk.updates.start().catch(console.error), воспроизведи ошибку еще раз и скинь ее

Там и так так стоит

https://forum.antichat.xyz/attachments/28070139/

livingflore 25.06.2022 20:06

Цитата:

Сообщение от Kecer

Там и так так стоит

а какая у тебя версия ноды и вк-ио?

Kecer 25.06.2022 20:09

Цитата:

Сообщение от livingflore

а какая у тебя версия ноды и вк-ио?

node js - v14.15.1

А вк ио хз как чекнуть, я его ставил через npm i vk-io, он там самую новую ставит, скорее всего v4

livingflore 25.06.2022 20:45

Цитата:

Сообщение от Kecer

node js - v14.15.1
А вк ио хз как чекнуть, я его ставил через npm i vk-io, он там самую новую ставит, скорее всего v4

обнови ноду и перепиши все на тс

а, и еще, используй не npm, а pnpm

Kecer 25.06.2022 21:06

Цитата:

Сообщение от livingflore

обнови ноду и перепиши все на тс
а, и еще, используй не npm, а pnpm

Обновил ноду

JavaScript:





Код:

C
:
\Users\
KIR
\Desktop\google sheets base\node_modules\vk
-
io\lib\index
.
js
:
1670
this
.
handleError
(
request
,
new
APIError
(
response
.
error
)
)
;
^
APIError
:
Code №
100
-
One
of
the parameters specified was missing or invalid
:
message_id and conversation_message_id is
undefined
at SequentialWorker
.
execute
(
C
:
\Users\
KIR
\Desktop\google sheets base\node_modules\vk
-
io\lib\index
.
js
:
1670
:
39
)
at
processTicksAndRejections
(
node:internal/process/task_queues:96:5
)
{
code
:
100
,
params
:
[
{
key
:
'method'
,
value
:
'messages.edit'
}
,
{
key
:
'oauth'
,
value
:
'1'
}
,
{
key
:
'v'
,
value
:
'5.131'
}
,
{
key
:
'message'
,
value
:
'Test 2'
}
,
{
key
:
'peer_id'
,
value
:
'2000000006'
}
,
{
key
:
'message_id'
,
value
:
'0'
}
]
,
[
cause
]
:
undefined
}



Теперь вот такая ошибка

livingflore 25.06.2022 21:17

Цитата:

Сообщение от Kecer

JavaScript:





Код:

{
key
:
'message_id'
,
value
:
'0'
}



каким образом 0, если message_id указан? нихера не понял

ты просто скопировал и вставил мой код, ничего не меняя, верно?

Kecer 25.06.2022 21:22

Цитата:

Сообщение от livingflore

каким образом 0, если message_id указан? нихера не понял
ты просто скопировал и вставил мой код, ничего не меняя, верно?

да, вот я тоже на это внимание обратил сам не понимаю почему 0

livingflore 25.06.2022 21:23

Цитата:

Сообщение от Kecer

да, вот я тоже на это внимание обратил сам не понимаю почему 0

ты можешь скинуть мне фулл код без токена и без других команд?

Kecer 25.06.2022 21:28

Цитата:

Сообщение от livingflore

ты можешь скинуть мне фулл код без токена и без других команд?

JavaScript:





Код:

const
{
VK
,
getRandomId
,
Keyboard
}
=
require
(
'vk-io'
)
const
vk
=
new
VK
(
{
token
:
"token"
}
)
const
{
HearManager
}
=
require
(
'@vk-io/hear'
)
const
fs
=
require
(
'fs'
)
;
const
bot
=
new
HearManager
(
''
)
vk
.
updates
.
on
(
'message_new'
,
bot
.
middleware
)
bot
.
hear
(
/^(?:\/test)$/i
,
async
msg
=>
{
if
(
msg
.
peerType
==
'user'
)
{
const
message
=
await
vk
.
api
.
messages
.
send
(
{
message
:
'Test 1'
,
chat_id
:
6
,
random_id
:
Math
.
floor
(
Math
.
random
(
)
*
892743012
)
}
)
;
setTimeout
(
(
)
=>
vk
.
api
.
messages
.
edit
(
{
message
:
'Test 2'
,
peer_id
:
2000000006
,
message_id
:
message
}
)
,
5000
)
;
}
}
)
console
.
log
(
"ok"
)
;
vk
.
updates
.
start
(
)
.
catch
(
console
.
error
)
;



Вот фулл код

livingflore 25.06.2022 21:32

Цитата:

Сообщение от Kecer

JavaScript:





Код:

const
{
VK
,
getRandomId
,
Keyboard
}
=
require
(
'vk-io'
)
const
vk
=
new
VK
(
{
token
:
"token"
}
)
const
{
HearManager
}
=
require
(
'@vk-io/hear'
)
const
fs
=
require
(
'fs'
)
;
const
bot
=
new
HearManager
(
''
)
vk
.
updates
.
on
(
'message_new'
,
bot
.
middleware
)
bot
.
hear
(
/^(?:\/test)$/i
,
async
msg
=>
{
if
(
msg
.
peerType
==
'user'
)
{
const
message
=
await
vk
.
api
.
messages
.
send
(
{
message
:
'Test 1'
,
chat_id
:
6
,
random_id
:
Math
.
floor
(
Math
.
random
(
)
*
892743012
)
}
)
;
setTimeout
(
(
)
=>
vk
.
api
.
messages
.
edit
(
{
message
:
'Test 2'
,
peer_id
:
2000000006
,
message_id
:
message
}
)
,
5000
)
;
}
}
)
console
.
log
(
"ok"
)
;
vk
.
updates
.
start
(
)
.
catch
(
console
.
error
)
;



Вот фулл код

я заменил token на свой токен и ничего не меняя попытался воспроизвести ошибку, у меня ее нет, все работает, хз чем помочь

upd: вру, айди чата поменял

Kecer 25.06.2022 21:34

Цитата:

Сообщение от livingflore

я заменил token на свой токен и ничего не меняя попытался воспроизвести ошибку, у меня ее нет, все работает, хз чем помочь

upd: вру, айди чата поменял

Кинь свою команду, я попробую её скопировать и чисто изменить айди чата, а то я уже запутался в командах

livingflore 25.06.2022 21:35

Цитата:

Сообщение от Kecer

Кинь свою команду, я попробую её скопировать и чисто изменить айди чата, а то я уже запутался в командах

JavaScript:





Код:

bot
.
hear
(
/^(?:\/test)$/i
,
async
msg
=>
{
if
(
msg
.
peerType
==
'user'
)
{
const
message
=
await
vk
.
api
.
messages
.
send
(
{
message
:
'Test 1'
,
chat_id
:
2
,
random_id
:
Math
.
floor
(
Math
.
random
(
)
*
892743012
)
}
)
;
setTimeout
(
(
)
=>
vk
.
api
.
messages
.
edit
(
{
message
:
'test5'
,
peer_id
:
2000000002
,
message_id
:
message
}
)
,
5000
)
;
}
}
)


Kecer 25.06.2022 21:40

Цитата:

Сообщение от livingflore

JavaScript:





Код:

bot
.
hear
(
/^(?:\/test)$/i
,
async
msg
=>
{
if
(
msg
.
peerType
==
'user'
)
{
const
message
=
await
vk
.
api
.
messages
.
send
(
{
message
:
'Test 1'
,
chat_id
:
2
,
random_id
:
Math
.
floor
(
Math
.
random
(
)
*
892743012
)
}
)
;
setTimeout
(
(
)
=>
vk
.
api
.
messages
.
edit
(
{
message
:
'test5'
,
peer_id
:
2000000002
,
message_id
:
message
}
)
,
5000
)
;
}
}
)



Не всё ровно, хз он почему-то message_id не видит, 0 просто ставит ему

Цитата:

Сообщение от livingflore

JavaScript:





Код:

bot
.
hear
(
/^(?:\/test)$/i
,
async
msg
=>
{
if
(
msg
.
peerType
==
'user'
)
{
const
message
=
await
vk
.
api
.
messages
.
send
(
{
message
:
'Test 1'
,
chat_id
:
2
,
random_id
:
Math
.
floor
(
Math
.
random
(
)
*
892743012
)
}
)
;
setTimeout
(
(
)
=>
vk
.
api
.
messages
.
edit
(
{
message
:
'test5'
,
peer_id
:
2000000002
,
message_id
:
message
}
)
,
5000
)
;
}
}
)



Code №100 - One of the parameters specified was missing or invalid: message_id not integer

Теперь такая ошибка, как я понимаю он не может в переменной message найти айдишник сообщения


Время: 12:42