move out new user declaration into db file
This commit is contained in:
parent
b770b2c5dc
commit
4c0d2ec3a3
@ -1,6 +1,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"log"
|
||||||
"errors"
|
"errors"
|
||||||
|
|
||||||
"gorm.io/driver/sqlite"
|
"gorm.io/driver/sqlite"
|
||||||
@ -61,3 +62,14 @@ func (bc BotController) SetBotContent(Literal string, Content string) {
|
|||||||
bc.db.Model(&c).Update("Content", Content)
|
bc.db.Model(&c).Update("Content", Content)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (bc BotController) GetUser(UserID int64) User {
|
||||||
|
var user User
|
||||||
|
bc.db.First(&user, "id", UserID)
|
||||||
|
if user == (User{}) {
|
||||||
|
log.Printf("New user: [%d]", UserID)
|
||||||
|
user = User{ID: UserID, State: "start"}
|
||||||
|
bc.db.Create(&user)
|
||||||
|
}
|
||||||
|
|
||||||
|
return user
|
||||||
|
}
|
||||||
|
|||||||
@ -42,14 +42,7 @@ func ProcessUpdate(bc BotController, update tgbotapi.Update) {
|
|||||||
|
|
||||||
func handleMessage(bc BotController, update tgbotapi.Update) {
|
func handleMessage(bc BotController, update tgbotapi.Update) {
|
||||||
var UserID = update.Message.From.ID
|
var UserID = update.Message.From.ID
|
||||||
|
user := bc.GetUser(UserID)
|
||||||
var user User
|
|
||||||
bc.db.First(&user, "id", UserID)
|
|
||||||
if user == (User{}) {
|
|
||||||
log.Printf("New user: [%d]", UserID)
|
|
||||||
user = User{ID: UserID, State: "start"}
|
|
||||||
bc.db.Create(&user)
|
|
||||||
}
|
|
||||||
|
|
||||||
bc.db.Model(&user).Update("MsgCounter", user.MsgCounter+1)
|
bc.db.Model(&user).Update("MsgCounter", user.MsgCounter+1)
|
||||||
log.Printf("User[%d] messages: %d", user.ID, user.MsgCounter)
|
log.Printf("User[%d] messages: %d", user.ID, user.MsgCounter)
|
||||||
@ -77,8 +70,7 @@ func handleMessage(bc BotController, update tgbotapi.Update) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func handleCallbackQuery(bc BotController, update tgbotapi.Update) {
|
func handleCallbackQuery(bc BotController, update tgbotapi.Update) {
|
||||||
var user User
|
user := bc.GetUser(update.CallbackQuery.From.ID)
|
||||||
bc.db.First(&user, "id", update.CallbackQuery.From.ID)
|
|
||||||
|
|
||||||
if update.CallbackQuery.Data == "leave_ticket_button" {
|
if update.CallbackQuery.Data == "leave_ticket_button" {
|
||||||
handleLeaveTicketButton(bc, update, user)
|
handleLeaveTicketButton(bc, update, user)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user