Pythoner
Фотография
🔥И снова новый, но последний пост по пирогу. В прошлый раз я обещал научить вытаскивать данные из сообщения, этим и займёмся!
🔎Давайте с начала просто посмотрим из чего состоит получаемый объект
@app.on_message(filters.command(["start"], prefixes="."))
async def start(_, msg):
print(msg)
⬆️В результате увидим много всяких данных. Самые часто используемые - id, text, from_user, chat reply_to_message(сообщение на которое ответили).
➡️Чтобы достать определенное значение надо перечислить ключи к нему через точку:
➖msg.text
➖msg.chat.id
➖msg.reply_to_message.date
➡️Теперь попробуем на практике, поприветствуем новых участников в группе
@app.on_message(filters.chat([123,456]) & filters.new_chat_members)
async def welcome(_, msg):
new_members = [u.mention for u in msg.new_chat_members]
text = 'Привет, ' + ", ".join(new_members) + "!"
await msg.reply(text, True disable_web_page_preview=True)
⬆️Разберем этот код
💬Создаем Декоратор:
💬📰Из определенных чатов ([123,456])
💬📰Для новых участников
💬Создаем функцию
И тут начинается самое то, что нас интересует
💬Перебираем список новых участников, и из них берем параметр mention - имя с ссылкой.
💬Формируем текст сообщения, соеденяя список из новый участников с помощью *str.join()* (о нем мы говорили в прошлом посте )
💬Отвечаем на сообщение ответом и без предпросмотора ссылок
👀Итог
Мы научились доставать данные из сообщения и вспомнили фильтры с обработчиками. Надеюсь это серия постов вам понравилась.
🐍Pythoner
37 · 2K ·