- 321
- 68
как сделать автоматическое удаление команды и отправленного сообщения
upd: удаление команды сделал, осталось сообщений отправленных (через фильтр, message.delete(), app.delete_messages()
не работает)
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()
не работает)
Последнее редактирование: