Skip to content

Instantly share code, notes, and snippets.

@CyberFlameGO
Forked from melmsie/main.go
Created December 8, 2021 07:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CyberFlameGO/624aa771c47c5c43906039e9d6e26e25 to your computer and use it in GitHub Desktop.
Save CyberFlameGO/624aa771c47c5c43906039e9d6e26e25 to your computer and use it in GitHub Desktop.
package main
import (
// "encoding/json"
"flag"
"fmt"
"github.com/bwmarrin/discordgo"
"log"
"net/http"
"os"
"os/signal"
"strings"
"syscall"
)
var (
Token string
)
func init() {
flag.StringVar(&Token, "t", "", "Bot Token")
flag.Parse()
}
func main() {
dg, err := discordgo.New("Bot " + Token)
if err != nil {
fmt.Println("error creating Discord session,", err)
return
}
dg.AddHandler(messageCreate)
dg.AddHandler(guildMemberAdd)
dg.AddHandler(ready)
err = dg.Open()
if err != nil {
fmt.Println("error opening connection,", err)
return
}
fmt.Println("Bot is now running. Press CTRL-C to exit.")
sc := make(chan os.Signal, 1)
signal.Notify(sc, syscall.SIGINT, syscall.SIGTERM, os.Interrupt, os.Kill)
<-sc
dg.Close()
}
func ready(s *discordgo.Session, event *discordgo.Ready) {
s.UpdateStatus(0, "im a private bot, leave me alone")
}
func guildMemberAdd(s *discordgo.Session, event *discordgo.GuildMemberAdd) {
if event.Member.GuildID == "397472167631257600" {
avatarUrl := event.Member.User.AvatarURL("")
httpclient := &http.Client{}
req, err := http.NewRequest("GET", "https://dankmemer.services/api/magik?avatar1="+avatarUrl, nil)
if err != nil {
log.Println("error1:", err)
return
}
req.Header.Add("Authorization", "")
res, err := httpclient.Do(req)
if err != nil {
log.Println("error2:", err)
return
}
mention := "<@" + event.Member.User.ID + ">"
s.ChannelFileSendWithMessage("491108957562208286", "Welcome to Dank Memer's server, " + mention + "\nBe sure to check out the <#397477712836689940>!" , "magik.png", res.Body)
defer res.Body.Close()
}
}
func messageCreate(s *discordgo.Session, m *discordgo.MessageCreate) {
if m.Author.ID == s.State.User.ID || !strings.HasSuffix(m.Content, " pls") {
return
}
if strings.HasPrefix(m.Content, "what is this bot") {
s.ChannelMessageSend(m.ChannelID, "idk kinda pointless so far, will eventually give patrons their roles")
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment