Сайт о телевидении

Сайт о телевидении

» » Отредактировать отправленное сообщение в контакте. Как отредактировать (изменить) отправленное сообщение Вконтакте

Отредактировать отправленное сообщение в контакте. Как отредактировать (изменить) отправленное сообщение Вконтакте

Примечание: это гостевой пост. Статья написана одним из читателей блога.

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

Итак, во первых, нам нужно иметь полный доступ к двум аккаунтам ВК. Например, первый аккаунт Ваш, а второй фэйковый. Во вторых, Вы должны иметь хоть какие-то азы в программировании. Но не волнуйтесь. Большую часть работы сделаю я сам. Все способы являются легкими и быстрыми в исполнении из-за «дыр» в данной социальной сети. Однако, нет гарантий, что каждый метод у Вас будет работать. Но хоть один точно сработает.

Первый способ. Метод вложенной переписки.

Алгоритм : создаем переписку, редактируем, меняем дату, отсылаем назад в виде пересылки.
Самым обычным способом, создаем переписку между двумя аккаунтами ВКонтакте. Подключаем каждый аккаунт к API. Для этого достаточно перейти по данной ссылке и разрешить сбор информации с аккаунта:

https://oauth.vk.com/authorize?client_id=3245775&redirect_uri=http://api.vk.com/blank.html&scope=messages&display=page&response_type=token

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

# -*- coding: utf-8 -*- import codecs import ConfigParser import datetime import json import sys import urllib2 from urllib import urlencode import vk_auth def _api(method, params, token): params.append(("access_token", token)) url = "https://api.vk.com/method/%s?%s" % (method, urlencode(params)) return json.loads(urllib2.urlopen(url).read())["response"] # read config values Config = ConfigParser.ConfigParser() Config.read("config.ini") login = Config.get("auth", "username") password = Config.get("auth", "password") messages_id = Config.get("messages", "chat_id") messages_type = Config.get("messages", "chat_type") app_id = Config.get("application", "app_id") # some chat preparation if messages_type == "interlocutor": is_chat = False elif messages_type == "chat": is_chat = True else: sys.exit("Messages type must be either interlocutor or chat.") # auth to get token try: token, user_id = vk_auth.auth(login, password, app_id, "messages") except RuntimeError: sys.exit("Incorrect login/password. Please check it.") sys.stdout.write("Authorized vk\n") # get some information about chat selector = "chat_id" if is_chat else "uid" messages = _api("messages.getHistory", [(selector, messages_id)], token) out = codecs.open("vk_exported_dialogue_%s%s.txt" % ("ui" if not is_chat else "c", messages_id), "w+", "utf-8") human_uids = ] # Export uids from dialogue. # Due to vk.api, start from 1. for i in range(1, 100): try: if messages[i]["uid"] != human_uids: human_uids.append(messages[i]["uid"]) except IndexError: pass # Export details from uids human_details = _api("users.get", [("uids", ",".join(str(v) for v in human_uids))], token) human_details_index = {} for human_detail in human_details: human_details_index] = human_detail def write_message(who, to_write): out.write(u"[{date}] {full_name}:\n {message} \n\n\n".format(**{ "date": datetime.datetime.fromtimestamp(int(to_write["date"])).strftime("%Y-%m-%d %H:%M:%S"), "full_name": "%s %s" % (human_details_index["first_name"], human_details_index["last_name"]), "message": to_write["body"].replace("", "\n") })) mess = 0 max_part = 200 # Due to vk.api cnt = messages sys.stdout.write("Count of messages: %s\n" % cnt) while mess != cnt: # Try to retrieve info anyway while True: try: message_part = _api("messages.getHistory", [(selector, messages_id), ("offset", mess), ("count", max_part), ("rev", 1)], token) except Exception as e: sys.stderr.write("Got error %s, continue...\n" % e) continue break try: for i in range(1, 201): write_message(message_part[i]["uid"], message_part[i]) except IndexError: break result = mess + max_part if result > cnt: result = (mess - cnt) + mess mess = result sys.stdout.write("Exported %s messages of %s\n" % (mess, cnt)) out.close() sys.stdout.write(‘done!\n")

Далее, для простоты, поставим одну и ту же дату на все сообщения. Я не претендую на оптимизированный код и очевидно, что его можно ужать, но я хочу продемонстрировать как можно подробную работу парсера с подобными XML:

