автоудаление

Fasz fiatal

Известный
Автор темы
321
68
как сделать автоматическое удаление команды и отправленного сообщения
Python:
@app.on_message(filters.command("all", prefixes=".") & filters.group)
async def call_all_users(client: Client, message: Message):
    await send_user_links(message)


async def send_user_links(message: Message):
    link_users = []

    # получаем список пользователей этого чата и формируем ссылки на них
    async for user in app.get_chat_members(message.chat.id):
        if user.user.is_bot:
            continue
        else:
            # создаем ссылку на пользователя с использованием специального символа U+200b (невидимый символ)
            link_users.append(f"[](tg://user?id={user.user.id})")

        # отправляем сообщение каждые 5 пользователей (ограничение телеграмма на 5 ссылок в 1 сообщении)
        if len(link_users) == 5:
            await app.send_message(message.chat.id,
                f"текст{''.join(link_users)}",
                parse_mode=enums.ParseMode.MARKDOWN,
            )
            link_users = []

    # отправляем оставшихся пользователей, если они есть
    if link_users:
        await app.send_message(message.chat.id,
            f"текст{''.join(link_users)}",
            parse_mode=enums.ParseMode.MARKDOWN,
        )

upd: удаление команды сделал, осталось сообщений отправленных (через фильтр, message.delete(), app.delete_messages()
не работает)
 
Последнее редактирование: