Compare commits
4 Commits
ImplDiscor
...
8b001e499a
Author | SHA1 | Date | |
---|---|---|---|
8b001e499a
|
|||
62faa6c974
|
|||
2a42301c25
|
|||
7eebc01816 |
@ -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
35
main.go
@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user