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