| Fasz fiatal |
23.10.2024 13:01 |
как сделать автоматическое удаление команды и отправленного сообщения
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()
не работает)
|