diff --git a/main.go b/main.go index 287aa98..7b4e1f2 100644 --- a/main.go +++ b/main.go @@ -6,15 +6,15 @@ import ( "github.com/spf13/viper" "golang.org/x/net/proxy" tb "gopkg.in/tucnak/telebot.v2" - "log" "net/http" - "os" "time" ) var ( BotToken string Socks5 string + bot *tb.Bot + db *sql.DB ) const ( @@ -23,59 +23,54 @@ const ( ) func init() { + //read config viper.SetConfigName("config") viper.AddConfigPath(".") err := viper.ReadInConfig() CheckErr(err) BotToken = viper.GetString("bot_token") Socks5 = viper.GetString("socks5") - -} -func main() { + //set bot botsettings := tb.Settings{ Token: BotToken, Poller: &tb.LongPoller{Timeout: 10 * time.Second}, } + //set socks5 if Socks5 != "" { fmt.Println("Proxy:" + Socks5) dialer, err := proxy.SOCKS5("tcp", Socks5, nil, proxy.Direct) - if err != nil { - log.Fatal("Error creating dialer, aborting.") - } + CheckErr(err) httpTransport := &http.Transport{} httpClient := &http.Client{Transport: httpTransport} httpTransport.Dial = dialer.Dial botsettings.Client = httpClient } - db, err := sql.Open(dbDriverName, dbName) + //create bot + bot, err = tb.NewBot(botsettings) CheckErr(err) - if !FileExist(dbName) { - CreateTB(db) - } - b, err := tb.NewBot(botsettings) + + //sqlite init + db, err = sql.Open(dbDriverName, dbName) CheckErr(err) + CreateTB(db) +} +func main() { + BotStart() //b.Handle(tb.OnText, func(m *tb.Message) { // b.Send(m.Sender, "hello world") //}) - b.Start() + //b.Start() } -func CheckErr(err error) bool { - if err != nil { - log.Println(err) - fmt.Println("error: ", err.Error()) - panic(err) - return false - } - return true +func BotStart() { + makeHandle() + bot.Start() } -func FileExist(Path string) bool { - if _, err := os.Stat(Path); err != nil { - if os.IsNotExist(err) { - return false - } else { - CheckErr(err) - } - } - return true +func makeHandle() { + bot.Handle("/start", bStart) + bot.Handle("/my", bMy) + bot.Handle("/bind", bBind) + bot.Handle("/about", bAbout) + bot.Handle(tb.OnText, bOnText) + //bot.Handle(tb.InlineButton{Unique: ""}) }