While (true) { doc = XDocument . Load("https://api.vk.com/method/messages.getHistory.xml?uid=12345&offset=" + m + "&count=200&access_token=" + token); foreach (XElement el in doc . Root . Elements()) { if (el . Name . ToString() == "message") { foreach (XElement el_msg in el . Elements()) { if (el_msg . Name == "date") { foreach (XElement el_date in el_msg . Elements()) { if (el_date . Name == " 1403320931") { el_date . Name = "1403429673"; // то есть меняем дату на любую другую k++; } } } } } } m += 200; }

Я думаю, что основная идея здесь понятна. Осталось вернуть сообщения на сервер. Для этого нам понадобиться функция message.send(). Объект message должен обратиться к полю date, но сервер ВКонтакте устанавливает время у себя на сервере сам. Однако, если мы отправим сообщения как вложенную переписку — все получиться.

Наши письма должны имеют вложенную структуру, значит надо вызывать метод парсинга рекурсивно. Но в Java можно поступить проще. Всё, что находиться внутри цикла forEach, мы будем помещать в отдельный класс. В следствии, в методе accept будет происходить всё то, что было бы в теле цикла. В VkApiMessage есть поле fwd_messages. В нем будет хранится список из объектов пересланных сообщений VkApiMessage:

Private static class MessageConsumer implements Consumer { @Override public void accept(VKApiMessage message) {} } messages.stream().forEach(new MessageConsumer()); if (!message.fwd_messages.isEmpty()) { System.out.println("

"); message.fwd_messages.forEach(new MessageConsumer()); System.out.println("
"); }

В общем, результат выглядит ничем не хуже оригинала в ВК:

Второй способ. Метод изменения GMT на сервере.

Алгоритм : меняем время на сервере, отправляем сообщения.

Второй метод несколько легче первого, так как нам не нужно старые(но измененные) сообщения возвращать назад на сервер (кстати, иногда, это не получается сделать из-за “глупого” сервера). Второй же способ работает более надежно.

Здесь нам не нужны готовые сообщения. Мы их создадим сами и перешлем на сервер, предварительно изменив GMT (часовой пояс). Для таких целей нам понадобиться абузоустойчивый VPS. Желательно на базе CentOS.

Сначала, меняем время и дату на сервере. Опять же, это можно сделать любым другим способом. Можно так:

# mv /etc/localtime /etc/localtime.bak ln -s /usr/share/zoneinfo/Europe/USA /etc/localtime # date MMDDhhmm # date 03182015 # man date

Настраиваем наш сервер под данные сервера ВК:
IP:87.240.182.185
Browser: Mozilla/5.0 (compatible; vkShare; +http://vk.com/dev/Share)
Port: 36035
Host: srv185-182-240-87.vk.com

Не забываем про регистрация на API (см. Первый способ). Отправляем сообщения через уже знакомую функцию message.send().

Объект message, описывающий личное сообщение, возвращает поле “date” — дата отправки сообщения в формате unixtime. Обратите внимание на фразу “дата отправки”. Ничего не говорится про дату получения сообщения сервером ВКонтакте.

Вот и все. Результат аналогичный первому. Все очень просто.

Третий способ. Сниффер трафика.

Алгоритм : качаем/покупаем сниффер, радуемся.
Самый простой метод. Но, к сожалению, методика зависит от качества программы, которую мы качаем из интернета.
Итак, можно просто попробовать скачать/купить что-то типо Charles, словить запрос, редактировать его (дату) и дублировать. Программа перехватывает пакет, меняет время отправки внутри пакета и отправляет контакту. Сервис ВК получает уже заданное unixtime сообщение. Таких снифферов в интернете куча. Но качественных и бесплатных найти сложно. Однако, они стоят не так дорого.

Как Вы уже поняли, отправить личное сообщение задним числом не составляет труда. Я не написал выше полностью все коды, а только самые необходимые и сложные. Дописать остальные, думаю, не составит труда. Большое спасибо.

К сожалению, не многие пользователи знают, что в социальной сети vk есть возможность редактировать собственные сообщения. Эта функция появилась относительно недавно и доступна в полной и мобильной версиях сайта (обещают, что в ближайших обновлениях она станет доступна и пользователям мобильного приложения).

Также, сегодня затронем функцию удаления, которая позволяет удалять сообщения в переписке не только со своей стороны, но и со стороны Ваших собеседников. Обе функции очень полезны и достаточно востребованы, поэтому давайте их разберем.

Редактирование сообщений в ВК

Совсем недавно у пользователей появилась возможность редактировать сообщения. Сделать это можно в течение 24 часов с момента отправки. Что внести изменения в свое сообщение, наведите на него курсор мыши и нажмите на иконку карандаша, которая должна появиться справа от него.

Теперь вы можете изменять свое сообщение и добавлять в него вложения. В конце нажимаем на иконку галочки в кружке, чтобы изменения вступили в силу.

Подобное сообщение будет помечено как "(ред.)", означающее, что в него вносили изменение.

Удаление сообшений ВКонтакте

Теперь давайте рассмотрим функцию, которая позволяет удалять сообщения не только у себя, но и у собеседника. Эту функцию добавили совсем недавно и не многие о ней знают. Работает она также как и обычное удаление, за исключением одного нюанса. После того как Вы выбрали сообщение, которое хотите удалить и нажали на специальную иконку, необходимо дополнительно поставить галочку "Удалить для всех".

Сообщение будет удалено из переписки не только у Вас, но и у вашего собеседника.

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

"Как отправить себе сообщение?" - именно таким вопросом до сих пор задаются многие пользователи социальной сети ВКонтакте. Это бывает очень удобно в тех случаях, когда хотите сохранить себе какую-нибудь запись со стены или просто сделать заметку так, чтобы это ее не увидел. Сегодня я расскажу как это можно сделать. Мы рассмотрим несколько способов и вам останется выбрать самый удобный.

Здравствуйте друзья! Сегодня я вам покажу как подделать переписку вконтакте и в других социальных сетях. Уверен, что большинство и не знает как это сделать и верит поддельным скринам, которые получают от плохих друзей и других ‘добрых’ ребят. Данным легким способом можно подделать не только переписку, но и другие данные страницы выводимые интернет-браузером.

Где вы можете встретится с подобным уловками. Метод подделки скрина используют люди, которые пытаются преувеличить свои доходы или какую-нибудь иную статистику. К примеру, скрины доходов сайта. Поэтому узнав как это делается вы будете лучше осведомленные и подготовлены к возможному разводу.

Описанный ниже метод не нарушает законов. Данным способом вы не изменяете код сайта, а только то, что видите сами в вашем браузере. А вот ложь, шантаж и прочие серые дела, вполне наказуемы, и вам за это могут навалять вполне-таки серьезных люлей


Для подделки переписки вам не потребуются мозг хакера и навыки работы в программе Фотошоп. Также вам не потребуется установка дополнительных программ. Все что вам нужно это любой интернет браузер и интернет соединение. Изменять сообщения и другие данные будем с помощью просмотра и изменения исходного кода страницы.

В моем случае подделка переписки будет происходить в социальной сети вконтакте, с помощью браузера Opera. Вы же можете проделать тоже самое в одноклассниках, фейсбуке, майл.ру, твиттере и т.д.

Подделка переписки

Как вы видите на первом скрине, первое сообщение «Прив» было отправленно в 15:45

Теперь отмечаем текст который необходимо изменить и правым щелчком мышки вызываем контекстное меню. В контекстном меню выбираем опцию Проинспектировать элемент .

В нижней части окна появляется меню разработчика и подчеркивается строка которую необходимо изменить. На слове Прив нажимаем правым щелчком мышки и выбираем опцию Edit text . После того, как вы вели новые данные, нажимаем на Enter .


Теперь закрываем окно веб-разработки.


Подделка переписки в социальных сетях

Все, теперь наша переписка вконтакте выглядит так. Как вы видите первое сообщение изменилось. И если вы обратите внимание, изменилось и время отправки сообщения. Изменил я это таким-же способом, как и сообщение «Прив».

Теперь необходимо сделать снимок экрана (скрин). Снимок экрана можно сделать нажав на клавишу Prt Scr . И, скопировав в буфер обмена изображение, вставить в любой редактор фотографий. Также вы можете использовать специальную программу для снятия скриншотов.

Еще, таким методом вы можете накрутить количество сообщений и другую информацию меню вконтакте.

Вот пример того что было:

Накрутка сообщений вконтаке

А вот что стало:

Теперь вы знаете, что подделка переписки — это легко, и то, что скринам экрана верить нельзя.

В данной статье я не затрагивал моральную сторону, поэтому обманывать или нет, решать вам.

Вы спросите, а почему летающие тарелки на первой картинке статьи, и я вам отвечу, что еще до того как появились вконтакте и одноклассники, масс-медиа вешала нам лапшу на уши вот такими вот поддельными фотографиями и видеоматериалами.

Осенью 2017 года разработчики социальной сети Вконтакте добавили удобную и практичную функцию «Редактирование записей». Это событие положительно воспринялось сообществом, ведь теперь можно исправлять помарки, а не писать дополнительные сообщения в диалогах или ленте. Как пользоваться новым инструментом, читайте далее.

Как отредактировать сообщение

Отредактировать переписку не составит труда. Главное учитывать, что после публикации записи в группе или сообщения в диалогах, функция изменения доступна в течение 24 часа. Для реализации поставленной задачи потребуется выполнить следующие действия:

  1. Навести курсор мыши на запись, которую потребуется изменить. Далее в правом углу значок в виде трех точек.
  2. Нажимаем на него, после чего открывается форма для изменения сообщения. Исправляем ошибки или полностью переписываем текст, сохраняем обновленную информацию.
  3. Чтобы убедиться в правильности выполнения, обновите страницу. Запись должна преобразиться, а рядом с ней появиться надпись: «Редактировано» с датой.

Неважное, где требуется реализовать инструмент, методика выполнения везде одинаковая. Текст корректируется у всех пользователей социальной сети. Единственное отличие возникает при работе с мобильных устройств.

Различия редактирования в мобильной версии


На текущий момент специалисты соцсети предоставили возможность для редактирования сообщений в режиме полной и мобильной версии сайта. Заметим, что для приложений смартфонов на Windows Phone, Android, iOS ещё не разработаны функциональные решения для данной функции.

Поэтому в случае необходимости использования последней, рекомендуем применять Google Chrome. Система обладает схожей последовательностей действий. Заходим в мобильную версию m.vk.com и реализуем функционал в полной мере. Новшество удобно и практично, поэтому рекомендуем каждому владельцу анкеты Вконтакте научиться пользоваться им на благо русского языка и вашего бизнеса.