This commit is contained in:
Gapord 2025-07-27 12:49:45 +03:00
parent 2a8228f263
commit 15b4ae9be6
14 changed files with 89 additions and 3 deletions

View file

@ -393,6 +393,36 @@ func (t *Tgbot) OnReceive() {
inbound, _ := t.inboundService.GetInbound(receiver_inbound_ID) inbound, _ := t.inboundService.GetInbound(receiver_inbound_ID)
message_text, _ := t.BuildInboundClientDataMessage(inbound.Remark, inbound.Protocol) message_text, _ := t.BuildInboundClientDataMessage(inbound.Remark, inbound.Protocol)
t.addClient(message.Chat.ID, message_text) t.addClient(message.Chat.ID, message_text)
case "awaiting_broadcast_message":
smsg := message.Text
delete(userStates, message.Chat.ID)
// Получаем все инбаунды
inbounds, err := t.inboundService.GetAllInbounds()
if err != nil {
t.SendMsgToTgbot(message.Chat.ID, "Ошибка получения inbounds: "+err.Error(), tu.ReplyKeyboardRemove())
return
}
var allClients []model.Client
for _, inbound := range inbounds {
clients, err := t.inboundService.GetClients(inbound)
if err != nil {
t.SendMsgToTgbot(message.Chat.ID, "Ошибка получения клиентов: "+err.Error(), tu.ReplyKeyboardRemove())
continue
}
allClients = append(allClients, clients...)
}
// Формируем строку для вывода (dev-версия)
var sb strings.Builder
sb.WriteString("Получено сообщение для рассылки: \n")
sb.WriteString(smsg + "\n\n")
sb.WriteString("Все пользователи (структуры):\n")
for i, client := range allClients {
sb.WriteString(fmt.Sprintf("%d: %+v\n", i+1, client))
}
t.SendMsgToTgbot(message.Chat.ID, sb.String(), tu.ReplyKeyboardRemove())
} }
} else { } else {
@ -1157,8 +1187,6 @@ func (t *Tgbot) answerCallback(callbackQuery *telego.CallbackQuery, isAdmin bool
return return
} }
} }
t.sendCallbackAnswerTgBot(callbackQuery.ID, t.I18nBot("tgbot.answers.errorOperation"))
t.searchClient(chatId, email, callbackQuery.Message.GetMessageID())
case "clear_ips": case "clear_ips":
inlineKeyboard := tu.InlineKeyboard( inlineKeyboard := tu.InlineKeyboard(
tu.InlineKeyboardRow( tu.InlineKeyboardRow(
@ -1617,6 +1645,19 @@ func (t *Tgbot) answerCallback(callbackQuery *telego.CallbackQuery, isAdmin bool
t.SendMsgToTgbot(chatId, msg, tu.ReplyKeyboardRemove()) t.SendMsgToTgbot(chatId, msg, tu.ReplyKeyboardRemove())
} }
case "message_send":
inlineKeyboard := tu.InlineKeyboard(
tu.InlineKeyboardRow(
tu.InlineKeyboardButton(t.I18nBot("tgbot.buttons.msgUser")).WithCallbackData(t.encodeQuery("message_send_user")),
tu.InlineKeyboardButton(t.I18nBot("tgbot.buttons.msgAll")).WithCallbackData(t.encodeQuery("message_send_all")),
),
)
msg := t.I18nBot("tgbot.messages.chooseSend")
t.SendMsgToTgbot(chatId, msg, inlineKeyboard)
case "message_send_all":
msg := t.I18nBot("tgbot.messages.enterMessageText")
t.SendMsgToTgbot(chatId, msg, tu.ForceReply())
userStates[chatId] = "awaiting_broadcast_message"
} }
} }
@ -1799,6 +1840,9 @@ func (t *Tgbot) SendAnswer(chatId int64, msg string, isAdmin bool) {
tu.InlineKeyboardButton(t.I18nBot("tgbot.buttons.allClients")).WithCallbackData(t.encodeQuery("get_inbounds")), tu.InlineKeyboardButton(t.I18nBot("tgbot.buttons.allClients")).WithCallbackData(t.encodeQuery("get_inbounds")),
tu.InlineKeyboardButton(t.I18nBot("tgbot.buttons.addClient")).WithCallbackData(t.encodeQuery("add_client")), tu.InlineKeyboardButton(t.I18nBot("tgbot.buttons.addClient")).WithCallbackData(t.encodeQuery("add_client")),
), ),
tu.InlineKeyboardRow(
tu.InlineKeyboardButton(t.I18nBot("tgbot.buttons.msgSend")).WithCallbackData(t.encodeQuery("message_send")),
),
// TODOOOOOOOOOOOOOO: Add restart button here. // TODOOOOOOOOOOOOOO: Add restart button here.
) )
numericKeyboardClient := tu.InlineKeyboard( numericKeyboardClient := tu.InlineKeyboard(

View file

@ -698,6 +698,9 @@
"limitTraffic" = "🚧 حد الترافيك" "limitTraffic" = "🚧 حد الترافيك"
"getBanLogs" = "احصل على سجلات الحظر" "getBanLogs" = "احصل على سجلات الحظر"
"allClients" = "كل العملاء" "allClients" = "كل العملاء"
"msgSend" = "💬 إرسال الإشعارات"
"msgUser" = "👤 للمستخدم"
"msgAll" = "👥 لجميع مستخدمي البوت"
"addClient" = "إضافة عميل" "addClient" = "إضافة عميل"
"submitDisable" = "إرسال كمعطّل ☑️" "submitDisable" = "إرسال كمعطّل ☑️"

View file

@ -697,6 +697,9 @@
"limitTraffic" = "🚧 Traffic Limit" "limitTraffic" = "🚧 Traffic Limit"
"getBanLogs" = "Get Ban Logs" "getBanLogs" = "Get Ban Logs"
"allClients" = "All Clients" "allClients" = "All Clients"
"msgSend" = "💬 Send Notifications"
"msgUser" = "👤 To User"
"msgAll" = "👥 To All Bot Users"
"addClient" = "Add Client" "addClient" = "Add Client"
"submitDisable" = "Submit As Disable ☑️" "submitDisable" = "Submit As Disable ☑️"

View file

@ -700,6 +700,9 @@
"limitTraffic" = "🚧 Límite de tráfico" "limitTraffic" = "🚧 Límite de tráfico"
"getBanLogs" = "Registros de prohibición" "getBanLogs" = "Registros de prohibición"
"allClients" = "Todos los Clientes" "allClients" = "Todos los Clientes"
"msgSend" = "💬 Enviar notificaciones"
"msgUser" = "👤 A usuario"
"msgAll" = "👥 A todos los usuarios del bot"
"addClient" = "Añadir cliente" "addClient" = "Añadir cliente"
"submitDisable" = "Enviar como deshabilitado ☑️" "submitDisable" = "Enviar como deshabilitado ☑️"

View file

@ -700,6 +700,9 @@
"limitTraffic" = "🚧 محدودیت ترافیک" "limitTraffic" = "🚧 محدودیت ترافیک"
"getBanLogs" = "گزارش های بلوک را دریافت کنید" "getBanLogs" = "گزارش های بلوک را دریافت کنید"
"allClients" = "همه مشتریان" "allClients" = "همه مشتریان"
"msgSend" = "💬 ارسال اعلان‌ها"
"msgUser" = "👤 به کاربر"
"msgAll" = "👥 به همه کاربران ربات"
"addClient" = "افزودن مشتری" "addClient" = "افزودن مشتری"
"submitDisable" = "ارسال به عنوان غیرفعال ☑️" "submitDisable" = "ارسال به عنوان غیرفعال ☑️"

View file

@ -701,6 +701,9 @@
"limitTraffic" = "🚧 Batas Lalu Lintas" "limitTraffic" = "🚧 Batas Lalu Lintas"
"getBanLogs" = "Dapatkan Log Pemblokiran" "getBanLogs" = "Dapatkan Log Pemblokiran"
"allClients" = "Semua Klien" "allClients" = "Semua Klien"
"msgSend" = "💬 Kirim Notifikasi"
"msgUser" = "👤 Ke Pengguna"
"msgAll" = "👥 Ke Semua Pengguna Bot"
"addClient" = "Tambah Klien" "addClient" = "Tambah Klien"
"submitDisable" = "Kirim Sebagai Nonaktif ☑️" "submitDisable" = "Kirim Sebagai Nonaktif ☑️"

View file

@ -700,6 +700,9 @@
"limitTraffic" = "🚧 トラフィック制限" "limitTraffic" = "🚧 トラフィック制限"
"getBanLogs" = "禁止ログ" "getBanLogs" = "禁止ログ"
"allClients" = "すべてのクライアント" "allClients" = "すべてのクライアント"
"msgSend" = "💬 通知を送信"
"msgUser" = "👤 ユーザーへ"
"msgAll" = "👥 すべてのボットユーザーへ"
"addClient" = "クライアントを追加" "addClient" = "クライアントを追加"
"submitDisable" = "無効として送信 ☑️" "submitDisable" = "無効として送信 ☑️"

View file

@ -700,6 +700,9 @@
"limitTraffic" = "🚧 Limite de tráfego" "limitTraffic" = "🚧 Limite de tráfego"
"getBanLogs" = "Obter logs de banimento" "getBanLogs" = "Obter logs de banimento"
"allClients" = "Todos os clientes" "allClients" = "Todos os clientes"
"msgSend" = "💬 Enviar Notificações"
"msgUser" = "👤 Para Usuário"
"msgAll" = "👥 Para Todos os Usuários do Bot"
"addClient" = "Adicionar Cliente" "addClient" = "Adicionar Cliente"
"submitDisable" = "Enviar como Desativado ☑️" "submitDisable" = "Enviar como Desativado ☑️"

View file

@ -700,6 +700,9 @@
"limitTraffic" = "🚧 Лимит трафика" "limitTraffic" = "🚧 Лимит трафика"
"getBanLogs" = "📄 Лог банов" "getBanLogs" = "📄 Лог банов"
"allClients" = "👥 Все клиенты" "allClients" = "👥 Все клиенты"
"msgSend" = "💬 Отправка уведомлений"
"msgUser" = "👤 Пользователю"
"msgAll" = "👥 Всем пользовтелям бота"
"addClient" = " Новый клиент" "addClient" = " Новый клиент"
"submitDisable" = "Добавить отключенным ☑️" "submitDisable" = "Добавить отключенным ☑️"
@ -708,7 +711,7 @@
"change_id" = "⚙️🔑 ID" "change_id" = "⚙️🔑 ID"
"change_password" = "⚙️🔑 Пароль" "change_password" = "⚙️🔑 Пароль"
"change_email" = "⚙️📧 Email" "change_email" = "⚙️📧 Email"
"change_comment" = "⚙️💬 Комментарий" "change_comment" = "⚙️💬 Комментарий"
"ResetAllTraffics" = "Сбросить весь трафик" "ResetAllTraffics" = "Сбросить весь трафик"
"SortedTrafficUsageReport" = "Отсортированный отчет об использовании трафика" "SortedTrafficUsageReport" = "Отсортированный отчет об использовании трафика"
@ -735,3 +738,6 @@
"askToAddUserId" = "❌ Ваша конфигурация не найдена!\r\n💭 Пожалуйста, попросите администратора использовать ваш Telegram User ID в конфигурации.\r\n\r\n🆔 Ваш User ID: <code>{{ .TgUserID }}</code>" "askToAddUserId" = "❌ Ваша конфигурация не найдена!\r\n💭 Пожалуйста, попросите администратора использовать ваш Telegram User ID в конфигурации.\r\n\r\n🆔 Ваш User ID: <code>{{ .TgUserID }}</code>"
"chooseClient" = "Выберите клиента для инбаунда {{ .Inbound }}" "chooseClient" = "Выберите клиента для инбаунда {{ .Inbound }}"
"chooseInbound" = "Выберите инбаунд" "chooseInbound" = "Выберите инбаунд"
"chooseSend" = "Выберите способ отправки уведомления"
"chooseUser" = "Выберите пользователя или отправьте его email"
"enterText" = "Введите желаемый текст сообщения"

View file

@ -700,6 +700,9 @@
"limitTraffic" = "🚧 Trafik Sınırı" "limitTraffic" = "🚧 Trafik Sınırı"
"getBanLogs" = "Yasak Günlüklerini Al" "getBanLogs" = "Yasak Günlüklerini Al"
"allClients" = "Tüm Müşteriler" "allClients" = "Tüm Müşteriler"
"msgSend" = "💬 Bildirimleri Gönder"
"msgUser" = "👤 Kullanıcıya"
"msgAll" = "👥 Tüm Bot Kullanıcılarına"
"addClient" = "Müşteri Ekle" "addClient" = "Müşteri Ekle"
"submitDisable" = "Devre Dışı Olarak Gönder ☑️" "submitDisable" = "Devre Dışı Olarak Gönder ☑️"

View file

@ -700,6 +700,9 @@
"limitTraffic" = "🚧 Ліміт трафіку" "limitTraffic" = "🚧 Ліміт трафіку"
"getBanLogs" = "Отримати журнали заборон" "getBanLogs" = "Отримати журнали заборон"
"allClients" = "Всі Клієнти" "allClients" = "Всі Клієнти"
"msgSend" = "💬 Надіслати сповіщення"
"msgUser" = "👤 Користувачу"
"msgAll" = "👥 Усім користувачам бота"
"addClient" = "Додати клієнта" "addClient" = "Додати клієнта"
"submitDisable" = "Надіслати як вимкнено ☑️" "submitDisable" = "Надіслати як вимкнено ☑️"

View file

@ -700,6 +700,9 @@
"limitTraffic" = "🚧 Giới hạn lưu lượng" "limitTraffic" = "🚧 Giới hạn lưu lượng"
"getBanLogs" = "Cấm nhật ký" "getBanLogs" = "Cấm nhật ký"
"allClients" = "Tất cả Khách hàng" "allClients" = "Tất cả Khách hàng"
"msgSend" = "💬 Gửi thông báo"
"msgUser" = "👤 Đến người dùng"
"msgAll" = "👥 Đến tất cả người dùng bot"
"addClient" = "Thêm Khách Hàng" "addClient" = "Thêm Khách Hàng"
"submitDisable" = "Gửi Dưới Dạng Vô Hiệu ☑️" "submitDisable" = "Gửi Dưới Dạng Vô Hiệu ☑️"

View file

@ -700,6 +700,9 @@
"limitTraffic" = "🚧 流量限制" "limitTraffic" = "🚧 流量限制"
"getBanLogs" = "禁止日志" "getBanLogs" = "禁止日志"
"allClients" = "所有客户" "allClients" = "所有客户"
"msgSend" = "💬 发送通知"
"msgUser" = "👤 给用户"
"msgAll" = "👥 给所有机器人用户"
"addClient" = "添加客户" "addClient" = "添加客户"
"submitDisable" = "提交为禁用 ☑️" "submitDisable" = "提交为禁用 ☑️"

View file

@ -702,6 +702,9 @@
"limitTraffic" = "🚧 流量限制" "limitTraffic" = "🚧 流量限制"
"getBanLogs" = "禁止日誌" "getBanLogs" = "禁止日誌"
"allClients" = "所有客戶" "allClients" = "所有客戶"
"msgSend" = "💬 發送通知"
"msgUser" = "👤 給使用者"
"msgAll" = "👥 給所有機器人使用者"
"addClient" = "新增客戶" "addClient" = "新增客戶"
"submitDisable" = "以停用方式送出 ☑️" "submitDisable" = "以停用方式送出 ☑️"