Delete channel once request is accepted/declined
This commit is contained in:
parent
71bec93b58
commit
d7c884bf1d
105
main.go
105
main.go
@ -183,7 +183,7 @@ var (
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Flags: discordgo.MessageFlagsEphemeral,
|
Flags: discordgo.MessageFlagsEphemeral,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -259,55 +259,62 @@ var (
|
|||||||
log.Println("Error sending message to the ticket channel:", err)
|
log.Println("Error sending message to the ticket channel:", err)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"accept": func(client *discordgo.Session, i *discordgo.InteractionCreate) {
|
|
||||||
data := i.MessageComponentData().CustomID
|
|
||||||
parts := strings.Split(data, "_")
|
|
||||||
if len(parts) != 3 {
|
|
||||||
log.Println("Invalid accept button custom ID")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
userID := parts[1]
|
|
||||||
softwareType := parts[2]
|
|
||||||
|
|
||||||
|
"accept": func(client *discordgo.Session, i *discordgo.InteractionCreate) {
|
||||||
member, err := client.GuildMember(i.GuildID, userID)
|
data := i.MessageComponentData().CustomID
|
||||||
if err != nil {
|
parts := strings.Split(data, "_")
|
||||||
log.Println("Error fetching member info:", err)
|
if len(parts) != 3 {
|
||||||
return
|
log.Println("Invalid accept button custom ID")
|
||||||
}
|
return
|
||||||
var userName string
|
}
|
||||||
if member.Nick != "" {
|
userID := parts[1]
|
||||||
userName = member.Nick
|
softwareType := parts[2]
|
||||||
} else if member.User.GlobalName != "" {
|
|
||||||
userName = member.User.GlobalName
|
|
||||||
} else {
|
|
||||||
userName = member.User.Username
|
|
||||||
}
|
|
||||||
|
|
||||||
reset(userName, softwareType)
|
member, err := client.GuildMember(i.GuildID, userID)
|
||||||
|
if err != nil {
|
||||||
|
log.Println("Error fetching member info:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var userName string
|
||||||
|
if member.Nick != "" {
|
||||||
|
userName = member.Nick
|
||||||
|
} else if member.User.GlobalName != "" {
|
||||||
|
userName = member.User.GlobalName
|
||||||
|
} else {
|
||||||
|
userName = member.User.Username
|
||||||
|
}
|
||||||
|
|
||||||
err = client.InteractionRespond(i.Interaction, &discordgo.InteractionResponse{
|
reset(userName, softwareType)
|
||||||
Type: discordgo.InteractionResponseChannelMessageWithSource,
|
|
||||||
Data: &discordgo.InteractionResponseData{
|
|
||||||
Content: "Request accepted and processed.",
|
|
||||||
Flags: discordgo.MessageFlagsEphemeral,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
log.Println("Error sending interaction response:", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
dmChannel, err := client.UserChannelCreate(userID)
|
err = client.InteractionRespond(i.Interaction, &discordgo.InteractionResponse{
|
||||||
if err != nil {
|
Type: discordgo.InteractionResponseChannelMessageWithSource,
|
||||||
log.Println("Error creating DM channel:", err)
|
Data: &discordgo.InteractionResponseData{
|
||||||
return
|
Content: "Request accepted and processed.",
|
||||||
}
|
Flags: discordgo.MessageFlagsEphemeral,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
log.Println("Error sending interaction response:", err)
|
||||||
|
}
|
||||||
|
|
||||||
_, err = client.ChannelMessageSend(dmChannel.ID, fmt.Sprintf("Your reset request for %s has been accepted and processed.", softwareType))
|
|
||||||
if err != nil {
|
_,err = client.ChannelDelete(i.ChannelID)
|
||||||
log.Println("Error sending DM:", err)
|
if err != nil {
|
||||||
}
|
log.Println("Error deleting channel:", err)
|
||||||
},
|
}
|
||||||
|
|
||||||
|
|
||||||
|
dmChannel, err := client.UserChannelCreate(userID)
|
||||||
|
if err != nil {
|
||||||
|
log.Println("Error creating DM channel:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = client.ChannelMessageSend(dmChannel.ID, fmt.Sprintf("Your reset request for %s has been accepted and processed.", softwareType))
|
||||||
|
if err != nil {
|
||||||
|
log.Println("Error sending DM:", err)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
"decline": func(client *discordgo.Session, i *discordgo.InteractionCreate) {
|
"decline": func(client *discordgo.Session, i *discordgo.InteractionCreate) {
|
||||||
data := i.MessageComponentData().CustomID
|
data := i.MessageComponentData().CustomID
|
||||||
@ -317,7 +324,6 @@ var (
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
userID := parts[1]
|
userID := parts[1]
|
||||||
|
|
||||||
|
|
||||||
err := client.InteractionRespond(i.Interaction, &discordgo.InteractionResponse{
|
err := client.InteractionRespond(i.Interaction, &discordgo.InteractionResponse{
|
||||||
Type: discordgo.InteractionResponseChannelMessageWithSource,
|
Type: discordgo.InteractionResponseChannelMessageWithSource,
|
||||||
@ -330,6 +336,13 @@ var (
|
|||||||
log.Println("Error sending interaction response:", err)
|
log.Println("Error sending interaction response:", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
_,err = client.ChannelDelete(i.ChannelID)
|
||||||
|
if err != nil {
|
||||||
|
log.Println("Error deleting channel:", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
dmChannel, err := client.UserChannelCreate(userID)
|
dmChannel, err := client.UserChannelCreate(userID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("Error creating DM channel:", err)
|
log.Println("Error creating DM channel:", err)
|
||||||
|
Loading…
Reference in New Issue
Block a user