• VK API - Как заставить это работать, доки не спасают ( генерация sig)?

    @marxxt
    понравился ответ - поставь ✔
    update

    sig = md5("api_id={api_id}method=friends.getrandom={random}timestamp={timestamp}user_id={user_id}{app_secret}")
    
    url = "https://api.vkontakte.ru/api.php?api_id={api_id}&method=friends.get&random={random}&timestamp={timestamp}&sig={sig}&user_id={user_id}"


    app_secret - ключ приложения, не юзера

    Для проверки возьмите хеш от
    api_id=2274003method=friends.getrandom=454905timestamp=1547208095user_id=421620512hHbZxrka2uZ6jB1inYsH


    Должно получиться
    95513c4177ae86f08ea40e9e0ef2797b


    у меня работает

    end update

    Не особо силен в C#, чуть знаю вк апи

    В документации сказано, что нужно также передавать версию API параметром V, у вас он пропущен, может в этом проблема?

    А здесь указывается, что ваш тип авторизации через https://oauth.vk.com/token требует разрешение администрации

    Текст ошибки есть какой-нибудь? В auth токен передается?
    Ответ написан
  • Как улавливать событие редактирования сообщения через VK API?

    @yamudaqq
    чтобы это реализовать нужно постоянно делать проверку всех предыдущих сообщений которые когда-либо были отправлены на страницу бота.

    для начала тебе нужно узнать все их айдишники.

    после этого используй метод messages.getByIdи проверяй наличие в нём 'update_time', как на картинке
    b4XZpnp7Tr_eZ1Hj-NFfRQ.jpeg

    если оно есть, значит сообщение редактировалось. вытаскиваешь из него текст и выводишь в консоль. вся сложность в проверке именно всех предыдущих сообщений.
    Ответ написан
    2 комментария
  • Как сделать что бы бот писал в определённую беседу?

    EvgenyCherny
    @EvgenyCherny
    I'm don't want you say I love you...
    Для начала тебе нужно получить ид нужной беседы. По типу 2000000010
    Далее используй такой код
    vk.api.messages.send({ peer_id: `2000000010`,  message: `Репорт пользователя` }).then(() => {
        return bot(`ваше сообщение отправлено.`);
      }).catch((err) => {
        return bot(`произошла ошибка при отправлении сообщения технической поддержке.`);
      });

    Замени параметр message на свой.
    Ответ написан
    Комментировать