Removechatuser vk не работает

При обработке ошибки в методе messages.removeChatUser , ничего не происходит.
Часть кода (Node.Js):

try < vk.api.messages.removeChatUser(< chat_id : reqbody[«object»][«message»][«peer_id»] — 2000000000, member_id : reqbody[«object»][«message»][«reply_message»][«from_id»] >); > catch(e) < vk.api.messages.send(< random_id : Date.now(), peer_id : reqbody[«object»][«message»][«peer_id»], message : «Ошибка» >); >

Здесь, в основном могут возникнуть две ошибки — Такого участника нет в беседе, или же Отказано в доступе. Если ошибки не возникает, код работает без проблем. Но при ошибке, часть кода внутри «catch (e)» не выполняется.

В документации библиотеки «Vk-Io» я не смог найти, как ловить ошибки API. Пожалуйста, помогите это сделать.

Это ошибка промисов, вам надо сделать vk.api.call(. ).catch(e=><>)

Это ошибка промисов, вам надо сделать vk.api.call(. ).catch(e=><>)

ВК НЕ РАБОТАЕТ В РОССИИ 7 ФЕВРАЛЯ 2023

Спасибо большое, теперь код работает, но как определить, какая именно ошибка произошла?

Например .catch(e=> < if(e.code == 15) message.send(«Access denied»)
Все коды ошибок смотрите в документации вк

Вы всегда должны обрабатывать ошибки, достаточно будет пробрасывать их вверх.

try await vk.api.messages.removeChatUser( chat_id : reqbody.object.message.peer_id — 2000000000, member_id : reqbody.object.message.reply_message.from_id >); > catch(e) // Коды ошибок в сообщение const error_messages = 15: «Отказано в доступе», 935: «Такого участника нет в беседе» >; await vk.api.messages.send( random_id : Date.now(), peer_id : reqbody.object.message.peer_id, // from APIError message : error_messages[e.code] >); >

Источник: geekrepos.com

Не получается обработать ошибку #496

При обработке ошибки в методе messages.removeChatUser , ничего не происходит.
Часть кода (Node.Js):

try < vk.api.messages.removeChatUser(< chat_id : reqbody[«object»][«message»][«peer_id»] — 2000000000, member_id : reqbody[«object»][«message»][«reply_message»][«from_id»] >); > catch(e) < vk.api.messages.send(< random_id : Date.now(), peer_id : reqbody[«object»][«message»][«peer_id»], message : «Ошибка» >); >

Здесь, в основном могут возникнуть две ошибки — Такого участника нет в беседе, или же Отказано в доступе. Если ошибки не возникает, код работает без проблем. Но при ошибке, часть кода внутри «catch (e)» не выполняется.

В документации библиотеки «Vk-Io» я не смог найти, как ловить ошибки API. Пожалуйста, помогите это сделать.

ВК НЕ РАБОТАЕТ 7 ФЕВРАЛЯ 2023. ЧТО ДЕЛАТЬ?

The text was updated successfully, but these errors were encountered:

ilovevkapi commented Jun 17, 2022

Это ошибка промисов, вам надо сделать vk.api.call(. ).catch(e=><>)

Спасибо большое, теперь код работает, но как определить, какая именно ошибка произошла?

Еще по теме:  Как открыть камеру Вконтакте чтобы отсканировать код

Antonzlo commented Jun 17, 2022

Например .catch(e=> < if(e.code == 15) message.send(«Access denied»)
Все коды ошибок смотрите в документации вк

negezor commented Jun 18, 2022 •

Вы всегда должны обрабатывать ошибки, достаточно будет пробрасывать их вверх.

try await vk.api.messages.removeChatUser( chat_id : reqbody.object.message.peer_id — 2000000000, member_id : reqbody.object.message.reply_message.from_id >); > catch(e) // Коды ошибок в сообщение const error_messages = 15: «Отказано в доступе», 935: «Такого участника нет в беседе» >; await vk.api.messages.send( random_id : Date.now(), peer_id : reqbody.object.message.peer_id, // from APIError message : error_messages[e.code] >); >

Источник: github.com

Ошибка при попытке удалить пользователя из беседы. about vk-io HOT 20 CLOSED

Если после перезапуска приложения бот отвечает какое-то время, а потом перестаёт, то, скорее всего, во всем виноват Long Poll, если ты больше нигде не накосячил. Вероятнее всего, ты забыл прикрутить обработку ошибок неудачных запросов, а Long Poll сервер ВК частенько любит отдавать 403, 500-503.

При этом, важно помнить, что node-fetch передаёт все ответы сервера (пусть даже с ошибкой) в then() блок, судя из README:

3xx-5xx responses are NOT network errors, and should be handled in then()

Так что, возможно, ошибка закралась где-нибудь здесь, например.

Я могу сильно ошибаться, т.к. код библиотеки не изучал особо, но у меня самой частой проблемой с «игнором» ботов была именно нестабильная работа Long Poll, так что все ошибки нужно обрабатывать и реконнектиться к серверу при их возникновении.

P. S. И ещё, лучшим вариантом будет постараться «упаковать» эти последовательные запросы в твоём коде users.get → messages.getChatUsers → messages.removeChatUser → message.send → users.get? в один execute -запрос. Так будет эффективнее с точки зрения экономии запросов, ибо есть известное ограничение в 3 запроса в секунду.

negezor commented on May 14, 2023 1

Может стоит сделать так?

negezor commented on May 14, 2023 1

Сразу скажу что не стоит напрямую обращаться к контекстным свойствам. Потому что для разных типов получения данных они могут отличаться, а так же не нужно каждый раз заново авторизоваться не стоит если не хочется получить бан IP от ВК ну или просто капчу.
Так же можно следовать простому боту

По коду скажу что он рабочий, проблема видимо просто в прямом обращении к from.id . Если нужно проверить ID чата то можно воспользоваться context.getChatId() !== 4 context.getUserId() !== ***

Еще по теме:  Как отметить в ВК человека в записи

negezor commented on May 14, 2023 1

Стоит после авторизации сохранить токен и использовать его из конфига.

negezor commented on May 14, 2023

Можно код и список установленных опций?

T1MOXA commented on May 14, 2023

Возможно проблема в не верной проверке if (chat.indexOf(user.id) > -1)
Так как chat возвращает массив объектов.

T1MOXA commented on May 14, 2023

Я использую vk.api.users.get().then(([user2]) второй раз так как разные падежи в сообщениях.

T1MOXA commented on May 14, 2023

Опять непонятные ошибки, уже на ровном месте.

Caught unhandledRejection: < FetchError: network timeout at: https://api.vk.com/method/friends.getRequests?access_token=ТОКЕНv=5.69′, type: ‘request-timeout’, stackframes: [ < file_name: ‘/home/bots/vk/node_modules/node-fetch/lib/index.js’, line_number: 1272 >, < file_name: ‘timers.js’, line_number: 478 >, < file_name: ‘timers.js’, line_number: 302 >, < file_name: ‘timers.js’, line_number: 262 >] > Caught unhandledRejection: < FetchError: network timeout at: https://api.vk.com/method/friends.getRequests?access_token=ТОКЕНv=5.69′, type: ‘request-timeout’ >

При этом бот сидит онлайн но не реагирует на сообщения вообще.
Если что friends.getRequests стоит на таймере, каждые 30 секунд проверяется.

T1MOXA commented on May 14, 2023

После того как перезагрузил его, проблема пропала.

T1MOXA commented on May 14, 2023

Версия VK-IO — 4.0.0-alpha.5

T1MOXA commented on May 14, 2023

Опять отвалился бот, сидит в сети, но на сообщения не реагирует.
Я так понимаю отваливается Long Poll

negezor commented on May 14, 2023

DEBUG=vk-io:updates , сначала собрать информацию надо бы.

T1MOXA commented on May 14, 2023

Проблема появилась после обновления библиотеки с 3 на 4 версию.
До этого проблем не было.

T1MOXA commented on May 14, 2023

2017-12-08T08:27:13.947Z vk-io:updates http —> 2017-12-08T08:27:13.947Z vk-io:updates http 2017-12-08T08:27:13.948Z vk-io:updates http 2017-12-08T08:27:13.948Z vk-io:updates http 2017-12-08T08:27:13.949Z vk-io:updates http 2017-12-08T08:27:13.947Z vk-io:updates http —> 2017-12-08T08:27:13.947Z vk-io:updates http 2017-12-08T08:27:13.948Z vk-io:updates http 2017-12-08T08:27:13.948Z vk-io:updates http 2017-12-08T08:27:13.949Z vk-io:updates http

Дальше бот просто заглох и снова стал игнорить все сообщения.

negezor commented on May 14, 2023

Я залил обновление, попробуй с ним.

T1MOXA commented on May 14, 2023

А сейчас другая ситуация, написал сообщение и в логах бота появились сообщения, но на команду он так и не отреагировал.

2017-12-08T14:44:02.580Z vk-io:updates http —> 2017-12-08T14:44:02.581Z vk-io:updates http ] 2017-12-08T14:44:02.581Z vk-io:updates http —> 2017-12-08T14:44:02.581Z vk-io:updates http ] 2017-12-08T14:44:02.581Z vk-io:updates http —> 2017-12-08T14:44:02.582Z vk-io:updates http ] 2017-12-08T14:44:02.582Z vk-io:updates http —> 2017-12-08T14:44:02.582Z vk-io:updates http ] 2017-12-08T14:44:02.583Z vk-io:updates http —> 2017-12-08T14:44:02.583Z vk-io:updates http ] 2017-12-08T14:44:02.583Z vk-io:updates http —> 2017-12-08T14:44:02.584Z vk-io:updates http ] 2017-12-08T14:44:02.584Z vk-io:updates http —> 2017-12-08T14:44:02.584Z vk-io:updates http ] 2017-12-08T14:44:02.584Z vk-io:updates http —> 2017-12-08T14:44:02.585Z vk-io:updates http ] 2017-12-08T14:44:02.585Z vk-io:updates http —> 2017-12-08T14:44:02.585Z vk-io:updates http ] 2017-12-08T14:44:02.585Z vk-io:updates http —> 2017-12-08T14:44:02.586Z vk-io:updates http ] 2017-12-08T14:44:02.586Z vk-io:updates http —> 2017-12-08T14:44:02.586Z vk-io:updates http ] 2017-12-08T14:44:02.587Z vk-io:updates http —> 2017-12-08T14:44:02.587Z vk-io:updates http ] 2017-12-08T14:44:02.587Z vk-io:updates http —> 2017-12-08T14:44:02.588Z vk-io:updates http ] 2017-12-08T14:44:02.588Z vk-io:updates http —> 2017-12-08T14:44:02.588Z vk-io:updates http ] 2017-12-08T14:44:02.588Z vk-io:updates http —> 2017-12-08T14:44:02.589Z vk-io:updates http ] 2017-12-08T14:44:02.589Z vk-io:updates http —> 2017-12-08T14:44:02.589Z vk-io:updates http ] 2017-12-08T14:44:02.589Z vk-io:updates http —> 2017-12-08T14:44:02.590Z vk-io:updates http ] 2017-12-08T14:44:02.590Z vk-io:updates http —> 2017-12-08T14:44:02.590Z vk-io:updates http ] 2017-12-08T14:44:02.590Z vk-io:updates http —> 2017-12-08T14:44:02.591Z vk-io:updates http ] 2017-12-08T14:44:02.591Z vk-io:updates http —> 2017-12-08T14:44:02.591Z vk-io:updates http ] 2017-12-08T14:44:02.591Z vk-io:updates http —> 2017-12-08T14:44:02.592Z vk-io:updates http ] 2017-12-08T14:44:02.592Z vk-io:updates http —> 2017-12-08T14:44:02.592Z vk-io:updates http ] 2017-12-08T14:44:02.592Z vk-io:updates http —> 2017-12-08T14:44:02.593Z vk-io:updates http ] 2017-12-08T14:44:02.593Z vk-io:updates http —> 2017-12-08T14:44:02.593Z vk-io:updates http ] 2017-12-08T14:44:02.593Z vk-io:updates http —> 2017-12-08T14:44:02.594Z vk-io:updates http ]

