diff options
| author | 2022-10-07 18:44:45 +0300 | |
|---|---|---|
| committer | 2022-10-07 18:44:45 +0300 | |
| commit | b0df8b0bbe5cbcc7168339564c52a941c1b44756 (patch) | |
| tree | 0484d14e8bd5e1b6ec7d168beabd52cf8e5f94b4 | |
| parent | Add more spacing in mod alert (diff) | |
Prevent the duplicate filter warning from mentioning itself
| -rw-r--r-- | bot/exts/filtering/filtering.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/bot/exts/filtering/filtering.py b/bot/exts/filtering/filtering.py index 11a3948f3..5f42e2cab 100644 --- a/bot/exts/filtering/filtering.py +++ b/bot/exts/filtering/filtering.py @@ -687,9 +687,12 @@ class Filtering(Cog): await ctx.send(embed=embed, reference=ctx.message, view=view) @staticmethod - def _identical_filters_message(content: str, filter_list: FilterList, list_type: ListType) -> str: + def _identical_filters_message(content: str, filter_list: FilterList, list_type: ListType, filter_: Filter) -> str: """Returns all the filters in the list with content identical to the content supplied.""" - duplicates = [f for f in filter_list.filter_lists.get(list_type, {}).values() if f.content == content] + duplicates = [ + f for f in filter_list.filter_lists.get(list_type, {}).values() + if f.content == content and f.id != filter_.id + ] msg = "" if duplicates: msg = f"\n:warning: The filter(s) #{', #'.join(str(dup.id) for dup in duplicates)} have the same content. " @@ -722,8 +725,8 @@ class Filtering(Cog): "additional_field": json.dumps(filter_settings), **settings } response = await bot.instance.api_client.post('bot/filter/filters', json=payload) - extra_msg = Filtering._identical_filters_message(content, filter_list, list_type) new_filter = filter_list.add_filter(response, list_type) + extra_msg = Filtering._identical_filters_message(content, filter_list, list_type, new_filter) await msg.reply(f"✅ Added filter: {new_filter}" + extra_msg) @staticmethod @@ -759,8 +762,8 @@ class Filtering(Cog): "additional_field": json.dumps(filter_settings), **settings } response = await bot.instance.api_client.patch(f'bot/filter/filters/{filter_.id}', json=payload) - extra_msg = Filtering._identical_filters_message(content, filter_list, list_type) edited_filter = filter_list.add_filter(response, list_type) + extra_msg = Filtering._identical_filters_message(content, filter_list, list_type, edited_filter) await msg.reply(f"✅ Edited filter: {edited_filter}" + extra_msg) # endregion |