Pythoner
Фотография
🔥Продолжаем!
➡️Мы уже умеем создавать обработчики, теперь надо научится что-то делать, а не только принимать. В пироге функции отправки чего-либо начинаются на "send" - app.send_message, например.
➡️Чтобы детально разобраться в какой-то функции - надо заглянуть в документацию! Кстати, у pyrogram она очень удобная и понятная
⛓https://docs.pyrogram.org ⛓
⬆️Нам нужен метод который отвечает за отправку сообщения. В документации слева в менюшке ищем Available Methods (Доступные методы) - далее - send_message (отправить сообщение). И видим полное описание этого метода, что он делает, какие параметры принимает, что возвращает и примеры.
➡️Сразу под названием видим описание метода, то что он делает
Send text messages.
То есть
(отправляет текстовое сообщение)
➡️Ниже список параметров которые нужно в него передать. Давайте его разберем.
chat_id (int | str) – Unique identifier (int) or username (str) of the target chat. For your personal cloud (Saved Messages) you can simply use “me” or “self”. For a contact that exists in your Telegram address book you can use his phone number (str).
Или же
(chat_id (int | str) — уникальный идентификатор (int) или имя пользователя (str) целевого чата. Для вашего личного облака (сохраненных сообщений) вы можете просто использовать «me» или «self». Для контакта, который существует в вашей адресной книге Telegram, вы можете использовать его номер телефона (str))
В самое первое — название параметра далее в скобках тип данных. "|" - это "или", "либо". Если в скобках есть оptional, то это значит что этот аргумент не обязательный.
И последнее - описание.
⬆️Из цитаты нам становится понятно, что chat_id принимает ID чата в виде строки либо числа, либо номер телефона, либо "me"|"self" если надо отправить себе в избранное.
❔Второй параметр разберите сами
text (str) – Text of the message to be sent.
text (str) – Текст отправляемого сообщения.
❓тут совсем легко, так что, думаю, все справились, сюда надо передать строку с отправляемым текстом
👀В итоге, отправлять сообщения надо так:
await app.send_message(chat_id, "text")
❕Обратите внимание, что в начале я поставил await. Если вы новичок - то просто ставьте перед методами await и все, а если вы уже что-то знаете, то объяснять не надо)
➡️Bound Methods
Самые внимательные заметили, что в документации крок Available Methods есть еще Bound Methods (Связанные методы)
Их фишка в том, что это методы сообщений которые мы получаем из хендлера (параметр msg). Например, чтобы изменить сообщение, не обязательно писать
app.edit-бла-бла-бла, а можно просто msg.edit(). В него просто передаем строку и готово!
💬Задание: Пользуясь документацией, выясните что делает msg.reply() и какие параметры он принимает.
➡️Вернёмся в редактор кода
Теперь вспоминаем все что учили и соберём знания вместе. Сделаем так, чтобы при написании команды .start сообщение изменялось на Python Pyrogram!
from pyrogram import Client, filters
app = Client("UserBot", 123, "abc")
@app.on_message(filters.command(["start"], prefixes=".") & filters.me)
async def start(_, msg):
await msg.edit("Python Pyrogram!")
app.run()
👀Итоги:
Сегодня мы научились работать с документацией, и научились изменять сообщения. А в следующем посте научимся получать из сообщения данные - его текст, отправитель, и тп.
🐍Pythoner
39 · 2.1K ·