Еще по теме:  Как передать владение группой в ВК

negezor commented on May 14, 2023

T1MOXA commented on May 14, 2023

Извините за долгий ответ 🙂

T1MOXA commented on May 14, 2023

не нужно каждый раз заново авторизоваться

Не подскажете где у меня ошибка с авторизацией ?
И как правильно сделать.

negezor commented on May 14, 2023

Проблема с polling связана c #43

  • Дополнение resolveResourse HOT 1
  • `message_event` неправильно (вообще не) обрабатывается с другими ивентами
  • Не исключайте is_cropped свойство сообщения! Спасибо HOT 2
  • Получение услуг из групп HOT 1
  • Добавить метод upload.userCover HOT 1
  • Неверная типизация интерфейса FriendsGetResponse HOT 2
  • postponed_id не возвращается в wall_post_new HOT 2
  • Ошибка при авторизации ImplicitFlowUser HOT 2
  • Авторизация через direct в аккаунт, который находится в бане
  • First step всегда true HOT 1
  • Ошибка в Attachment.fromString HOT 1
  • The value «conversation_message_id» is not returned
  • Ошибка авторизации HOT 1
  • enterHandler для сцен срабатывает всегда HOT 3
  • APIError: Code №5 — User authorization failed: invalid access_token (4) HOT 10
  • Как получить необработанные сообщения сообщества если webhook-сервер был оффайн? HOT 1
  • Проблема с middleware-io HOT 1
  • В объекте MessageContext отображаются не все вложения HOT 2
  • Add new type of scenes
  • Совместимость с Cloudflare Workers HOT 3

Источник: coder.social

Рейтинг
( Пока оценок нет )
Загрузка ...