feat(lib,bot): start bot on Bot struct initialization
This commit is contained in:
@@ -69,7 +69,7 @@ func main() {
|
||||
logger.Info("Connection to database closed", slog.String("file", *database_file))
|
||||
}()
|
||||
|
||||
err = dislate.Run(*discord_token, dislate.RunOptions{
|
||||
err = dislate.Start(*discord_token, dislate.RunOptions{
|
||||
DB: db,
|
||||
Translator: translator.NewMockTranslator(),
|
||||
Logger: logger,
|
||||
|
||||
@@ -16,10 +16,10 @@ type RunOptions struct {
|
||||
Logger *slog.Logger
|
||||
}
|
||||
|
||||
func Run(token string, opts ...RunOptions) error {
|
||||
func Start(token string, opts ...RunOptions) error {
|
||||
var err error
|
||||
|
||||
dislate, err = bot.New(token)
|
||||
dislate, err = bot.Start(token)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -27,5 +27,4 @@ func Run(token string, opts ...RunOptions) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func Stop() error {
|
||||
}
|
||||
func Stop() error { return dislate.Stop() }
|
||||
|
||||
27
lib/bot.go
27
lib/bot.go
@@ -5,11 +5,10 @@ import (
|
||||
)
|
||||
|
||||
type Bot struct {
|
||||
session *discordgo.Session
|
||||
commands []Command
|
||||
session *discordgo.Session
|
||||
}
|
||||
|
||||
func New(token string) (*Bot, error) {
|
||||
func Start(token string) (*Bot, error) {
|
||||
s, err := discordgo.New("Bot " + token)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -17,17 +16,21 @@ func New(token string) (*Bot, error) {
|
||||
|
||||
s.Identify.Intents = discordgo.MakeIntent(discordgo.IntentsAllWithoutPrivileged)
|
||||
|
||||
return &Bot{
|
||||
session: s,
|
||||
commands: []Command{},
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (b *Bot) Start() error {
|
||||
if err := b.session.Open(); err != nil {
|
||||
return err
|
||||
if err := s.Open(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
bot := &Bot{
|
||||
session: s,
|
||||
}
|
||||
|
||||
return bot, nil
|
||||
}
|
||||
|
||||
func (b *Bot) Stop() error {
|
||||
if err := b.session.Close(); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user