Исходник Логер сообщений ВКонтакте.

Эксперт
Статус
Оффлайн
Регистрация
9 Апр 2020
Сообщения
1,442
Реакции[?]
671
Поинты[?]
30K
Приветствую, написал я тут для себя любимого скрипт, он позволяет сохранять сообщения, которые вам отправляли.
Основная цель - если отправили текст, а потом удалили/изменили, то можно его посмотреть.
Примечания:
1. В логах не будут отображаться сообщения, если вы находитесь в открытом диалоге с пользователем. (Открытый диалог - общаетесь в данный момент времени и не переходите в диалог к другому пользователю).
2. Логи делаются каждые 0.5 сек.
3. Медиаконтент хранится в файле (ссылки на что-либо).
Скрипт стоял на хосте 2 дня, и падал только 1 раз, и то, из-за хоста.

---
Python:
from vk_api import vk_api
import datetime, time

new_id   = '1'
new_text = '2'
old_id   = '3'
old_text = '4'

vk_session = vk_api.VkApi(app_id=2274003, token='', scope='messages');
vk = vk_session.get_api()

while True:
    time.sleep(0.5)
    now = datetime.datetime.now()

    month = '%d' % now.month
    day   = '%d' % now.day
    hour  = '%d' % now.hour
    minute = '%d' % now.minute
    second = '%d' % now.second
    date = str(day) + '.' + str(month) + '|' + str(hour) + ':' + str(minute) + ':' +  str(second)

    massages = vk.messages.getDialogs(count = 20, unread = 1 )

    try:
        user_id = int(massages['items'][0]['message']['user_id'])
        if user_id <0:
            s = 0
        else:
            user_id = str(user_id)
            s = 1
    except:
        pass

    try:
        if s == 0:
            pass
        else:
            user_id = massages['items'][0]['message']['user_id']
        text    = massages['items'][0]['message']['body']
        new_text = text
        new_id   = user_id

    except:
        continue

    if new_id and new_text == old_text and old_id:
        continue
    else:
        pass

    if s == 0:
        fullname = 'Сообщество'
    else:
        user = vk_session.method("users.get", {"user_ids": user_id})
        fullname = user[0]['first_name'] +  ' ' + user[0]['last_name']

    try:
        url  = massages['items'][0]['message']['attachments']
    except:
        pass

    if text == '':
        print ('Пользователь: ' + str(fullname) + ' [ID:' + str(user_id) + '] | ' + 'Время: '  + '[' + str(date) + '] | ' + 'Текст: *URL* \n')
        a = 'Пользователь: ' + str(fullname) + ' [ID:' + str(user_id) + '] | ' + 'Время: '  + '[' + str(date) + '] | ' + 'URL: \n' + str(url) + '\n'
        file = open ('vk.txt', 'a', encoding="utf-8")
        file.write(a)
        file.close()
        old_text = text
        old_id   = new_id

    else:
        b = 'Пользователь: ' + str(fullname) + ' [ID:' + str(user_id) + '] | ' + 'Время: '  + '[' + str(date) + '] | ' + 'Текст: \n' + str(text) + '\n'
        print (b)
        file = open ('vk.txt', 'a', encoding="utf-8")
        file.write(b)
        file.close()
        old_text = text
        old_id   = new_id
 
Последнее редактирование:
(ノ◕ヮ◕)ノ*:・゚✧
Забаненный
Статус
Оффлайн
Регистрация
10 Ноя 2019
Сообщения
1,173
Реакции[?]
561
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Полезная штука
 
Я не гей! , Я Crpto Cl1pp3r
Забаненный
Статус
Оффлайн
Регистрация
20 Окт 2020
Сообщения
89
Реакции[?]
32
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Топчик , спасибо)
 
Сверху Снизу