powercord-community / suggestions

Repo where you can find and share plugin suggestions for Powercord
27 stars 4 forks source link

NickProtect Plugin #68

Open MadamJazzy opened 4 years ago

MadamJazzy commented 4 years ago

Describe the plugin Have one command with a toggle for on or off. [p]nickprotect on/off .

Expected behavior The plugin will detect if your nickname is changed in a server and attempt to change it back. Basiclly protect your nickname from being changed by anyone other than you without your consent as long as you have change nickname perm.

When a nick change is detected, it should attempt to change it back to what it was before the change. It should possibly be able to detect whether the nick change was requested by yourself or another user. If yourself it would allow the nick change, if any other user change it back. Should include an exception for Forbidden (Missing permissions) so that it does not throw an error.

Optional: Should show a notification when the nick was changed, in what server, and by who. Could show whether actions was taken or not allowed.


Yumiro commented 4 years ago

isn't this considered self-botting? as soon as you'd turn this plugin on, and after it detected a change, it would automatically reset your name back which i'm pretty sure is self-botting

MadamJazzy commented 4 years ago

No not really. It would make a call to the discord api for a name change, but so do a lot of the plugins that are offered through PC.

aetheryx commented 4 years ago

the difference here is that the plugin makes an API call without user interaction. this would fall into selfbot territory, unfortunately. leaving open the issue for a while longer to encourage discussion 👍

Kanin commented 4 years ago

Jake#0001 21/01/2018 Danny automating the API in that way /is/ abuse. Automatically doing "X" every N is generally not a good idea. Where X could be posting a message, changing someone's nickname, renaming a role, changing a channel topic, etc...

Generally bots should only react to user actions...

In my opinion this would follow under these rules, though I'll leave @Bowser65 up for the final say.

Kanin commented 4 years ago

Thank you @aetheryx

ghostlydilemma commented 4 years ago

Wouldn't it be possible to open up a notification popup on nickname change detection though? Or maybe use the announcement bar at the top? e.g. Your nickname was changed from x to y on the server z {Button to open Server}

aetheryx commented 4 years ago

it's hard to apply DAPI guidelines to something like this, because no matter what we're doing we're breaking ToS. it's up to us in the end to decide what breaks ToS to a "safe" degree.

those guidelines were provided for a specific context; a bot account performing tasks at an interval. this plugin would relate to neither, because we're talking about a user account performing a task reactively. this exact functionality would be fine on a bot account because the action itself is technically a user action; the moderator that changes the nickname would be taking action.

but in our case, that entire ruling doesn't apply because we're in selfbot-ish territory. we have to play by different rules, even for something similar.

i think emma's solution is as perfect as this could get, emma's solution wouldn't be considered selfbotting

Kanin commented 4 years ago

@aetheryx

Generally bots should only react to user actions...

Applies to users and bots, correct? Ofc the rule wasn't stated as a user doing it. But I feel like this rule does fall into place. Automating the API is bad no matter how you look at it.

Though I do agree with emma's suggestion

ghostlydilemma commented 4 years ago

uwu

aetheryx commented 4 years ago

i wouldn't say that applies to users and bots. from discord's point of view, anything related to client modding (which is what we're doing) is against ToS and just plain wrong, meaning anything they say about API guidelines explicitly assumes we're using a bot account. unless discord specifically says something about client modding / selfbotting, the only thing we can use to decide what we should-or-shouldn't do is common sense.

cyyynthia commented 4 years ago

I'd be against such a plugin. The reason being that if someone else changes your nickname, there is a high chance it's an action from the server staff. There are also bots that changes your nickname automatically, in a case of dehoisting or in some cases Unicode removal (some bots call it "decancer").

Resetting it automatically would fall in my opinion into the selfbotting area, as well as being unhelpful towards servers that tries to keep member names clean. There are cases where it'd be useful, I agree, but again Powercord decided to enforce strict guidelines to ensure no abuse whatsoever.

Emma's suggestion of passive protection by just letting you know looks good to me, and I doubt we'll be able to find anything better.

MadamJazzy commented 4 years ago

Then in that case can the notification include a button to reverse the name change. Since it would require user interaction and not automate the process by triggering it on a rename?

cyyynthia commented 4 years ago

I don't see any problem with a revert button, I'm personally fine with it.

However, since we're bringing a definition problem here, I'm wondering if we should include in the plugin guidelines a clear, written definition of what's considered as selfbotting.

Kanin commented 4 years ago

@MadamJazzy May you edit your request to be compliant with what we've been over with here?