add new bonus system
This commit is contained in:
74
src/controllers/bonusController.go
Normal file
74
src/controllers/bonusController.go
Normal file
@@ -0,0 +1,74 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
tele "gopkg.in/telebot.v4"
|
||||
)
|
||||
|
||||
type BonusController struct {
|
||||
DC *DataController
|
||||
Bot *tele.Bot
|
||||
}
|
||||
|
||||
func NewBonusController(b *tele.Bot, db *DataController) *BonusController {
|
||||
return &BonusController{DC: db, Bot: b}
|
||||
}
|
||||
|
||||
func SendChatToID(bot *tele.Bot, msg string, id int64) {
|
||||
chat := &tele.Chat{ID: id}
|
||||
_, err := bot.Send(chat, msg)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
}
|
||||
|
||||
func (b *BonusController) Bonus(c tele.Context) error {
|
||||
var text string
|
||||
var chatID int64 = -1002345923642
|
||||
|
||||
user := b.DC.GetUser(c.Sender().ID)
|
||||
if !user.Admin {
|
||||
return c.Send("У вас нет прав для использования этой команды")
|
||||
}
|
||||
|
||||
if strings.Contains(c.Text(), " ") {
|
||||
text = strings.Split(c.Text(), " ")[1]
|
||||
fmt.Println("New bonus", text)
|
||||
} else {
|
||||
return c.Send("Некоректная команда, используйте /bonus1 <сумма>")
|
||||
}
|
||||
|
||||
giftSumm, err := strconv.Atoi(text)
|
||||
if err != nil {
|
||||
return c.Send("Некоректная сумма")
|
||||
}
|
||||
|
||||
btn := &tele.ReplyMarkup{}
|
||||
row := btn.Row(btn.Data("Забрать", "add_bonus", fmt.Sprintf("%d", giftSumm)+":"+fmt.Sprintf("%d", c.Sender().ID)))
|
||||
btn.Inline(row)
|
||||
|
||||
msg, err := b.Bot.Send(
|
||||
&tele.Chat{ID: chatID},
|
||||
fmt.Sprintf("Успей забрать бонус.\nСумма: %d", giftSumm),
|
||||
btn,
|
||||
)
|
||||
|
||||
b.Bot.Handle(&row[0], func(c tele.Context) error {
|
||||
user := b.DC.GetUser(c.Sender().ID)
|
||||
newSize := user.DickSize + giftSumm
|
||||
b.DC.UpdateDick(c.Sender().ID, newSize)
|
||||
b.Bot.Edit(msg, fmt.Sprintf("%s получает бонус: %d", c.Sender().FirstName, giftSumm))
|
||||
return nil
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
fmt.Println(giftSumm)
|
||||
|
||||
return c.Send(fmt.Sprintf("Бонус запущен: %d", giftSumm))
|
||||
}
|
||||
Reference in New Issue
Block a user