| 123456789101112131415161718192021222324252627282930313233343536373839 |
- package cmd
- import (
- "log/slog"
- "github.com/ayn2op/discordo/internal/config"
- "github.com/ayn2op/discordo/internal/consts"
- "github.com/ayn2op/discordo/internal/logger"
- "github.com/zalando/go-keyring"
- )
- var (
- discordState *State
- app *App
- )
- func Run(token string) error {
- if err := logger.Load(); err != nil {
- return err
- }
- // If no token was provided, look it up in the keyring.
- if token == "" {
- tok, err := keyring.Get(consts.Name, "token")
- if err != nil {
- slog.Info("failed to get token from keyring", "err", err)
- } else {
- token = tok
- }
- }
- cfg, err := config.Load()
- if err != nil {
- return err
- }
- app = newApp(cfg)
- return app.run(token)
- }
|