Отправка результата парсинга в Telegram — это очень полезная и востребованная функция. На фрилансе почти в каждом заказе клиент просит организовать такую отправку, а новички, которые не умеют это делать, игнорируют подобные заказы, думая, что это что-то очень сложное. На самом деле нет, все очень просто, если вы изучили основные функции библиотеки Telethon в этом курсе, то вам на глаза уже попадался метод, которой отправляет сообщения — это client.send_message(entity). Организовать подобную отправку можно всего одной функцией, и мы ее разберем.
Код ниже отправит сообщение ‘test’ пользователю. Сообщение подобным образом можно отправить не только конкретному пользователю, но и чату\группе, если учетная запись, с которой вы отправляете сообщение, подписана на этот чат\группу.
from telethon import TelegramClient, events, sync, connection
r_api = 1********8
r_hash = 'b*********************b'
with TelegramClient('my', r_api, r_hash, system_version="4.10.5 beta x64") as client:
client.send_message('@name_user', 'Текст сообщения')
Метод .send_message(entity) принимает следующие аргументы:
entity=’username’ — указывает на пользователя\чат\группу, куда необходимо отправить сообщение, если не указать пользователя, сообщение будет отправлено в чат «Избранное»;
message=’text’ — сообщение для отправки или другой объект для отправки, Максимальная длина сообщения составляет 35 000 байт или 4 096 символов;
reply_to(int\Message) — отвечать на сообщение или нет, если указан int, он должен быть идентификатором сообщения, на которое следует ответить;
link_preview(=True\False) — должен ли быть включен предварительный просмотр ссылок;
file(file=’C:/file.txt’) — отправляет сообщение с вложенным файлом, файл может быть текстовым, видео, аудио или документом и т.д.;
thumb(str\byte\file) — дополнительный эскиз для отправленного документа;
force_document(True\False) — отправлять ли данный файл как документ;
buttons(custom.Button) — отправляет кнопку, которая будет отображаться после отправки сообщения( в данном курсе мы не рассматривали работу с кнопками, кому интересна данная тема, можете самостоятельно почитать в документации )
silent(True\False) = должно ли сообщение уведомлять людей в широковещательном канале или нет. По умолчанию False, что означает, что он уведомит их. Установите значение True, чтобы изменить это поведение.
background(True\False) — должно ли сообщение быть отправлено в фоновом режиме.
schedule(hints.DateLike=None) — устанавливает планировщик для отправки сообщения в указанную дату\время. По умолчанию установлен None, что означает что сообщение будет отправлено немедленно;
comment_to(int\message) — оставляет «комментарий» в широковещательном канале. int, идентификатор паблика\группы. message, сообщение для отправки.