From 692f0bc2888c186d7592ef38210d0cca1fc6afcb Mon Sep 17 00:00:00 2001 From: kageru Date: Fri, 1 Jun 2018 22:32:28 +0200 Subject: [PATCH] added welcome DM on demand --- main.go | 48 ++++++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/main.go b/main.go index 72c8073..ab2d2d3 100755 --- a/main.go +++ b/main.go @@ -75,6 +75,29 @@ func main() { dg.Close() } +func getWelcomeEmbed() *discordgo.MessageEmbed { + return &discordgo.MessageEmbed { + Author: &discordgo.MessageEmbedAuthor{}, + Color: 0xffb90f, + Description: config.WelcomeEmbed.Message, + Fields: []*discordgo.MessageEmbedField { + &discordgo.MessageEmbedField { + Name: config.WelcomeEmbed.QuestionsTitle, + Value: config.WelcomeEmbed.QuestionsText, + Inline: true, + }, + &discordgo.MessageEmbedField { + Name: config.WelcomeEmbed.BugsTitle, + Value: fmt.Sprintf(config.WelcomeEmbed.BugsText, config.AdminID), + Inline: true, + }, + }, + Thumbnail: &discordgo.MessageEmbedThumbnail{ + 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) @@ -84,26 +107,7 @@ func onJoin(s *discordgo.Session, member *discordgo.GuildMemberAdd) { if err != nil { // todo: @mention or something } else { - embed := &discordgo.MessageEmbed { - Author: &discordgo.MessageEmbedAuthor{}, - Color: 0xffb90f, - Description: config.WelcomeEmbed.Message, - Fields: []*discordgo.MessageEmbedField { - &discordgo.MessageEmbedField { - Name: config.WelcomeEmbed.QuestionsTitle, - Value: config.WelcomeEmbed.QuestionsText, - Inline: true, - }, - &discordgo.MessageEmbedField { - Name: config.WelcomeEmbed.BugsTitle, - Value: fmt.Sprintf(config.WelcomeEmbed.BugsText, config.AdminID), - Inline: true, - }, - }, - Thumbnail: &discordgo.MessageEmbedThumbnail{ - URL: config.WelcomeEmbed.Image, - }, - } + 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)