Open TehPeGaSuS opened 4 years ago
I've not been able to recreate this anyway, with users and non-users.
Are you sure this isn't down to a script or something else?
Attempted to recreate on 🔢
eggdrop v1.6.21
👎 allowed the ban to be removed
eggdrop v1.8.4
👎 allowed the ban to be removed
eggdrop v1.9.0+msgtags (github current)
👎 allowed the ban to be removed
[00:42:43]
[00:43:14] Kitana (Kitana@Gateway/BNC/TheGrid/Kitana) joined #spamtest [00:43:14] Mode #spamtest +b *!*@Gateway/BNC/TheGrid/Kitana by @GroundZero [00:43:15] Kitana was kicked by @GroundZero (Banned: Ban test)
-dynamicbans
:[00:43:54] Mode #spamtest -b *!*@Gateway/BNC/TheGrid/Kitana by ~James [00:43:55] Mode #spamtest +b *!*@Gateway/BNC/TheGrid/Kitana by @GroundZero
The bot re-sets the ban even if me (as admin) try to remove it, if the channel has -dynamicbans
.
It should allow me or any user with enough channel access to remove the ban despite the dynamicbans
settings
FWIW, I was able to mimick these behaviors as well. This is something we could probably look into further. In one way, it makes sense that if the user is banned in the Eggdrop, the user should be banned on the channel to prevent them from joining. Eggdrop is trying to enforce that ban list. For the sake of argument, why would you remove the ban from the channel when if the user rejoins, they'll just be banned again? I think that is the approach Eggdrop is taking here. Not saying it's not up for discussion, just that I believe that is the approach that was taken with the banlist enforcement.
For the sake of argument, why would you remove the ban from the channel when if the user rejoins, they'll just be banned again?
I might want to clean the channel banlist from older bans but cherry pick them, because the user might not be seen for some time now, but I still want to prevent them from re-joining if they reappear in a later date.
To make this a bit more understandable and to avoid unnecessary discussions:
On the eggdrop.conf we have set default-ban-time 120
, which defines for how long a bot ban (or a manually set ban) is kept active in the channel. (Edit by admin for clarity: ...kept active in the channel, if dynamic-bans is enabled)
If we have +dynamicbans
set, after set default-ban-time
the bot removes the ban from the channel ban list or allows any user with enough channel access level (note channel, not bot access) to remove it even if the time wasn't expired yet, but keeps it in its internal ban list, so if the user tries to rejoin, they'll be kickbanned again.
If we have -dynamicbans
set, the bot doesn't remove any ban after set default-ban-time
and it doesn't allow the ban to be manually removed even if the user has enough channel access level (note channel, not bot access) even if the ban was "expired", but it doesn't also allow us to unset the ban (reapplying it immediately), even if the ban isn't set to sticky.
IMHO, the dynamicbans
setting should only mean: Do we remove the channel ban after set default-ban-time
or not?, but still allow users with enough channel access to remove it manually without reapplying it (unless said ban is marked as sticky).
Hope this makes things a bit more understandable.
Cheers
Currently, when we have a channel with dynamicbans disabled (
-dynamicbans
) the bot doesn't let the user, even if the user is+n
or+m
, to manually remove the ban, reapplying it immediately.If setting to
+dynamicbans
then we are able to manually remove any ban before their expire time (120
minutes by default), but that also makes the bot remove the bans after the expire time, which might not be desirable.This is a bit counterintuitive, and the current behaviour of
-dynamicbans
should be changed to: allow users to manually remove any ban but, as obvious, the bot won't automatically remove any ban after the expire time.Cheers.