forked from kageru/discord-selphybot
cleanup and fluff
parent
d8732a06c1
commit
ce83264a39
@ -1,28 +1,8 @@
|
||||
{
|
||||
"Token": "your login token",
|
||||
"Token": "token",
|
||||
"Admins": [
|
||||
"your user ID",
|
||||
"another admin ID"
|
||||
],
|
||||
"ServerID": "the server the bot will be running on",
|
||||
"RequireAccept": false,
|
||||
"LockedRoleID": "the role to be given to locked users (readme)",
|
||||
"WelcomeChannel": "channel for welcome messages",
|
||||
"GeneralChannel": "channel to @mention users who disabled their DMs",
|
||||
"SendWelcomeDM": true,
|
||||
"ModChannel": "channel for anonymous complaints",
|
||||
"ComplaintReceivedMessage": "Complaint received.",
|
||||
"RoleCommands": {
|
||||
"!u18": "role id for users under 18",
|
||||
"!18+": "role over 18",
|
||||
"!18": "aliases are possible, so this could be the same role as above"
|
||||
},
|
||||
"WelcomeEmbed": {
|
||||
"Message": "Welcome, new user. this message will be part of an embed",
|
||||
"QuestionsTitle": "__Questions__",
|
||||
"QuestionsText": "pls ask the mods. kthxbye",
|
||||
"BugsTitle": "__Bugs__",
|
||||
"BugsText": "please ask <@%s>. (this will be formatted with Admins[0] above",
|
||||
"Image": "https://static-cdn.jtvnw.net/emoticons/v1/970966/3.0"
|
||||
}
|
||||
"ServerID": "356414885292277771"
|
||||
}
|
||||
|
@ -1,55 +0,0 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/bwmarrin/discordgo"
|
||||
"log"
|
||||
)
|
||||
|
||||
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 {
|
||||
log.Println(fmt.Sprintf("Error creating DM with %s", userToString(member.User), err))
|
||||
} else {
|
||||
embed := getWelcomeEmbed()
|
||||
_, err = s.ChannelMessageSendEmbed(dm.ID, embed)
|
||||
if err != nil {
|
||||
log.Println(fmt.Sprintf("Error sending DM to %s", userToString(member.User), err))
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
// if any of the preceding operations produced an error
|
||||
log.Printf("Sending welcome @mention at %s", userToString(member.User))
|
||||
s.ChannelMessageSend(config.GeneralChannel, fmt.Sprintf("Wilkommen <@%s>. Bitte aktiviere vorübergehend DMs für diesen Server und sende eine Nachricht mit !welcome an mich.", member.User.ID))
|
||||
}
|
||||
}
|
||||
log.Printf("User joined: %s", userToString(member.User))
|
||||
}
|
||||
|
||||
func onDM(s *discordgo.Session, m *discordgo.MessageCreate) {
|
||||
log.Printf("Received DM from %s with content: “%s”", userToString(m.Author), m.Content)
|
||||
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)
|
||||
for comm, role := range config.RoleCommands {
|
||||
if m.Content == comm {
|
||||
for _, irole := range config.RoleCommands {
|
||||
for _, mrole := range Member.Roles {
|
||||
if irole == mrole {
|
||||
s.ChannelMessageSend(dm.ID, "Baka, du kannst nur eine der Rollen haben.")
|
||||
log.Printf("Denied Role %s to %s. User already has %s", roleName(s.State, irole), userToString(m.Author), roleName(s.State, irole))
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
log.Printf("Giving Role %s to %s", roleName(s.State, role), userToString(m.Author))
|
||||
s.ChannelMessageSend(dm.ID, "Haaai, Ryoukai desu~")
|
||||
s.GuildMemberRoleAdd(config.ServerID, m.Author.ID, role)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,29 +0,0 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/discordgo"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
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.Admins[0]),
|
||||
Inline: true,
|
||||
},
|
||||
},
|
||||
Thumbnail: &discordgo.MessageEmbedThumbnail{
|
||||
URL: config.WelcomeEmbed.Image,
|
||||
},
|
||||
}
|
||||
}
|
Loading…
Reference in new issue