Есть ли способ удалить все отредактированные сообщения до того, как вы удалите?
В моем боте я редактировал одно и то же сообщение примерно 3 раза. В конце концов, когда я хотел удалить последний, я думал, что он удалит все. Но он просто удалил последнее отредактированное сообщение.
Есть ли способ сделать это? Потому что я пытался использовать несколько delete_message, но оно сохранилось в последнем отредактированном сообщении...
Пример исполнения
1. "First Message"
2. "Second Message" (edited)
3. "Third Message" (edited)
4. "Forth Message" (edited)
ожидаемый
No messages
Фактический результат
"Third Message"
1 ответ
Вы можете просто удалить все сообщения, которые были edited
:
Возможно, стартер:
test_list = ['1. First Message', '2. Second Message (edited)',
'3. Third Message (edited)', '4. Forth Message (edited)',
'5. Fifth Message (edited)']
for t in test_list[:]:
print(t)
if 'edited' in t:
test_list.remove(t)
print(test_list)
ВЫХОД:
['1. First Message']
однострочник с использованием лямбды:
print(list(filter(lambda a: a != '(edited)', test_list[:])))