Как найти ид пользователя ВК?

Ссылка скопирована
19 января 2026 1 ответ

Доброго суток!

Пишу на языке JavaScript бота для ВКонтакте. Бот должен получать данные из нового комментария и отправлять эти данные в беседу. Код выглядит так:

vk.updates.use(async (context, next) => {
if (context.is('board_post_new')) {
const newCommentText = context.text;
const ids = context.id;
const authorId = context.from_id; // Use context.object.from_id to get the sender's ID
console.log('New comment:', newCommentText);

// Send a message to your user in a private conversation
try {
const randomId = Math.floor(Math.random() * 999999);
await vk.api.messages.send({
peer_id: 2000000002,
random_id: randomId,
message: `New comment in the discussion ${authorId} ${ids}:n${newCommentText}`,
});
console.log('Message sent to the user');
} catch (error) {
console.error('Error sending message to the user:', error);
}
} else if (context.text) {
const args = context.text.split(' ');

// Rest of your existing code for handling commands
}

await next();
});

Проблема в том, что все другие данные, а именно id, text извлекаются корректно, кроме from_id. Бот не видит её и отправляет undefined. Код писал опираясь на справочник https://dev.vk.com/ru/reference/objects/comment-to....

Дополнительно:

А что, собственно, в console.log(context)?
Ну и немного смущает эта строчка
const authorId = context.from_id; // Use context.object.from_id to get the sender's ID

Прям в комменте написано где брать ID отправителя

  • makapohmgn, в консоле не находит, там undefined. Что внутри object я её тоже пытался использовать, но TypeError: Cannot read properties of undefined (reading 'from_id'). Я пытался всё это в объект засунуть, но тоже самое всё корректно определяется кроме from_id.

    Писал в поддержку ВКонтакте, ответили что структура документации не менялась, они сами там тоже протестировали, у них в object это всё работает.

    Не знаю почему, но всё кроме from_id работает.

  • Вопрос решён. Вместо from_id использовать fromId.
  • Ответы:

    {msg.SenderId} вставь и ему отобразит ИД пользователя как сендер

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Игорь Волков Ответ

    Для того чтобы найти идентификатор пользователя ВКонтакте, можно воспользоваться различными способами в зависимости от того, что именно вы имеете под рукой.

    1. Если у вас есть ссылка на профиль пользователя, то идентификатор можно найти просто посмотрев на адресную строку браузера. Обычно идентификатор пользователя в ссылке будет после "vk.com/id" или "vk.com/". Например, если ссылка выглядит как "vk.com/id123456789", то идентификатор пользователя - 123456789.

    2. Если у вас есть имя пользователя (никнейм), то для того чтобы найти его идентификатор, можно воспользоваться методом users.get API ВКонтакте. Например, для пользователя с никнеймом "example" запрос будет выглядеть примерно так: "https://api.vk.com/method/users.get?user_ids=example&access_token=YOUR_ACCESS_TOKEN&v=5.131". В ответе на запрос вы получите информацию о пользователе, в том числе и его идентификатор.

    3. Если у вас есть имя и фамилия пользователя, то можно воспользоваться поиском ВКонтакте. Просто введите имя и фамилию в поисковую строку на сайте и найдите нужного пользователя. После этого перейдите на его страницу, и идентификатор будет виден в адресной строке браузера.

    Вот пример кода на PHP, который использует метод users.get API для поиска идентификатора пользователя по его никнейму:

    $nickname = "example";
    $access_token = "YOUR_ACCESS_TOKEN";
    $api_version = "5.131";
     
    $request_url = "https://api.vk.com/method/users.get?user_ids={$nickname}&access_token={$access_token}&v={$api_version}";
     
    $response = file_get_contents($request_url);
    $user_info = json_decode($response, true);
     
    if(isset($user_info['response'][0]['id'])){
        $user_id = $user_info['response'][0]['id'];
        echo "User ID: {$user_id}";
    } else {
        echo "User not found";
    }

    $nickname = "example"; $access_token = "YOUR_ACCESS_TOKEN"; $api_version = "5.131"; $request_url = "https://api.vk.com/method/users.get?user_ids={$nickname}&access_token={$access_token}&v={$api_version}"; $response = file_get_contents($request_url); $user_info = json_decode($response, true); if(isset($user_info['response'][0]['id'])){ $user_id = $user_info['response'][0]['id']; echo "User ID: {$user_id}"; } else { echo "User not found"; }

    Надеюсь, данная информация поможет вам найти идентификатор пользователя ВКонтакте. Если у вас остались вопросы, не стесняйтесь задавать их.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно