Compare commits

..

No commits in common. "965a976d44f19c3eac32733289aa5bb209c5b38f" and "1b6e35cd6cf4406ccb828659d27f99edbf8dcb1f" have entirely different histories.

4 changed files with 26 additions and 29 deletions

View file

@ -4,8 +4,6 @@ import (
"github.com/bwmarrin/discordgo" "github.com/bwmarrin/discordgo"
) )
// type messageRun func(s *discordgo.Session, m *discordgo.MessageCreate)
type DetailedDescription struct { type DetailedDescription struct {
Usage string Usage string
Examples []string Examples []string
@ -19,21 +17,15 @@ type Command struct {
} }
type DiscommandStruct struct { type DiscommandStruct struct {
Commands map[string]Command Commands map[string]Command
Aliases map[string]string Aliases map[string]string
messageRuns map[string]interface{}
} }
func new() *DiscommandStruct { func new() *DiscommandStruct {
discommand := DiscommandStruct{ discommand := DiscommandStruct{}
Commands: map[string]Command{}, discommand.Commands = make(map[string]Command)
Aliases: map[string]string{}, discommand.Aliases = make(map[string]string)
messageRuns: map[string]interface{}{},
}
discommand.loadCommands(HelpCommand) discommand.loadCommands(HelpCommand)
discommand.addMessageRun(HelpCommand.Name, HelpCommand.helpMessageRun)
return &discommand return &discommand
} }
@ -46,13 +38,12 @@ func (d *DiscommandStruct) loadCommands(command Command) {
} }
} }
func (d *DiscommandStruct) addMessageRun(name string, run func(s *discordgo.Session, m *discordgo.MessageCreate)) {
d.messageRuns[name] = run
}
func (d *DiscommandStruct) MessageRun(command string, s *discordgo.Session, m *discordgo.MessageCreate) { func (d *DiscommandStruct) MessageRun(command string, s *discordgo.Session, m *discordgo.MessageCreate) {
// 더욱 나아진 // 극한의 하드코딩 으아악
d.messageRuns[command].(func(s *discordgo.Session, m *discordgo.MessageCreate))(s, m) switch command {
case "도움말":
HelpCommand.MessageRun(s, m)
}
} }
var Discommand *DiscommandStruct = new() var Discommand *DiscommandStruct = new()

View file

@ -1,10 +1,6 @@
package commands package commands
import ( import "github.com/bwmarrin/discordgo"
"fmt"
"github.com/bwmarrin/discordgo"
)
var HelpCommand Command = Command{ var HelpCommand Command = Command{
Name: "도움말", Name: "도움말",
@ -16,7 +12,6 @@ var HelpCommand Command = Command{
}, },
} }
func (c *Command) helpMessageRun(s *discordgo.Session, m *discordgo.MessageCreate) { func (c *Command) MessageRun(s *discordgo.Session, m *discordgo.MessageCreate) {
fmt.Println(c.Name)
s.ChannelMessageSend(m.ChannelID, "asdf") s.ChannelMessageSend(m.ChannelID, "asdf")
} }

View file

@ -8,7 +8,7 @@ import (
"github.com/joho/godotenv" "github.com/joho/godotenv"
) )
var MUFFIN_VERSION = "0.0.0-gopher_canary.250325a" var MUFFIN_VERSION = "0.0.0-gopher_canary.250324a"
type botConfig struct { type botConfig struct {
Token string Token string

View file

@ -44,6 +44,7 @@ func MessageCreate(s *discordgo.Session, m *discordgo.MessageCreate) {
var learnDatas []databases.Learn var learnDatas []databases.Learn
var filter bson.D var filter bson.D
ch := make(chan bool)
x := rand.Intn(5) x := rand.Intn(5)
channel, _ := s.Channel(m.ChannelID) channel, _ := s.Channel(m.ChannelID)
@ -75,8 +76,18 @@ func MessageCreate(s *discordgo.Session, m *discordgo.MessageCreate) {
log.Fatalln(err) log.Fatalln(err)
} }
tCur.All(context.TODO(), &datas) go func() {
lCur.All(context.TODO(), &learnDatas) defer func() {
tCur.Close(context.TODO())
lCur.Close(context.TODO())
}()
tCur.All(context.TODO(), &datas)
lCur.All(context.TODO(), &learnDatas)
ch <- true
}()
<-ch
if x > 2 && len(learnDatas) != 0 { if x > 2 && len(learnDatas) != 0 {
data := learnDatas[rand.Intn(len(learnDatas))] data := learnDatas[rand.Intn(len(learnDatas))]