Skip to content

Commit 6155a91

Browse files
committed
First setup
1 parent 94afaca commit 6155a91

1 file changed

Lines changed: 55 additions & 0 deletions

File tree

main.go

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package main
2+
3+
import (
4+
"fmt"
5+
"log"
6+
"os"
7+
8+
"github.com/bwmarrin/discordgo"
9+
)
10+
11+
var Token string
12+
13+
// Este é o handler para quando o bot receber uma mensagem
14+
func messageCreate(s *discordgo.Session, m *discordgo.MessageCreate) {
15+
// Ignorar mensagens do próprio bot
16+
if m.Author.ID == s.State.User.ID {
17+
return
18+
}
19+
20+
// Responder ao comando !ping com "Pong!"
21+
if m.Content == "!ping" {
22+
s.ChannelMessageSend(m.ChannelID, "Pong!")
23+
}
24+
}
25+
26+
func main() {
27+
// Pega o token do bot a partir da variável de ambiente
28+
Token = os.Getenv("DISCORD_TOKEN")
29+
if Token == "" {
30+
log.Fatal("Token do Discord não encontrado")
31+
}
32+
33+
// Cria uma nova sessão do bot
34+
dg, err := discordgo.New("Bot " + Token)
35+
if err != nil {
36+
fmt.Println("Erro ao criar a sessão do bot:", err)
37+
return
38+
}
39+
40+
// Adiciona um handler para a criação de mensagens
41+
dg.AddMessageCreateHandler(messageCreate)
42+
43+
// Abre uma conexão com o WebSocket do Discord
44+
err = dg.Open()
45+
if err != nil {
46+
fmt.Println("Erro ao conectar ao Discord:", err)
47+
return
48+
}
49+
defer dg.Close()
50+
51+
fmt.Println("Bot está ativo. Pressione Ctrl+C para sair.")
52+
53+
// Espera até que o bot seja fechado
54+
select {}
55+
}

0 commit comments

Comments
 (0)