added autojoinroles without permissioncheck

This commit is contained in:
2024-03-04 14:37:14 +01:00
parent eb6a2dbc5c
commit 031d8ee81d
5 changed files with 69 additions and 33 deletions

View File

@@ -237,12 +237,17 @@ func getFormType(formManageID string) string {
}
func setAutoJoinRole(guildID string, option string, roleID string) bool {
var exists bool
err := db.QueryRow("SELECT EXISTS (SELECT 1 FROM autojoinroles WHERE guild_id = $1)", guildID).Scan(&exists)
var role_exists bool
var autojoinroles_exists bool
err := db.QueryRow("SELECT EXISTS (SELECT 1 FROM autojoinroles WHERE guild_id = $1)", guildID).Scan(&autojoinroles_exists)
if err != nil {
log.Println(err)
}
if exists {
err = db.QueryRow("SELECT EXISTS (SELECT 1 FROM autojoinroles WHERE guild_id = $1 AND "+option+"_role IS NOT NULL AND "+option+"_role != '')", guildID).Scan(&role_exists)
if err != nil {
log.Println(err)
}
if autojoinroles_exists {
_, err = db.Exec("UPDATE autojoinroles SET "+option+"_role = $1 WHERE guild_id = $2", roleID, guildID)
if err != nil {
log.Println(err)
@@ -253,5 +258,27 @@ func setAutoJoinRole(guildID string, option string, roleID string) bool {
log.Println(err)
}
}
return exists
return role_exists
}
func purgeUnusedAutoJoinRoles(guildID string) {
_, err := db.Exec("DELETE FROM autojoinroles WHERE guild_id = $1 AND user_role = '' OR user_role IS NULL AND bot_role = '' OR bot_role IS NULL", guildID)
if err != nil {
log.Println(err)
}
}
func getAutoJoinRole(guildID string, isBot bool) string {
var isBotString string
var role string
if isBot {
isBotString = "bot"
} else {
isBotString = "user"
}
err := db.QueryRow("SELECT "+isBotString+"_role FROM autojoinroles WHERE guild_id = $1", guildID).Scan(&role)
if err != nil {
log.Println(err, guildID)
}
return role
}