mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-04-19 13:32:24 +00:00
- customize the add client message and json for each protocol
This commit is contained in:
parent
27fca74d10
commit
03dcb184a8
13 changed files with 147 additions and 37 deletions
|
@ -53,10 +53,10 @@ var (
|
|||
client_SubID string
|
||||
client_Comment string
|
||||
client_Reset int
|
||||
client_security string
|
||||
client_Security string
|
||||
client_ShPassword string
|
||||
client_TrPassword string
|
||||
client_method string
|
||||
client_Method string
|
||||
|
||||
)
|
||||
|
||||
|
@ -948,10 +948,10 @@ func (t *Tgbot) answerCallback(callbackQuery *telego.CallbackQuery, isAdmin bool
|
|||
client_SubID = t.randomLowerAndNum(16)
|
||||
client_Comment = ""
|
||||
client_Reset = 0
|
||||
client_security="auto"
|
||||
client_Security="auto"
|
||||
client_ShPassword=t.randomShadowSocksPassword()
|
||||
client_TrPassword=t.randomLowerAndNum(10)
|
||||
client_method=""
|
||||
client_Method=""
|
||||
|
||||
inboundId := dataArray[1]
|
||||
inboundIdInt, err := strconv.Atoi(inboundId)
|
||||
|
@ -966,7 +966,7 @@ func (t *Tgbot) answerCallback(callbackQuery *telego.CallbackQuery, isAdmin bool
|
|||
return
|
||||
}
|
||||
|
||||
message := t.I18nBot("tgbot.messages.inbound_client_data", "InboundRemark=="+inbound.Remark,"ClientId=="+client_Id,"ClientEmail=="+client_Email,"ClientComment=="+client_Comment)
|
||||
message, err := t.BuildInboundClientDataMessage(inbound.Remark, inbound.Protocol)
|
||||
|
||||
t.addClient(chatId, message)
|
||||
}
|
||||
|
@ -1035,9 +1035,10 @@ func (t *Tgbot) answerCallback(callbackQuery *telego.CallbackQuery, isAdmin bool
|
|||
client_SubID = t.randomLowerAndNum(16)
|
||||
client_Comment = ""
|
||||
client_Reset = 0
|
||||
client_Security="auto"
|
||||
client_ShPassword=t.randomShadowSocksPassword()
|
||||
client_TrPassword=t.randomLowerAndNum(10)
|
||||
client_method=""
|
||||
client_Method=""
|
||||
|
||||
inbounds, err := t.getInboundsAddClient()
|
||||
if err != nil {
|
||||
|
@ -1092,8 +1093,7 @@ func (t *Tgbot) answerCallback(callbackQuery *telego.CallbackQuery, isAdmin bool
|
|||
delete(userStates, chatId)
|
||||
t.SendMsgToTgbot(chatId, t.I18nBot("tgbot.messages.cancel"), tu.ReplyKeyboardRemove())
|
||||
case "add_client_submit_enable":
|
||||
inboundService := &InboundService{}
|
||||
_, err := inboundService.SubmitAddClient()
|
||||
_, err := t.SubmitAddClient()
|
||||
if err != nil {
|
||||
errorMessage := fmt.Sprintf("%v", err)
|
||||
t.SendMsgToTgbot(chatId, t.I18nBot("tgbot.messages.error_add_client", "error=="+errorMessage), tu.ReplyKeyboardRemove())
|
||||
|
@ -1102,8 +1102,7 @@ func (t *Tgbot) answerCallback(callbackQuery *telego.CallbackQuery, isAdmin bool
|
|||
}
|
||||
case "add_client_submit_disable":
|
||||
client_Enable = false
|
||||
inboundService := &InboundService{}
|
||||
_, err := inboundService.SubmitAddClient()
|
||||
_, err := t.SubmitAddClient()
|
||||
if err != nil {
|
||||
errorMessage := fmt.Sprintf("%v", err)
|
||||
t.SendMsgToTgbot(chatId, t.I18nBot("tgbot.messages.error_add_client", "error=="+errorMessage), tu.ReplyKeyboardRemove())
|
||||
|
@ -1113,9 +1112,54 @@ func (t *Tgbot) answerCallback(callbackQuery *telego.CallbackQuery, isAdmin bool
|
|||
}
|
||||
}
|
||||
|
||||
func (t *Tgbot) BuildInboundClientDataMessage(inbound_remark string ,protocol model.Protocol) (string, error) {
|
||||
var message string
|
||||
|
||||
func (s *InboundService) SubmitAddClient() (bool, error) {
|
||||
jsonString := fmt.Sprintf(`{"clients": [{
|
||||
switch protocol {
|
||||
case model.VMESS:
|
||||
message = t.I18nBot("tgbot.messages.inbound_client_data_id", "InboundRemark=="+inbound_remark,"ClientId=="+client_Id,"ClientEmail=="+client_Email,"ClientComment=="+client_Comment)
|
||||
case model.VLESS:
|
||||
message = t.I18nBot("tgbot.messages.inbound_client_data_id", "InboundRemark=="+inbound_remark,"ClientId=="+client_Id,"ClientEmail=="+client_Email,"ClientComment=="+client_Comment)
|
||||
|
||||
case model.Trojan:
|
||||
message = t.I18nBot("tgbot.messages.inbound_client_data_pass", "InboundRemark=="+inbound_remark,"ClientPass=="+client_TrPassword,"ClientEmail=="+client_Email,"ClientComment=="+client_Comment)
|
||||
|
||||
case model.Shadowsocks:
|
||||
message = t.I18nBot("tgbot.messages.inbound_client_data_pass", "InboundRemark=="+inbound_remark,"ClientPass=="+client_ShPassword,"ClientEmail=="+client_Email,"ClientComment=="+client_Comment)
|
||||
|
||||
default:
|
||||
return "", errors.New("unknown protocol")
|
||||
}
|
||||
|
||||
return message, nil
|
||||
}
|
||||
|
||||
|
||||
|
||||
func (t *Tgbot) BuildJSONForProtocol(protocol model.Protocol) (string, error) {
|
||||
var jsonString string
|
||||
|
||||
switch protocol {
|
||||
case model.VMESS:
|
||||
jsonString = fmt.Sprintf(`{
|
||||
"clients": [{
|
||||
"id": "%s",
|
||||
"security": "%s",
|
||||
"email": "%s",
|
||||
"limitIp": %d,
|
||||
"totalGB": %d,
|
||||
"expiryTime": %d,
|
||||
"enable": %t,
|
||||
"tgId": "%s",
|
||||
"subId": "%s",
|
||||
"comment": "%s",
|
||||
"reset": %d
|
||||
}]
|
||||
}`, client_Id, client_Security, client_Email, client_LimitIP, client_TotalGB, client_ExpiryTime, client_Enable, client_TgID, client_SubID, client_Comment, client_Reset)
|
||||
|
||||
case model.VLESS:
|
||||
jsonString = fmt.Sprintf(`{
|
||||
"clients": [{
|
||||
"id": "%s",
|
||||
"flow": "%s",
|
||||
"email": "%s",
|
||||
|
@ -1127,8 +1171,62 @@ func (s *InboundService) SubmitAddClient() (bool, error) {
|
|||
"subId": "%s",
|
||||
"comment": "%s",
|
||||
"reset": %d
|
||||
}]}`, client_Id, client_Flow, client_Email, client_LimitIP, client_TotalGB, client_ExpiryTime, client_Enable, client_TgID, client_SubID, client_Comment, client_Reset)
|
||||
}]
|
||||
}`, client_Id, client_Flow, client_Email, client_LimitIP, client_TotalGB, client_ExpiryTime, client_Enable, client_TgID, client_SubID, client_Comment, client_Reset)
|
||||
|
||||
case model.Trojan:
|
||||
jsonString = fmt.Sprintf(`{
|
||||
"clients": [{
|
||||
"password": "%s",
|
||||
"email": "%s",
|
||||
"limitIp": %d,
|
||||
"totalGB": %d,
|
||||
"expiryTime": %d,
|
||||
"enable": %t,
|
||||
"tgId": "%s",
|
||||
"subId": "%s",
|
||||
"comment": "%s",
|
||||
"reset": %d
|
||||
}]
|
||||
}`, client_TrPassword, client_Email, client_LimitIP, client_TotalGB, client_ExpiryTime, client_Enable, client_TgID, client_SubID, client_Comment, client_Reset)
|
||||
|
||||
case model.Shadowsocks:
|
||||
jsonString = fmt.Sprintf(`{
|
||||
"clients": [{
|
||||
"method": "%s",
|
||||
"password": "%s",
|
||||
"email": "%s",
|
||||
"limitIp": %d,
|
||||
"totalGB": %d,
|
||||
"expiryTime": %d,
|
||||
"enable": %t,
|
||||
"tgId": "%s",
|
||||
"subId": "%s",
|
||||
"comment": "%s",
|
||||
"reset": %d
|
||||
}]
|
||||
}`, client_Method, client_ShPassword, client_Email, client_LimitIP, client_TotalGB, client_ExpiryTime, client_Enable, client_TgID, client_SubID, client_Comment, client_Reset)
|
||||
|
||||
default:
|
||||
return "", errors.New("unknown protocol")
|
||||
}
|
||||
|
||||
return jsonString, nil
|
||||
}
|
||||
|
||||
|
||||
func (t *Tgbot) SubmitAddClient() (bool, error) {
|
||||
|
||||
|
||||
inbound, err := t.inboundService.GetInbound(receiver_inbound_ID)
|
||||
if err != nil {
|
||||
logger.Warning("getIboundClients run failed:", err)
|
||||
return false, errors.New(t.I18nBot("tgbot.answers.getInboundsFailed"))
|
||||
}
|
||||
|
||||
|
||||
|
||||
jsonString, err := t.BuildJSONForProtocol(inbound.Protocol)
|
||||
|
||||
newInbound := &model.Inbound{
|
||||
Id: receiver_inbound_ID,
|
||||
|
@ -1136,7 +1234,7 @@ func (s *InboundService) SubmitAddClient() (bool, error) {
|
|||
}
|
||||
|
||||
|
||||
return s.AddInboundClient(newInbound)
|
||||
return t.inboundService.AddInboundClient(newInbound)
|
||||
}
|
||||
|
||||
func checkAdmin(tgId int64) bool {
|
||||
|
|
|
@ -578,7 +578,8 @@
|
|||
"id_prompt" = "🔑 Default ID: {{ .ClientId }}\n\nEnter your id."
|
||||
"email_prompt" = "📧 Default Email: {{ .ClientEmail }}\n\nEnter your email."
|
||||
"comment_prompt" = "💬 Default Comment: {{ .ClientComment }}\n\nEnter your Comment."
|
||||
"inbound_client_data" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 Email: {{ .ClientEmail }}\n💬 Comment: {{ .ClientComment }}\n\nYou can add the client to inbound now!"
|
||||
"inbound_client_data_id" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 Email: {{ .ClientEmail }}\n💬 Comment: {{ .ClientComment }}\n\nYou can add the client to inbound now!"
|
||||
"inbound_client_data_pass" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 Password: {{ .ClientPass }}\n📧 Email: {{ .ClientEmail }}\n💬 Comment: {{ .ClientComment }}\n\nYou can add the client to inbound now!"
|
||||
"client_data" = "🔑 ID: {{ .ClientId }}\n📧 Email: {{ .ClientEmail }}\n💬 Comment: {{ .ClientComment }}\n\nYou can add the client to inbound now!"
|
||||
"cancel" = "❌ Process Canceled! \n\nYou can /start again anytime. 🔄"
|
||||
"error_add_client" = "⚠️ Error:\n\n {{ .error }}"
|
||||
|
|
|
@ -578,7 +578,8 @@
|
|||
"id_prompt" = "🔑 ID predeterminado: {{ .ClientId }}\n\nIntroduce tu ID."
|
||||
"email_prompt" = "📧 Correo predeterminado: {{ .ClientEmail }}\n\nIntroduce tu correo."
|
||||
"comment_prompt" = "💬 Comentario predeterminado: {{ .ClientComment }}\n\nIntroduce tu comentario."
|
||||
"inbound_client_data" = "🔄 Entrada: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 Correo: {{ .ClientEmail }}\n💬 Comentario: {{ .ClientComment }}\n\n¡Puedes añadir el cliente a la entrada ahora!"
|
||||
"inbound_client_data_id" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 Email: {{ .ClientEmail }}\n💬 Comment: {{ .ClientComment }}\n\n¡Ahora puedes agregar al cliente a inbound!"
|
||||
"inbound_client_data_pass" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 Contraseña: {{ .ClientPass }}\n📧 Email: {{ .ClientEmail }}\n💬 Comment: {{ .ClientComment }}\n\n¡Ahora puedes agregar al cliente a inbound!"
|
||||
"client_data" = "🔑 ID: {{ .ClientId }}\n📧 Correo: {{ .ClientEmail }}\n💬 Comentario: {{ .ClientComment }}\n\n¡Puedes añadir el cliente a la entrada ahora!"
|
||||
"cancel" = "❌ ¡Proceso cancelado! \n\nPuedes /start de nuevo en cualquier momento. 🔄"
|
||||
"error_add_client" = "⚠️ Error:\n\n {{ .error }}"
|
||||
|
|
|
@ -578,7 +578,8 @@
|
|||
"id_prompt" = "🔑 شناسه پیشفرض: {{ .ClientId }}\n\nشناسه خود را وارد کنید."
|
||||
"email_prompt" = "📧 ایمیل پیشفرض: {{ .ClientEmail }}\n\nایمیل خود را وارد کنید."
|
||||
"comment_prompt" = "💬 کامنت پیشفرض: {{ .ClientComment }}\n\nکامنت خود را وارد کنید."
|
||||
"inbound_client_data" = "🔄 ورودی: {{ .InboundRemark }}\n\n🔑 شناسه: {{ .ClientId }}\n📧 ایمیل: {{ .ClientEmail }}\n💬 کامنت: {{ .ClientComment }}\n\nهماکنون میتوانید مشتری را به ورودی اضافه کنید!"
|
||||
"inbound_client_data_id" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 شناسه: {{ .ClientId }}\n📧 ایمیل: {{ .ClientEmail }}\n💬 نظر: {{ .ClientComment }}\n\nاکنون میتوانید مشتری را به inbound اضافه کنید!"
|
||||
"inbound_client_data_pass" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 رمز عبور: {{ .ClientPass }}\n📧 ایمیل: {{ .ClientEmail }}\n💬 نظر: {{ .ClientComment }}\n\nاکنون میتوانید مشتری را به inbound اضافه کنید!"
|
||||
"client_data" = "🔑 شناسه: {{ .ClientId }}\n📧 ایمیل: {{ .ClientEmail }}\n💬 کامنت: {{ .ClientComment }}\n\nهماکنون میتوانید مشتری را به ورودی اضافه کنید!"
|
||||
"cancel" = "❌ فرآیند لغو شد! \n\nشما میتوانید هر زمان دوباره /start کنید. 🔄"
|
||||
"error_add_client" = "⚠️ خطا:\n\n {{ .error }}"
|
||||
|
|
|
@ -578,7 +578,8 @@
|
|||
"id_prompt" = "🔑 ID default: {{ .ClientId }}\n\nMasukkan ID Anda."
|
||||
"email_prompt" = "📧 Email default: {{ .ClientEmail }}\n\nMasukkan email Anda."
|
||||
"comment_prompt" = "💬 Komentar default: {{ .ClientComment }}\n\nMasukkan komentar Anda."
|
||||
"inbound_client_data" = "🔄 Masuk: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 Email: {{ .ClientEmail }}\n💬 Komentar: {{ .ClientComment }}\n\nSekarang Anda bisa menambahkan klien ke inbound!"
|
||||
"inbound_client_data_id" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 Email: {{ .ClientEmail }}\n💬 Komentar: {{ .ClientComment }}\n\nSekarang Anda dapat menambahkan klien ke inbound!"
|
||||
"inbound_client_data_pass" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 Kata Sandi: {{ .ClientPass }}\n📧 Email: {{ .ClientEmail }}\n💬 Komentar: {{ .ClientComment }}\n\nSekarang Anda dapat menambahkan klien ke inbound!"
|
||||
"client_data" = "🔑 ID: {{ .ClientId }}\n📧 Email: {{ .ClientEmail }}\n💬 Komentar: {{ .ClientComment }}\n\nSekarang Anda bisa menambahkan klien ke inbound!"
|
||||
"cancel" = "❌ Proses dibatalkan! \n\nAnda bisa /start lagi kapan saja. 🔄"
|
||||
"error_add_client" = "⚠️ Kesalahan:\n\n {{ .error }}"
|
||||
|
|
|
@ -578,7 +578,8 @@
|
|||
"id_prompt" = "🔑 デフォルトID: {{ .ClientId }}\n\nIDを入力してください。"
|
||||
"email_prompt" = "📧 デフォルトメール: {{ .ClientEmail }}\n\nメールアドレスを入力してください。"
|
||||
"comment_prompt" = "💬 デフォルトコメント: {{ .ClientComment }}\n\nコメントを入力してください。"
|
||||
"inbound_client_data" = "🔄 受信データ: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 メール: {{ .ClientEmail }}\n💬 コメント: {{ .ClientComment }}\n\nクライアントを受信リストに追加できます!"
|
||||
"inbound_client_data_id" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 メール: {{ .ClientEmail }}\n💬 コメント: {{ .ClientComment }}\n\n今すぐクライアントをInboundに追加できます!"
|
||||
"inbound_client_data_pass" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 パスワード: {{ .ClientPass }}\n📧 メール: {{ .ClientEmail }}\n💬 コメント: {{ .ClientComment }}\n\n今すぐクライアントをInboundに追加できます!"
|
||||
"client_data" = "🔑 ID: {{ .ClientId }}\n📧 メール: {{ .ClientEmail }}\n💬 コメント: {{ .ClientComment }}\n\nクライアントを受信リストに追加できます!"
|
||||
"cancel" = "❌ 処理がキャンセルされました! \n\nいつでも/startでやり直せます。 🔄"
|
||||
"error_add_client" = "⚠️ エラー:\n\n {{ .error }}"
|
||||
|
|
|
@ -578,7 +578,8 @@
|
|||
"id_prompt" = "🔑 ID padrão: {{ .ClientId }}\n\nDigite seu ID."
|
||||
"email_prompt" = "📧 E-mail padrão: {{ .ClientEmail }}\n\nDigite seu e-mail."
|
||||
"comment_prompt" = "💬 Comentário padrão: {{ .ClientComment }}\n\nDigite seu comentário."
|
||||
"inbound_client_data" = "🔄 Entrada: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 E-mail: {{ .ClientEmail }}\n💬 Comentário: {{ .ClientComment }}\n\nVocê pode adicionar o cliente à entrada agora!"
|
||||
"inbound_client_data_id" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 Email: {{ .ClientEmail }}\n💬 Comentário: {{ .ClientComment }}\n\nAgora você pode adicionar o cliente ao inbound!"
|
||||
"inbound_client_data_pass" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 Senha: {{ .ClientPass }}\n📧 Email: {{ .ClientEmail }}\n💬 Comentário: {{ .ClientComment }}\n\nAgora você pode adicionar o cliente ao inbound!"
|
||||
"client_data" = "🔑 ID: {{ .ClientId }}\n📧 E-mail: {{ .ClientEmail }}\n💬 Comentário: {{ .ClientComment }}\n\nVocê pode adicionar o cliente à entrada agora!"
|
||||
"cancel" = "❌ Processo cancelado! \n\nVocê pode /start novamente a qualquer momento. 🔄"
|
||||
"error_add_client" = "⚠️ Erro:\n\n {{ .error }}"
|
||||
|
|
|
@ -578,7 +578,8 @@
|
|||
"id_prompt" = "🔑 Стандартный ID: {{ .ClientId }}\n\nВведите ваш ID."
|
||||
"email_prompt" = "📧 Стандартный email: {{ .ClientEmail }}\n\nВведите ваш email."
|
||||
"comment_prompt" = "💬 Стандартный комментарий: {{ .ClientComment }}\n\nВведите ваш комментарий."
|
||||
"inbound_client_data" = "🔄 Входящие: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 Email: {{ .ClientEmail }}\n💬 Комментарий: {{ .ClientComment }}\n\nТеперь вы можете добавить клиента в входящие!"
|
||||
"inbound_client_data_id" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 Электронная почта: {{ .ClientEmail }}\n💬 Комментарий: {{ .ClientComment }}\n\nТеперь вы можете добавить клиента в inbound!"
|
||||
"inbound_client_data_pass" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 Пароль: {{ .ClientPass }}\n📧 Электронная почта: {{ .ClientEmail }}\n💬 Комментарий: {{ .ClientComment }}\n\nТеперь вы можете добавить клиента в inbound!"
|
||||
"client_data" = "🔑 ID: {{ .ClientId }}\n📧 Email: {{ .ClientEmail }}\n💬 Комментарий: {{ .ClientComment }}\n\nТеперь вы можете добавить клиента в входящие!"
|
||||
"cancel" = "❌ Процесс отменен! \n\nВы можете снова запустить /start в любое время. 🔄"
|
||||
"error_add_client" = "⚠️ Ошибка:\n\n {{ .error }}"
|
||||
|
|
|
@ -578,7 +578,8 @@
|
|||
"id_prompt" = "🔑 Varsayılan ID: {{ .ClientId }}\n\nID'nizi girin."
|
||||
"email_prompt" = "📧 Varsayılan E-posta: {{ .ClientEmail }}\n\nE-posta adresinizi girin."
|
||||
"comment_prompt" = "💬 Varsayılan Yorum: {{ .ClientComment }}\n\nYorumunuzu girin."
|
||||
"inbound_client_data" = "🔄 Giriş: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 E-posta: {{ .ClientEmail }}\n💬 Yorum: {{ .ClientComment }}\n\nŞimdi müşteri girişine ekleyebilirsiniz!"
|
||||
"inbound_client_data_id" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 E-posta: {{ .ClientEmail }}\n💬 Yorum: {{ .ClientComment }}\n\nŞimdi müşteriyi inbound'a ekleyebilirsiniz!"
|
||||
"inbound_client_data_pass" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 Şifre: {{ .ClientPass }}\n📧 E-posta: {{ .ClientEmail }}\n💬 Yorum: {{ .ClientComment }}\n\nŞimdi müşteriyi inbound'a ekleyebilirsiniz!"
|
||||
"client_data" = "🔑 ID: {{ .ClientId }}\n📧 E-posta: {{ .ClientEmail }}\n💬 Yorum: {{ .ClientComment }}\n\nŞimdi müşteri girişine ekleyebilirsiniz!"
|
||||
"cancel" = "❌ İşlem iptal edildi! \n\nİstediğiniz zaman /start komutunu tekrar verebilirsiniz. 🔄"
|
||||
"error_add_client" = "⚠️ Hata:\n\n {{ .error }}"
|
||||
|
|
|
@ -578,7 +578,8 @@
|
|||
"id_prompt" = "🔑 За замовчуванням ID: {{ .ClientId }}\n\nВведіть ваш ID."
|
||||
"email_prompt" = "📧 За замовчуванням Email: {{ .ClientEmail }}\n\nВведіть ваш email."
|
||||
"comment_prompt" = "💬 За замовчуванням коментар: {{ .ClientComment }}\n\nВведіть ваш коментар."
|
||||
"inbound_client_data" = "🔄 Вхідні дані: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 Email: {{ .ClientEmail }}\n💬 Коментар: {{ .ClientComment }}\n\nЗараз ви можете додати клієнта до вхідних!"
|
||||
"inbound_client_data_id" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 Електронна пошта: {{ .ClientEmail }}\n💬 Коментар: {{ .ClientComment }}\n\nТепер ви можете додати клієнта до inbound!"
|
||||
"inbound_client_data_pass" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 Пароль: {{ .ClientPass }}\n📧 Електронна пошта: {{ .ClientEmail }}\n💬 Коментар: {{ .ClientComment }}\n\nТепер ви можете додати клієнта до inbound!"
|
||||
"client_data" = "🔑 ID: {{ .ClientId }}\n📧 Email: {{ .ClientEmail }}\n💬 Коментар: {{ .ClientComment }}\n\nЗараз ви можете додати клієнта до вхідних!"
|
||||
"cancel" = "❌ Процес скасовано! \n\nВи можете /start знову в будь-який час. 🔄"
|
||||
"error_add_client" = "⚠️ Помилка:\n\n {{ .error }}"
|
||||
|
|
|
@ -578,7 +578,8 @@
|
|||
"id_prompt" = "🔑 ID mặc định: {{ .ClientId }}\n\nNhập ID của bạn."
|
||||
"email_prompt" = "📧 Email mặc định: {{ .ClientEmail }}\n\nNhập email của bạn."
|
||||
"comment_prompt" = "💬 Bình luận mặc định: {{ .ClientComment }}\n\nNhập bình luận của bạn."
|
||||
"inbound_client_data" = "🔄 Dữ liệu đến: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 Email: {{ .ClientEmail }}\n💬 Bình luận: {{ .ClientComment }}\n\nBây giờ bạn có thể thêm khách hàng vào danh sách đến!"
|
||||
"inbound_client_data_id" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 Email: {{ .ClientEmail }}\n💬 Bình luận: {{ .ClientComment }}\n\nBây giờ bạn có thể thêm khách hàng vào inbound!"
|
||||
"inbound_client_data_pass" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 Mật khẩu: {{ .ClientPass }}\n📧 Email: {{ .ClientEmail }}\n💬 Bình luận: {{ .ClientComment }}\n\nBây giờ bạn có thể thêm khách hàng vào inbound!"
|
||||
"client_data" = "🔑 ID: {{ .ClientId }}\n📧 Email: {{ .ClientEmail }}\n💬 Bình luận: {{ .ClientComment }}\n\nBây giờ bạn có thể thêm khách hàng vào danh sách đến!"
|
||||
"cancel" = "❌ Quá trình bị hủy! \n\nBạn có thể /start lại bất cứ lúc nào. 🔄"
|
||||
"error_add_client" = "⚠️ Lỗi:\n\n {{ .error }}"
|
||||
|
|
|
@ -578,7 +578,8 @@
|
|||
"id_prompt" = "🔑 默认ID: {{ .ClientId }}\n\n请输入您的ID。"
|
||||
"email_prompt" = "📧 默认邮件: {{ .ClientEmail }}\n\n请输入您的邮箱。"
|
||||
"comment_prompt" = "💬 默认评论: {{ .ClientComment }}\n\n请输入您的评论。"
|
||||
"inbound_client_data" = "🔄 入站数据: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 邮件: {{ .ClientEmail }}\n💬 评论: {{ .ClientComment }}\n\n现在您可以将客户添加到入站!"
|
||||
"inbound_client_data_id" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 电子邮件: {{ .ClientEmail }}\n💬 评论: {{ .ClientComment }}\n\n现在您可以将客户添加到inbound!"
|
||||
"inbound_client_data_pass" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 密码: {{ .ClientPass }}\n📧 电子邮件: {{ .ClientEmail }}\n💬 评论: {{ .ClientComment }}\n\n现在您可以将客户添加到inbound!"
|
||||
"client_data" = "🔑 ID: {{ .ClientId }}\n📧 邮件: {{ .ClientEmail }}\n💬 评论: {{ .ClientComment }}\n\n现在您可以将客户添加到入站!"
|
||||
"cancel" = "❌ 过程已取消! \n\n您可以随时 /start 重新开始。 🔄"
|
||||
"error_add_client" = "⚠️ 错误:\n\n {{ .error }}"
|
||||
|
|
|
@ -578,7 +578,8 @@
|
|||
"id_prompt" = "🔑 預設ID: {{ .ClientId }}\n\n請輸入您的ID。"
|
||||
"email_prompt" = "📧 預設電子郵件: {{ .ClientEmail }}\n\n請輸入您的電子郵件。"
|
||||
"comment_prompt" = "💬 預設評論: {{ .ClientComment }}\n\n請輸入您的評論。"
|
||||
"inbound_client_data" = "🔄 進站數據: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 電子郵件: {{ .ClientEmail }}\n💬 評論: {{ .ClientComment }}\n\n您現在可以將客戶加入進站!"
|
||||
"inbound_client_data_id" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 電子郵件: {{ .ClientEmail }}\n💬 註解: {{ .ClientComment }}\n\n現在您可以將客戶添加到inbound!"
|
||||
"inbound_client_data_pass" = "🔄 Inbound: {{ .InboundRemark }}\n\n🔑 密碼: {{ .ClientPass }}\n📧 電子郵件: {{ .ClientEmail }}\n💬 註解: {{ .ClientComment }}\n\n現在您可以將客戶添加到inbound!"
|
||||
"client_data" = "🔑 ID: {{ .ClientId }}\n📧 電子郵件: {{ .ClientEmail }}\n💬 評論: {{ .ClientComment }}\n\n您現在可以將客戶加入進站!"
|
||||
"cancel" = "❌ 處理已取消! \n\n您隨時可以 /start 再次開始。 🔄"
|
||||
"error_add_client" = "⚠️ 錯誤:\n\n {{ .error }}"
|
||||
|
|
Loading…
Reference in a new issue