Модуль logging в питоне — это мощный инструмент в разработке. Он помогает отследить ошибки, наблюдать за работой приложения и даже собирать статистику об использовании вашего сервиса. В этой статье я расскажу, как можно расширить возможности этого модуля и причем тут телеграмм.
Intro
Давным-давно, а точнее несколько месяцев назад, накануне Нового года, я сидел дома и решал задачу по машинному обучению. Связана она была с нейронными сетями и классификацией текстов, поэтому я естественно пользовался бесплатным GPU от гугла (colab). За окном шел снег, а модели обучались ну уж очень долго. Обучать модель оставалось всего несколько минут, как вдруг появляется уведомление, что подключение к runtime потеряно, а это значит, что обученную модель и сабмиты из этого runtime скачать я не смогу, и все придется начинать заново.
Скрытое меню в Telegram
Данная ситуация меня расстроила и заставила задуматься от том, что надо как-то через код сохранять файлы, потому что процесс выполнения кода не прекращается, когда возникает такая ошибка. Почему-то я сразу подумал про телеграм ботов и, написав несколько функций, смог сохранять самбиты и промежуточную информацию о том, как обучается модель и сколько ей осталось.
Копировал я этот код из ноутбука (jupyter notebook) в ноутбук, а потом осознал, что это можно встроить в модуль logging и завернуть в библиотеку, чтобы не таскать каждый раз большие куски кода, а использовать всего пару строк.
Logging.handlers
Понятно было, что за основу надо взять модуль для логирования, встроенный в питон. Очевидно, потому что изобретать свой велосипед мне не хотелось, а еще потому что, для использования в приложениях пришлось бы переписывать весь код логирования. Надо было найти способ перехватывать логи, и пересылать их в телеграмм. К счастью, в logging есть такой класс, как StreamHandler. Не буду вдаваться в подробности, но с помощью него можно сделать свою функцию, которая будет запускаться для каждой новой строки в логах и отправлять ее в телеграмм.
Tg-logger
И вот, держа в голове все вышеописанные идеи, я отправился писать свою библиотеку. Вот, что получилось.
Чтобы воспользоваться библиотекой нужно:
Установим библиотеку через 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/.
Источник: habr.com
Отладки в Телеграмм
А вы знали про то, что в Telegram есть секретное меню – отладки в Телеграмм? — Секретное меню в Телеграмм еще называют скрытым меню в телеграмме, но, а правильно оно называется меню отладки в Телеграмм.
Узнайте, как из Telegram можно сохранить фотографии, если вам это надо конечно.
Как открыть меню отладки в Телеграмм
Смотрите, как вы можете зайти в такое секретное меню, как отладки в Telegram:
- Зайдите в Telegram и нажмите на три полоски в левой верхней части телефона.
- Заходим в «Настройки».
- Опускаемся в самый низ на строчку «Telegram для Android» и делаем частые нажатия (тапы) по этой строчке.
- После частых нажатий оставьте палец на паузе в строчке «Telegram для Android», после чего у вас появится такой вот «человечек».
- Вы просто нажмите долгим нажатием пальца на знакомую вам строку «Telegram для Android», после чего у вас в телеграмме откроется меню отладки.
Вот такие шаги вам придется проделать для того чтобы открыть секретное меню отладки в телеграмм.
А вы знаете, как пользоваться календарем Телеграмма, и что он там вообще есть?
Что может меню отладки в Telegram
Давайте лучше разберем отладки в Telegram и их возможности для пользователей этого крутого мессенджера. И каждому пользователю советую ознакомиться с очисткой Telegram от мусора, засоряющего устройство.
И так, смотрим из каких возможностей и функций состоит секретное меню отладок в телеграмме:
- Импорт контактов. Дает возможность импортировать ваши контакты, например, из google аккаунта и т.д.
- Перезагрузить контакты. Это возможность обновления контактов, которые появились у вас.
- Сбросить контакты. Это функция к которой рекомендую относиться с осторожностью. Ведь применив ее вы можете потерять все контакты, которые сохранены в вашем Telegram.
- Сбросить кэш чатов. Эта фишка позволит очистить кэш из ваших чатов в телеграмме и удалить файлы. Если вы сохранили из телеги что-то в свою галерею, то те файлы в ней так и останутся. Их эта функция не затронет. А вам поможет освободить место.
- Включить логирование. Нажав на нее у вас появится меню, в котором вы сможете выбрать: 1) Отправить лог; 2) отправить свежие логи; 3) Очистить лог. Выбираете один из вариантов, например, «Отправить лог», и отправляете его разработчикам. А они уже решают ваши проблемы.
- Выключить встроенную камеру. Этот пункт позволит выключить камеру самого приложения Telegram, которая в него встроена. Советую ее выключить и пользоваться камерой телефона.
- Очистить кэш отправки файлов. Функция полезная, поэтому периодически используйте ее.
- Настройки звонков. Если не знаете, что это значит, то не советую нажимать на эти настройки.
- Прочесть все чаты. Нажав на эту ссылку все ваши чаты будут показаны как прочитанные без цифр, которые показывают вам сколько сообщений вы не прочитали.
- Останавливать музыку при записи. Если у вас в телефоне играет музыка и вы отправляете голосовое сообщение, то применив эту фишку, музыка у вас не запишется, а будет слышен только ваш голос.
- Show Status bar background.
- Включить откладку Применяется для браузерной версии телеграмма.
- Вкл. альтернативную навигацию
Вот в принципе и все вкладки в секретном меню телеграмма отладки, которые активны на сегодняшний день. И вы ими можете теперь воспользоваться.
А вы знали про секретное меню в телеграмме «Отладки в Телеграмм», и приходилось ли вам пользоваться этим меню?
Источник: new-seti.com
Debug menu: секретное меню Telegram
Listen to this article
Оказывается, в Telegram есть секретное меню. Как же попасть в это меню? Довольно просто. В этом меню можно импортировать контакты, сбросить диалоги, включить или отключить логирование, запретить доступ камере, очистить кэш, но самое главное – пометить сообщения прочтёнными.
К сожалению, это секретное меню в Telegram есть только в приложении на Android. Ни на iOS, ни на десктопе я подобной функции не нашёл. Так что, вам придётся найти смартфон на Android, если у вас его нет, и очистить с него чаты. Вот очень короткая инструкция:
- Открываем Telegram на Android и заходим в меню.
- Открываем пункт “Настройки”
- Внизу видим надпись “Telegram for Android…” и номер версии
- Зажимаем на этой надписи палец, пока не увидим смайлик: ¯_(ツ)_/¯
- Нажимаем ещё раз долго на эту строку и попадаем в Debug menu.
Если Вам понравилась статья — поделитесь с друзьями
3 502 просмотров
Отказ от ответственности: Автор или издатель не публиковали эту статью для вредоносных целей. Вся размещенная информация была взята из открытых источников и представлена исключительно в ознакомительных целях а также не несет призыва к действию. Создано лишь в образовательных и развлекательных целях.
Вся информация направлена на то, чтобы уберечь читателей от противозаконных действий. Все причиненные возможные убытки посетитель берет на себя. Автор проделывает все действия лишь на собственном оборудовании и в собственной сети. Не повторяйте ничего из прочитанного в реальной жизни. | Так же, если вы являетесь правообладателем размещенного на страницах портала материала, просьба написать нам через контактную форму жалобу на удаление определенной страницы, а также ознакомиться с инструкцией для правообладателей материалов. Спасибо за понимание.
Если вам понравились материалы сайта, вы можете поддержать проект финансово, переведя некоторую сумму с банковской карты, счёта мобильного телефона или из кошелька ЮMoney.
Источник: rucore.net