2021-07-18 21:23:12 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
2024-10-28 16:57:26 +00:00
|
|
|
"database/sql"
|
2021-07-18 21:23:12 +00:00
|
|
|
"github.com/gin-contrib/cors"
|
|
|
|
"github.com/gin-gonic/gin"
|
2024-10-28 16:57:26 +00:00
|
|
|
_ "github.com/glebarez/go-sqlite"
|
2021-07-18 21:23:12 +00:00
|
|
|
"log"
|
|
|
|
)
|
|
|
|
|
|
|
|
type session struct {
|
2024-10-28 16:57:26 +00:00
|
|
|
*sql.DB
|
|
|
|
WebhookDomain string
|
|
|
|
Config config
|
2021-07-18 21:23:12 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
|
2024-10-28 16:57:26 +00:00
|
|
|
log.Println("Preparing DeletedBot...")
|
2021-07-18 21:23:12 +00:00
|
|
|
|
2024-10-28 16:57:26 +00:00
|
|
|
conf := getConfig()
|
2021-07-18 21:23:12 +00:00
|
|
|
|
2024-10-28 16:57:26 +00:00
|
|
|
db, err := sql.Open("sqlite", conf.DbPath)
|
2021-07-18 21:23:12 +00:00
|
|
|
if err != nil {
|
2024-10-28 16:57:26 +00:00
|
|
|
log.Fatal("Couldn't connect to database: ", err.Error())
|
2021-07-18 21:23:12 +00:00
|
|
|
}
|
2024-10-28 16:57:26 +00:00
|
|
|
defer db.Close()
|
2021-07-18 21:23:12 +00:00
|
|
|
|
2024-10-28 16:57:26 +00:00
|
|
|
ses := &session{DB: db, WebhookDomain: conf.WebhookDomain, Config: conf}
|
|
|
|
ses.initDatabase()
|
2021-07-18 21:23:12 +00:00
|
|
|
|
2024-10-28 16:57:26 +00:00
|
|
|
gin.SetMode(gin.ReleaseMode)
|
2021-07-18 21:23:12 +00:00
|
|
|
r := gin.Default()
|
|
|
|
r.Use(cors.Default())
|
|
|
|
|
2024-10-28 16:57:26 +00:00
|
|
|
conf.serveFrontend(r)
|
|
|
|
|
|
|
|
api := r.Group("/api")
|
|
|
|
api.POST("/setbot", ses.setBot)
|
|
|
|
api.POST("/telegram/:token", ses.telegram)
|
2021-07-18 21:23:12 +00:00
|
|
|
|
2024-10-28 16:57:26 +00:00
|
|
|
admin := api.Group("/admin", gin.BasicAuth(gin.Accounts{conf.AdminUsername: conf.AdminPassword}))
|
2021-07-18 21:23:12 +00:00
|
|
|
admin.POST("/getbots", ses.getBots)
|
|
|
|
admin.POST("/unsetbot", ses.unsetBot)
|
|
|
|
|
2024-10-28 16:57:26 +00:00
|
|
|
log.Println("Starting to serve on " + conf.Host + ":" + conf.Port)
|
|
|
|
err = r.Run(conf.Host + ":" + conf.Port)
|
|
|
|
if err != nil {
|
|
|
|
log.Fatal("Couldn't start server: ", err.Error())
|
|
|
|
}
|
2021-07-18 21:23:12 +00:00
|
|
|
|
|
|
|
}
|