aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar mbaruh <[email protected]>2022-10-07 18:44:45 +0300
committerGravatar mbaruh <[email protected]>2022-10-07 18:44:45 +0300
commitb0df8b0bbe5cbcc7168339564c52a941c1b44756 (patch)
tree0484d14e8bd5e1b6ec7d168beabd52cf8e5f94b4
parentAdd more spacing in mod alert (diff)
Prevent the duplicate filter warning from mentioning itself
-rw-r--r--bot/exts/filtering/filtering.py11
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