Как посмотреть логи в телеграмм
Перейти к содержимому

Как посмотреть логи в телеграмм

  • автор:

Логирование в телеграм, или история о том, как я сделал питон библиотеку

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

Intro

Давным-давно, а точнее несколько месяцев назад, накануне Нового года, я сидел дома и решал задачу по машинному обучению. Связана она была с нейронными сетями и классификацией текстов, поэтому я естественно пользовался бесплатным GPU от гугла (colab). За окном шел снег, а модели обучались ну уж очень долго. Обучать модель оставалось всего несколько минут, как вдруг появляется уведомление, что подключение к runtime потеряно, а это значит, что обученную модель и сабмиты из этого runtime скачать я не смогу, и все придется начинать заново.

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

Копировал я этот код из ноутбука (jupyter notebook) в ноутбук, а потом осознал, что это можно встроить в модуль logging и завернуть в библиотеку, чтобы не таскать каждый раз большие куски кода, а использовать всего пару строк.

Logging.handlers

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

Tg-logger

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

Для тех, кому лень запускать код, но хочется понять, как это будет работать, я сделал бота @tg_logger_demo_bot.

Чтобы воспользоваться библиотекой нужно:

  • создать телеграмм бота (как это сделать описано здесь)
  • получить свой user_id (это можно сделать через @tg_logger_demo_bot с помощью команды /id )

Установим библиотеку через pip.

pip install tg-logger

Рассмотрим код примера

import logging import tg_logger # Telegram data token = "1234567890:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" users = [1111111111] # Base logger logger = logging.getLogger('foo') logger.setLevel(logging.INFO) # Logging bridge setup tg_logger.setup(logger, token=token, users=users) # Test logger.info("Hello from tg_logger by otter18") 

Особо интересна для нас строка, в которой подключается логирование в телеграмм.

# Logging bridge setup tg_logger.setup(logger, token=token, users=users)

В функцию setup() нужно просто передать тот logger, к которому вы хотите подключить мост. Если заглянуть в документацию, то можно посмотреть на другие параметры функции setup(). С помощью них можно, в частности, настроить формат, в котором логи будут отправлены.

TgFileLogger

Стоит также упомянуть, что функцию отправки файлов я тоже добавил.

import tg_logger # Telegram data token = "1234567890:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" users = [1111111111] # TgFileLogger example tg_files_logger = tg_logger.TgFileLogger( token=token, # tg bot token users=users, # list of user_id timeout=10 # 10 seconds by default ) file_name = "test.txt" with open(file_name, 'w') as example_file: example_file.write("Hello from tg_logger by otter18") tg_files_logger.send(file_name, "Test file")

Outro

  • Весь исходный код есть на гитхабе: github.com/otter18/tg_logger.
  • Документация на английском есть на Read the Docs.
  • Библиотека доступна для скачивания через pip: pypi.org/project/tg-logger/.

Следите за активностью, используя логи в UseResponse

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

  • Лог активности — основной лог в системе;
  • История изменений — все изменения по определенному отзыву, заявке или пользователю, но не по ответам;
  • Лог сообщений — все входящие и исходящие email сообщения.

Внимание: все логи в системе работают при активированном приложении «Логирование» на Администрировании — Приложения. В настройках вы можете указать, какие логи сохранять

Основной лог активности

Основной лог активности доступен агентам поддержки по умолчанию в Меню » Лог активности в агентском интерфейсе. Вы можете выбрать период времени или фильтровать по ролям на странице для того, чтобы получить более точные результаты.

Лог активности сохраняет только глобальные действия с объектами в UseResponse, к которым относятся следующие:

  • Новая тема/заявка/анонс;
  • Новый комментарий;
  • Статус изменен;
  • Состояние изменено — Закрыт или Открыт заново;
  • Объект/Комментарий перемещен/восстановлен — в корзину/из архива;
  • Темы склеены.

Лог активности по определенной заявке или отзыву можно посмотреть на странице объекта. Зайдите на отзыв или заявку и в меню Параметры выберите «Лог изменений». В открывшемся окне нажмите на иконку лога активности.

История изменений

История изменений хранит информацию по всем действиям с объектом и предоставляет комплексный инструмент для отслеживания активности с объектом и его полями. Доступ к Истории изменений можно получить на странице любого объекта через Параметры.

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

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

Заметка: вы также можете отследить изменения по пользователю на странице профайла в параметрах

Лог сообщений

Лог сообщений помогает узнать какое уведомление, когда и кому ушло или пришло в систему. Глобальный лог сообщений доступен на странице Администрирование » Каналы поддержки со иконкой около Email.

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

Другие способы следить за активностью

  1. Профиль пользователя — в своем профиле пользователь может следить за активностью только по тем объектам, на которые он подписан. В профиле пользователя также есть вкладка «Лог активности», которая будет полезна агентам для отслеживания последних действий конкретного пользователя;
  2. Активность на странице Сводки — любой агент может видеть последнюю активность на странице Сводки, выбрав определенный период времени на представленном графике.

Очистка логов

На странице администрирования вы можете настроить автоматическую или ручную очистку старых логов в соответствующем пункте.

Недавние действия участников группы

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

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

  • Итак, открываем свою телеграм группу;
  • заходим в информацию о ней;
  • нажимаем изменить, вверху экрана;
  • открываем раздел «Администраторы»;

  • заходим в недавние действия. Здесь вы увидите, кто за последние 48 часов вступил в группу или покинул ее, кто и кого добавил в чат и какой из админов исключил непослушного участника.

Смотреть действия участников вы можете пока только на гаджетах.

