123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- package main
- import (
- "flag"
- "fmt"
- "os"
- "os/signal"
- "syscall"
- "github.com/bwmarrin/discordgo"
- )
- 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.Identify.Intents = discordgo.IntentsGuildMessages
-
- 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 messageCreate(s *discordgo.Session, m *discordgo.MessageCreate) {
-
-
- if m.Author.ID == s.State.User.ID {
- return
- }
-
- if m.Content != "ping" {
- return
- }
-
- channel, err := s.UserChannelCreate(m.Author.ID)
- if err != nil {
-
-
-
-
-
-
-
- fmt.Println("error creating channel:", err)
- s.ChannelMessageSend(
- m.ChannelID,
- "Something went wrong while sending the DM!",
- )
- return
- }
-
- _, err = s.ChannelMessageSend(channel.ID, "Pong!")
- if err != nil {
-
-
-
-
-
- fmt.Println("error sending DM message:", err)
- s.ChannelMessageSend(
- m.ChannelID,
- "Failed to send you a DM. "+
- "Did you disable DM in your privacy settings?",
- )
- }
- }
|