discord: option to add/remove role on enable/disable/deletion

in Settings > Discord, shown when a role is selected in "Apply Role".
The discord housekeeping daemon should pick up users deleted outide of
jfa-go too, so users who delete their own accounts should have their
roles removed (periodically).
This commit is contained in:
Harvey Tindall
2024-08-04 15:37:01 +01:00
parent 44311162a6
commit ffd46ff190
5 changed files with 42 additions and 3 deletions
+12 -2
View File
@@ -174,7 +174,12 @@ func (app *appContext) SetUserDisabled(user mediabrowser.User, disabled bool) (e
}
if app.discord != nil && app.config.Section("discord").Key("disable_enable_role").MustBool(false) {
// FIXME: Un-apply role
cmUser, ok := app.storage.GetDiscordKey(user.ID)
if ok {
if err := app.discord.SetRoleDisabled(cmUser.MethodID().(string), disabled); err != nil {
app.err.Printf(lm.FailedSetDiscordMemberRole, err)
}
}
}
return
}
@@ -198,7 +203,12 @@ func (app *appContext) DeleteUser(user mediabrowser.User) (err error, deleted bo
}
if app.discord != nil && app.config.Section("discord").Key("disable_enable_role").MustBool(false) {
// FIXME: Un-apply role
cmUser, ok := app.storage.GetDiscordKey(user.ID)
if ok {
if err := app.discord.RemoveRole(cmUser.MethodID().(string)); err != nil {
app.err.Printf(lm.FailedSetDiscordMemberRole, err)
}
}
}
status, err = app.jf.DeleteUser(user.ID)