-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.go
70 lines (57 loc) · 1.5 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package main
import (
"flag"
"fmt"
"log"
"os"
"time"
"github.com/bwmarrin/discordgo"
"github.com/vharitonsky/iniflags"
)
var (
botID string
usingDeepSeekR1 bool
)
var (
discordBotToken = flag.String("token", "", "Discord Bot Token")
youtubeAPIKey = flag.String("youtube", "", "Youtube API Key with search permissions")
printVersion = flag.Bool("v", false, "Display current version")
groqKey = flag.String("groq", "", "Groq API Key")
groqModel = flag.String("model", "mixtral-8x7b-32768", "AI Model")
)
func main() {
iniflags.Parse()
if *printVersion {
fmt.Println(appVersion)
os.Exit(0)
}
// Create a new Discord session using the provided bot token.
dg, err := discordgo.New("Bot " + *discordBotToken)
if err != nil {
log.Fatalln("error creating Discord session,", err)
}
log.Println("Discord session created")
// Get the account information.
u, err := dg.User("@me")
if err != nil {
log.Fatalln("error obtaining account details,", err)
}
log.Println("Got bot details")
botID = u.ID
usingDeepSeekR1 = *groqModel == `deepseek-r1-distill-llama-70b`
//here we add the functions
dg.AddHandler(personality)
dg.AddHandler(command)
log.Println("Handlers added")
if err := dg.Open(); err != nil {
log.Fatalln("error opening connection,", err)
}
log.Println("Discord opened")
timeOut := time.NewTicker(time.Second * 5)
for {
at := <-timeOut.C
if err := dg.Open(); err != discordgo.ErrWSAlreadyOpen {
log.Printf("%v occured at:%v\n", err, at)
}
}
}