@@ -7,16 +7,24 @@ import (
|
||||
"github.com/go-telegram-bot-api/telegram-bot-api"
|
||||
"lab.pztrn.name/fat0troll/i2_bot/lib/dbmapping"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// AdminBroadcastMessageCompose saves message for future broadcast
|
||||
func (b *Broadcaster) AdminBroadcastMessageCompose(update *tgbotapi.Update, playerRaw *dbmapping.Player) string {
|
||||
broadcastingMessageBody := strings.Replace(update.Message.Text, "/send_all ", "", 1)
|
||||
broadcastingMessageBody := update.Message.CommandArguments()
|
||||
messageRaw, ok := dbmapping.Broadcast{}, false
|
||||
|
||||
messageRaw, ok := b.createBroadcastMessage(playerRaw, broadcastingMessageBody, "all")
|
||||
if !ok {
|
||||
return "fail"
|
||||
switch update.Message.Command() {
|
||||
case "send_all":
|
||||
messageRaw, ok = b.createBroadcastMessage(playerRaw, broadcastingMessageBody, "all")
|
||||
if !ok {
|
||||
return "fail"
|
||||
}
|
||||
case "send_league":
|
||||
messageRaw, ok = b.createBroadcastMessage(playerRaw, broadcastingMessageBody, "league")
|
||||
if !ok {
|
||||
return "fail"
|
||||
}
|
||||
}
|
||||
|
||||
message := "Сообщение сохранено в базу.\n"
|
||||
@@ -36,7 +44,12 @@ func (b *Broadcaster) AdminBroadcastMessageCompose(update *tgbotapi.Update, play
|
||||
|
||||
c.Bot.Send(msg)
|
||||
|
||||
message = "Чтобы отправить сообщение всем, отправь команду /send\\_confirm " + strconv.Itoa(messageRaw.ID)
|
||||
switch update.Message.Command() {
|
||||
case "send_all":
|
||||
message = "Чтобы отправить сообщение всем, отправь команду /send\\_confirm " + strconv.Itoa(messageRaw.ID)
|
||||
case "send_league":
|
||||
message = "Чтобы отправить сообщение всем игрокам лиги Инстинкт, отправь команду /send\\_confirm " + strconv.Itoa(messageRaw.ID)
|
||||
}
|
||||
|
||||
msg = tgbotapi.NewMessage(update.Message.Chat.ID, message)
|
||||
msg.ParseMode = "Markdown"
|
||||
|
@@ -7,12 +7,11 @@ import (
|
||||
"github.com/go-telegram-bot-api/telegram-bot-api"
|
||||
"lab.pztrn.name/fat0troll/i2_bot/lib/dbmapping"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// AdminBroadcastMessageSend sends saved message to all private chats
|
||||
func (b *Broadcaster) AdminBroadcastMessageSend(update *tgbotapi.Update, playerRaw *dbmapping.Player) string {
|
||||
messageNum := strings.Replace(update.Message.Text, "/send_confirm ", "", 1)
|
||||
messageNum := update.Message.CommandArguments()
|
||||
messageNumInt, _ := strconv.Atoi(messageNum)
|
||||
messageRaw, ok := b.getBroadcastMessageByID(messageNumInt)
|
||||
if !ok {
|
||||
@@ -27,9 +26,18 @@ func (b *Broadcaster) AdminBroadcastMessageSend(update *tgbotapi.Update, playerR
|
||||
|
||||
broadcastingMessageBody := messageRaw.Text
|
||||
|
||||
privateChats, ok := c.Chatter.GetAllPrivateChats()
|
||||
if !ok {
|
||||
return "fail"
|
||||
privateChats := []dbmapping.Chat{}
|
||||
switch messageRaw.BroadcastType {
|
||||
case "all":
|
||||
privateChats, ok = c.Chatter.GetAllPrivateChats()
|
||||
if !ok {
|
||||
return "fail"
|
||||
}
|
||||
case "league":
|
||||
privateChats, ok = c.Chatter.GetLeaguePrivateChats()
|
||||
if !ok {
|
||||
return "fail"
|
||||
}
|
||||
}
|
||||
|
||||
for i := range privateChats {
|
||||
@@ -48,7 +56,7 @@ func (b *Broadcaster) AdminBroadcastMessageSend(update *tgbotapi.Update, playerR
|
||||
return "fail"
|
||||
}
|
||||
|
||||
message := "Сообщение всем отправлено. Надеюсь, пользователи бота за него тебя не убьют.\n"
|
||||
message := "Сообщение отправлено. Надеюсь, пользователи бота за него тебя не убьют.\n"
|
||||
|
||||
msg := tgbotapi.NewMessage(update.Message.Chat.ID, message)
|
||||
msg.ParseMode = "Markdown"
|
||||
|
Reference in New Issue
Block a user