This repository has been archived on 2023-08-30. You can view files and clone it, but cannot push or open issues or pull requests.
l9_stud_bot/modules/tg/handlers.go

57 lines
1.1 KiB
Go
Raw Normal View History

package tg
import (
"log"
"git.l9labs.ru/anufriev.g.a/l9_stud_bot/modules/database"
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
)
func (bot *Bot) InitUser(msg *tgbotapi.Message) *database.TgUser {
db := &bot.DB
var users []database.TgUser
err := db.Find(&users, &database.TgUser{TgId: msg.Chat.ID})
if err != nil {
log.Fatal(err)
}
var tg_user database.TgUser
if len(users) == 0 {
l9id := database.GenerateID(db)
user := database.User{
L9Id: l9id,
}
tg_user = database.TgUser{
L9Id: l9id,
Name: msg.From.UserName,
TgId: msg.Chat.ID,
PosTag: "not_started",
}
_, err := db.Insert(user, tg_user)
if err != nil {
log.Fatal(err)
}
} else {
tg_user = users[0]
}
bot.TG_user = tg_user
return &tg_user
}
func (bot *Bot) Start() {
bot.TG_user.PosTag = "started"
_, err := bot.DB.Update(bot.TG_user)
if err != nil {
log.Fatal(err)
}
msg := tgbotapi.NewMessage(bot.TG_user.TgId, "Hello!")
bot.TG.Send(msg)
}
func (bot *Bot) Etc() {
msg := tgbotapi.NewMessage(bot.TG_user.TgId, "Oops!")
bot.TG.Send(msg)
}