create messages table and logger
This commit is contained in:
parent
38c7bef71c
commit
5144cb58dc
@ -1,6 +1,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"log"
|
"log"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
@ -44,3 +45,18 @@ func GetBotController() BotController {
|
|||||||
|
|
||||||
return BotController{cfg: cfg, bot: bot, db: db, updates: updates}
|
return BotController{cfg: cfg, bot: bot, db: db, updates: updates}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (bc BotController) LogMessage(update tgbotapi.Update) error {
|
||||||
|
var msg *tgbotapi.Message
|
||||||
|
if update.Message != nil {
|
||||||
|
msg = update.Message
|
||||||
|
} else {
|
||||||
|
return errors.New("invalid update provided to message logger")
|
||||||
|
}
|
||||||
|
|
||||||
|
var UserID = msg.From.ID
|
||||||
|
|
||||||
|
bc.LogMessageRaw(UserID, msg.Text, msg.Time())
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package main
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"log"
|
"log"
|
||||||
|
"time"
|
||||||
|
|
||||||
"gorm.io/driver/sqlite"
|
"gorm.io/driver/sqlite"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
@ -38,6 +39,7 @@ func GetDB() (*gorm.DB, error) {
|
|||||||
|
|
||||||
db.AutoMigrate(&User{})
|
db.AutoMigrate(&User{})
|
||||||
db.AutoMigrate(&BotContent{})
|
db.AutoMigrate(&BotContent{})
|
||||||
|
db.AutoMigrate(&Message{})
|
||||||
|
|
||||||
return db, err
|
return db, err
|
||||||
}
|
}
|
||||||
@ -73,3 +75,19 @@ func (bc BotController) GetUser(UserID int64) User {
|
|||||||
|
|
||||||
return user
|
return user
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type Message struct {
|
||||||
|
gorm.Model
|
||||||
|
UserID int64
|
||||||
|
Msg string
|
||||||
|
Datetime *time.Time
|
||||||
|
}
|
||||||
|
|
||||||
|
func (bc BotController) LogMessageRaw(UserID int64, Msg string, Time time.Time) {
|
||||||
|
msg := Message{
|
||||||
|
UserID: UserID,
|
||||||
|
Msg: Msg,
|
||||||
|
Datetime: &Time,
|
||||||
|
}
|
||||||
|
bc.db.Create(&msg)
|
||||||
|
}
|
||||||
|
|||||||
@ -41,11 +41,13 @@ 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)
|
user := bc.GetUser(UserID)
|
||||||
|
bc.LogMessage(update)
|
||||||
|
|
||||||
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)
|
||||||
log.Printf("[%s] %s", update.Message.From.UserName, update.Message.Text)
|
log.Printf("[%s] %s", update.Message.From.UserName, update.Message.Text)
|
||||||
log.Printf("[Entities] %s", update.Message.Entities)
|
log.Printf("[Entities] %s", update.Message.Entities)
|
||||||
|
log.Printf("[COMMAND] %s", update.Message.Command())
|
||||||
|
|
||||||
possibleCommand := strings.Split(update.Message.Text, " ")[0]
|
possibleCommand := strings.Split(update.Message.Text, " ")[0]
|
||||||
args := strings.Split(update.Message.Text, " ")[1:]
|
args := strings.Split(update.Message.Text, " ")[1:]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user