Есть ли способ удалить все отредактированные сообщения до того, как вы удалите? - PullRequest
0 голосов
/ 15 февраля 2019

В моем боте я редактировал одно и то же сообщение примерно 3 раза.В конце концов, когда я хотел удалить последний, я думал, что он удалит все.Но он просто удалил последнее отредактированное сообщение.

Есть ли способ сделать это?Потому что я пытался использовать несколько delete_message, но оно сохранилось в последнем отредактированном сообщении ...

Пример выполнения

1. "First Message" 2. "Second Message" (edited) 3. "Third Message" (edited) 4. "Forth Message" (edited)

Ожидается

No messages

Фактический результат

"Third Message"

1 Ответ

0 голосов
/ 15 февраля 2019

Вы можете просто удалить все сообщения, которые были 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[:])))
...