Что касается онлайн веб телеграмм, в нем очень удобно руководить каналами и группами, так как он имеет раздельные вкладки для чатов, групп, каналов и ботов. Кроме того, веб версия телеграмм telegramm.site имеет бесплатный прокси, на случай блокировки мессенджера и другие преимущества, которые отличают его от других версий Telegram.

Как восстановить и посмотреть в «Телеграме» удаленные сообщения, чаты и переписку?

ADPASS расскажет вам, как восстановить диалоги в Telegram после их удаления, а также можно ли вернуть удаленные контакты, историю, каналы и отдельные сообщения в мессенджере.

Что важно знать

О хранении данных

Одним из главных преимуществ Telegram считается его повышенная безопасность. Его работа основана на собственном криптографическом протоколе MTProto Proxy, который использует два вида шифрования: клиент-сервер (для обычного обмена сообщениями) и клиент-клиент (для секретных чатов).

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

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

Об удалении чатов

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

Можно ли восстановить удаленный чат в «Телеграме»

Если вы намеренно удалили чат, не сохранив предварительно данные, восстановить его невозможно. Но в некоторых случаях шансы восстановить сообщения остаются, и они зависят от способа удаления переписки. Кроме того, можно заранее позаботиться о сохранении важных чатов, чтобы обезопасить себя от их удаления вами или вашим собеседником. При этом нужно помнить, что в Telergam нет автоматического копирования — чтобы создать резервную копию данных, их экспорт нужно настраивать вручную.

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

Эта опция доступна только для владельцев и админов групповых чатов Telegram в течение 48 часов с момента удаления сообщения. Посмотреть их можно в журнале действий

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

Зайдите на телефоне в настройки созданного вами чата. Для этого нажмите «Изменить» в правом верхнем углу страницы с информацией о группе. Затем выберите вкладку «Администраторы», а в ней перейдите на «Недавние действия».

Откроется журнал действий, в котором вы увидите все сообщения, удаленные участниками группового чата или его админами в течение последних 48 часов. Удаленные сообщения можно скопировать.

Как восстановить переписку в «Телеграме»

Восстановление в первые 5 секунд

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

Восстановление через архив

Иногда пользователи не удаляют чат, а по ошибке или целенаправленно отправляют его в архив. В таком случае чат легко вернуть. Как это сделать:

1) Потяните пальцем в общем списке чатов, чтобы появилась папка «Архив».

2) Чтобы развернуть папку, тапните по ней. Появится список с архивными чатами.

3) Потяните чат налево. Справа появятся опции «Закрепить», «Удалить» и «Вернуть». Выберите «Вернуть» и чат снова появится в основном списке.

С помощью собеседника

У Telegram есть две опции удаления чатов и отдельных сообщений: только у себя или у себя и у собеседника. Если при удалении вы выбрали опцию «Удалить только у себя», то попросите вашего собеседника переслать вам нужные сообщения.

Репост в «Избранное»

Вы можете сохранять сообщения, файлы и другие данные при помощи бесплатного облачного хранилища Telegram. В нем нет ограничения по объему хранимой информации.

Чтобы воспользоваться им, нужно переслать сообщение или файл, которые вы хотите сохранить, в папку «Избранное». Обратите внимание, что целиком сохранить папку не получится. Чтобы зайти в «Избранное», нужно ввести название папки в строке поиска по чатам, либо зайти в нее через окно с настройками.

Скриншот

Можно сделать скриншоты переписки штатными средствами телефона или компьютера. Нужно учитывать, что если делать скриншот в секретном чате, другой пользователь получит об этом уведомление. Чтобы этого избежать, можно сфотографировать переписку другим устройством.

Экспорт данных

Чтобы сохранить информацию из чата или канала Telegram целиком, ее можно экспортировать и скачать в виде архива. Для этого нужно установить на компьютер версию приложения Telegram Desktop (универсальная не подойдет).

Скачайте Telegram Desktop по ссылке, войдите в аккаунт и откройте чат, содержимое которого вы хотите сохранить. В выпадающем меню правого верхнего угла выберите «Экспорт истории чата».

Выберите, какой контент нужно загрузить и определите временной диапазон экспортируемых сообщений. Нажмите «Экспортировать».

После этого в целях безопасности Telegram отправит запрос подтверждения действия на другие устройства с установленным приложением. Подтвердите запрос и еще раз нажмите на «Экспорт» в меню «Экспорт истории чата». Скачанные данные появятся на компьютере в папке загрузок.

Как восстановить секретные чаты в Telegram

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

Как скачать переписку из диалога

Воспользоваться функцией «Экспорт данных», которую мы описали выше.

Где хранятся сообщения

Все переписки хранятся на сервере Telegram. Сообщения и чаты удаляются с него, если вы удалили их у себя в мессенджере.

Сохранение переписки на различных устройствах

На Android

Смартфоны на операционной системе Android не позволяют сделать бэкап переписки. Чтобы сохранить важный диалог или сообщения в нем, можно:

  • переслать сообщения и файлы в папку Telegram «Избранное»;
  • скачать нужный файл на телефон;
  • сделать скриншот;
  • скопировать текст сообщений и вставить его в заметки или текстовый файл.

На iPhone

На iOs также нет специальной возможности бэкапа переписки. Сохранить сообщения и файлы на айфоне можно теми же способами, что и на андроид (см. выше).

На ПК

Установить версию Telegram Desktop и использовать функцию «Экспорт истории чата», которую мы подробно описали выше.

Как восстановить удаленные

Канал

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

Контакты

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

Добавить комментарий

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