Skip to content
Snippets Groups Projects
Select Git revision
  • v1.8.0
  • master default protected
  • v1.7.9
  • v1.7.8
  • v1.7.7
  • v1.7.6
  • v1.7.5
  • v1.7.4
  • v1.7.3
  • v1.7.2
  • v1.7.1
  • v1.7.0
  • v1.6.9
  • v1.6.8
  • v1.6.7
  • v1.6.6
  • v1.6.5
  • v1.6.4
  • v1.6.3
  • v1.6.2
  • v1.6.1
21 results

GuildMemberRemove.go

Blame
  • GuildMemberRemove.go 1.01 KiB
    package events
    
    import (
    	"strings"
    
    	"git.randomchars.net/Reviath/RemiliaScarlet/sql"
    	"github.com/bwmarrin/discordgo"
    )
    
    // GuildMemberRemove is an event handler for guild member remove event
    func GuildMemberRemove(s *discordgo.Session, event *discordgo.GuildMemberRemove) {
    	db := sql.Connect()
    	defer db.Close()
    
    	type Tag struct {
    		channelid    string
    		leavemessage string
    	}
    
    	var tag Tag
    	var leavemessage string
    
    	err := db.QueryRow("SELECT message FROM leavemessage WHERE guildid ='" + event.GuildID + "'").Scan(&tag.leavemessage)
    	if err != nil {
    		leavemessage = "<@" + event.User.ID + "> left the server!"
    	} else {
    		leavemessage = strings.NewReplacer("{mention}", "<@"+event.User.ID+">", "{username}", event.User.Username).Replace(tag.leavemessage)
    	}
    
    	err = db.QueryRow("SELECT channelid FROM leavechannel WHERE guildid ='" + event.GuildID + "'").Scan(&tag.channelid)
    	if err != nil {
    		return
    	}
    	channel, err := s.Channel(tag.channelid)
    	if err != nil {
    		return
    	}
    	s.ChannelMessageSend(channel.ID, leavemessage)
    }