39 lines
763 B
Go
39 lines
763 B
Go
package main
|
|
|
|
import (
|
|
"bridge/internal/config"
|
|
"bridge/internal/telegram"
|
|
"bridge/internal/vk"
|
|
"log/slog"
|
|
"os"
|
|
|
|
prettyLogger "github.com/charmbracelet/log"
|
|
)
|
|
|
|
func main() {
|
|
// get config
|
|
cfg := config.MustLoad()
|
|
logger := setupLogger()
|
|
// create chan
|
|
video_links := make(chan string, cfg.Workers)
|
|
// vk
|
|
vk, err := vk.New(logger, cfg.VkAPIKey, video_links)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
// tg
|
|
tg, err := telegram.New(logger, cfg.TgAPIKey, cfg.TgChatID, video_links)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
// run
|
|
tg.Run(cfg.Workers)
|
|
vk.MustRun()
|
|
}
|
|
|
|
func setupLogger() *slog.Logger {
|
|
var log *slog.Logger
|
|
handler := prettyLogger.NewWithOptions(os.Stdout, prettyLogger.Options{Level: prettyLogger.DebugLevel})
|
|
log = slog.New(handler)
|
|
return log
|
|
}
|