chore: Adding command line arguments

This commit is contained in:
Siwoo Jeon 2025-04-13 10:42:32 +09:00
parent 5ad31ab926
commit 128a0a02a4
Signed by: migan
GPG key ID: 036E9A8C5E8E48DA
3 changed files with 26 additions and 15 deletions

16
main.go
View file

@ -2,9 +2,11 @@ package main
import (
"context"
"fmt"
"log"
"os"
"os/signal"
"strings"
"syscall"
"time"
@ -13,12 +15,26 @@ import (
"git.wh64.net/muffin/goMuffin/configs"
"git.wh64.net/muffin/goMuffin/databases"
"git.wh64.net/muffin/goMuffin/handler"
dbmigrate "git.wh64.net/muffin/goMuffin/scripts/dbMigrate"
deleteallcommands "git.wh64.net/muffin/goMuffin/scripts/deleteAllCommands"
"github.com/bwmarrin/discordgo"
)
func main() {
config := configs.Config
if len(os.Args) > 1 {
switch strings.ToLower(os.Args[1]) {
case "dbmigrate":
dbmigrate.DBMigrate()
case "deleteallcommands":
deleteallcommands.DeleteAllCommands()
default:
panic(fmt.Errorf("[goMuffin] 명령어 인자에는 dbmigrate나 deleteallcommands만 올 수 있어요."))
}
return
}
dg, err := discordgo.New("Bot " + config.Bot.Token)
if err != nil {
log.Println("[goMuffin] 봇의 세션을 만들수가 없어요.")

View file

@ -1,4 +1,4 @@
package main
package dbmigrate
import (
"context"
@ -18,7 +18,7 @@ import (
var wg sync.WaitGroup
// 이 스크립트는 MariaDB -> MongoDB로의 전환을 위해 만들었음.
func main() {
func DBMigrate() {
mariaURL := os.Getenv("PREVIOUS_DATABASE_URL")
mongoURL := configs.Config.DatabaseURL

View file

@ -1,4 +1,4 @@
package main
package deleteallcommands
import (
"flag"
@ -8,29 +8,24 @@ import (
"os"
"strings"
"git.wh64.net/muffin/goMuffin/configs"
"github.com/bwmarrin/discordgo"
"github.com/joho/godotenv"
)
func main() {
godotenv.Load()
func DeleteAllCommands() {
var answer string
id := flag.String("id", "", "discordBot's token")
id := flag.String("id", "", "디스코드 봇의 토큰")
flag.Parse()
fmt.Printf("Do you want to delete all commands? [y/N]: ")
fmt.Printf("정말로 모든 명령어를 삭제하시겠어요? [y/N]: ")
fmt.Scanf("%s", &answer)
if strings.ToLower(answer) != "y" {
if strings.ToLower(answer) != "y" && strings.ToLower(answer) != "yes" {
os.Exit(1)
}
if os.Getenv("BOT_TOKEN") == "" {
panic(fmt.Errorf("You need a BOT_TOKEN environment."))
}
if *id == "" {
panic(fmt.Errorf("You need a --id flag value."))
panic(fmt.Errorf("--id 플래그의 값이 필요해요."))
}
c := http.Client{}
@ -39,7 +34,7 @@ func main() {
panic(err)
}
req.Header.Add("Authorization", "Bot "+os.Getenv("BOT_TOKEN"))
req.Header.Add("Authorization", "Bot "+configs.Config.Bot.Token)
resp, err := c.Do(req)
if err != nil {