vk-io
vk-io copied to clipboard
context.reply APIError: Code №10 - Internal server error
Я хочу сделать так, чтобы при команде от учатсника чата, бот присылал сообщение а) Если сама команда соддержит "replyMessage", то на это сообщение (как context.reply только не на команду, а на сообщение приклепленное в команде) б) Если команда не соддержит "replyMessage", то просто присылало ответ. Вот код, который постоянно возвращает ошибку APIError: Code №10 - Internal server error
command.hear(/^(Бот зацени|Бот оцени)$/i, async (context) => {
const peerType = context.peerType;
const senderType = context.senderType;
if(peerType == "chat" && senderType == "user"){
const phrases = ["...", "...", "...", "...", "...", "...", "...", "..."];
const randomPhrase = phrases[Math.floor(Math.random() * phrases.length)];
if(context.hasReplyMessage){
context.loadMessagePayload();
const replyMessage = context.replyMessage;
const messageId = replyMessage.conversationMessageId;
const peerId = replyMessage.peerId;
await context.send({
message: randomPhrase,
peer_id: peerId,
reply_to: messageId,
random_id: 0,
});
} else {
context.send(randomPhrase);
}
}
});
Это внутренняя ошибка ВКонтакте, рекомендую написать в техподдержку. А так же не рекомендую переопределять peer_id
в context.send()
, так как по умолчанию он уже будет отвечать в текущем диалоге, как и указание random_id
не требуется.
context.loadMessagePayload();
асинхронный, к слову