added welcome DM on demand

This commit is contained in:
kageru 2018-06-01 22:32:28 +02:00
parent 778852666c
commit 692f0bc288

28
main.go
View File

@ -75,16 +75,8 @@ func main() {
dg.Close()
}
func onJoin(s *discordgo.Session, member *discordgo.GuildMemberAdd) {
if !member.User.Bot && config.RequireAccept {
s.GuildMemberRoleAdd(config.ServerID, member.User.ID, config.LockedRoleID)
}
if !member.User.Bot && config.SendWelcomeDM {
dm, err := s.UserChannelCreate(member.User.ID)
if err != nil {
// todo: @mention or something
} else {
embed := &discordgo.MessageEmbed {
func getWelcomeEmbed() *discordgo.MessageEmbed {
return &discordgo.MessageEmbed {
Author: &discordgo.MessageEmbedAuthor{},
Color: 0xffb90f,
Description: config.WelcomeEmbed.Message,
@ -104,6 +96,18 @@ func onJoin(s *discordgo.Session, member *discordgo.GuildMemberAdd) {
URL: config.WelcomeEmbed.Image,
},
}
}
func onJoin(s *discordgo.Session, member *discordgo.GuildMemberAdd) {
if !member.User.Bot && config.RequireAccept {
s.GuildMemberRoleAdd(config.ServerID, member.User.ID, config.LockedRoleID)
}
if !member.User.Bot && config.SendWelcomeDM {
dm, err := s.UserChannelCreate(member.User.ID)
if err != nil {
// todo: @mention or something
} else {
embed := getWelcomeEmbed()
s.ChannelMessageSendEmbed(dm.ID, embed)
}
}
@ -162,6 +166,10 @@ func receivedDM(s *discordgo.Session, m *discordgo.MessageCreate) {
fmt.Sprintf("Received DM from %s with content: “%s”", userToString(m.Author), m.Content)
Member, _ := s.GuildMember(config.ServerID, m.Author.ID)
dm, _ := s.UserChannelCreate(Member.User.ID)
if m.Content == "!welcome" {
s.ChannelMessageSendEmbed(dm.ID, getWelcomeEmbed())
return
}
if strings.HasPrefix(m.Content, "!complain") {
redirectComplaint(s, m)
s.ChannelMessageSend(dm.ID, config.ComplaintReceivedMessage)