4 Commits

Author SHA1 Message Date
8b001e499a Fix admin roles not applying 2024-07-06 21:02:01 +02:00
62faa6c974 Fix admin roles not applying 2024-07-06 21:01:44 +02:00
2a42301c25 Tabs 2024-07-06 20:44:16 +02:00
7eebc01816 Merge pull request 'ImplDiscordStuff' (#1) from ImplDiscordStuff into main
Reviewed-on: #1
2024-07-06 20:38:45 +02:00
2 changed files with 20 additions and 18 deletions

View File

@ -3,6 +3,7 @@ token = ""
appid = ""
guildid = ""
category_id = ""
admin_roles = [""]
[database]
host = ""
@ -11,4 +12,4 @@ name = ""
username = ""
password = ""
admin_roles = [""]

35
main.go
View File

@ -21,16 +21,16 @@ var (
)
type Config struct {
Discord Discord `toml:"discord"`
Database Database `toml:"database"`
AdminRoles []string `toml:"admin_roles"`
Discord Discord `toml:"discord"`
Database Database `toml:"database"`
}
type Discord struct {
Token string `toml:"token"`
AppID string `toml:"appid"`
GuildID string `toml:"guildid"`
CategoryID string `toml:"category_id"`
Token string `toml:"token"`
AppID string `toml:"appid"`
GuildID string `toml:"guildid"`
CategoryID string `toml:"category_id"`
AdminRoles []string `toml:"admin_roles"`
}
type Database struct {
@ -108,12 +108,11 @@ func getUsernameFromMember(member *discordgo.Member) string {
} else if member.User != nil && member.User.Username != "" {
userName = member.User.Username
} else {
userName = "UnknownUser"
userName = "UnknownUser"
}
return userName
}
var (
commands = []discordgo.ApplicationCommand{
{
@ -230,9 +229,9 @@ var (
ParentID: categoryID,
PermissionOverwrites: []*discordgo.PermissionOverwrite{
{
ID: guildID,
Type: discordgo.PermissionOverwriteTypeRole,
Deny: discordgo.PermissionViewChannel,
ID: guildID,
Type: discordgo.PermissionOverwriteTypeRole,
Deny: discordgo.PermissionViewChannel,
},
},
})
@ -241,8 +240,11 @@ var (
return
}
for _, roleID := range config.AdminRoles {
client.ChannelPermissionSet(channel.ID, roleID, discordgo.PermissionOverwriteTypeRole, discordgo.PermissionViewChannel, 0)
for _, roleID := range config.Discord.AdminRoles {
err := client.ChannelPermissionSet(channel.ID, roleID, discordgo.PermissionOverwriteTypeRole, discordgo.PermissionViewChannel|discordgo.PermissionSendMessages, 0)
if err != nil {
log.Printf("Error setting permissions for role %s: %v", roleID, err)
}
}
err = client.InteractionRespond(i.Interaction, &discordgo.InteractionResponse{
@ -375,10 +377,10 @@ func canCreateTicket(userName, softwareType string) bool {
}
for _, channel := range guildChannels {
if channel.Type == discordgo.ChannelTypeGuildText && channel.ParentID == config.Discord.CategoryID {
if channel.Type == discordgo.ChannelTypeGuildText && channel.ParentID == config.Discord.CategoryID {
expectedName := fmt.Sprintf("reset-%s-%s", softwareType, userName)
if channel.Name == expectedName {
return false
return false
}
}
}
@ -441,4 +443,3 @@ func main() {
db.Close()
}
}