Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'web/service')
-rw-r--r--web/service/tgbot.go33
1 files changed, 23 insertions, 10 deletions
diff --git a/web/service/tgbot.go b/web/service/tgbot.go
index e0261775..0ad7c3c6 100644
--- a/web/service/tgbot.go
+++ b/web/service/tgbot.go
@@ -188,7 +188,7 @@ func (t *Tgbot) OnReceive() {
}
func (t *Tgbot) answerCommand(message *telego.Message, chatId int64, isAdmin bool) {
- msg := ""
+ msg, onlyMessage := "", false
command, commandArgs := tu.ParseCommand(message.Text)
@@ -204,8 +204,13 @@ func (t *Tgbot) answerCommand(message *telego.Message, chatId int64, isAdmin boo
}
msg += "\n\n" + t.I18nBot("tgbot.commands.pleaseChoose")
case "status":
+ onlyMessage = true
msg += t.I18nBot("tgbot.commands.status")
+ case "id":
+ onlyMessage = true
+ msg += t.I18nBot("tgbot.commands.getID", "ID=="+strconv.FormatInt(message.From.ID, 10))
case "usage":
+ onlyMessage = true
if len(commandArgs) > 0 {
if isAdmin {
t.searchClient(chatId, commandArgs[0])
@@ -216,6 +221,7 @@ func (t *Tgbot) answerCommand(message *telego.Message, chatId int64, isAdmin boo
msg += t.I18nBot("tgbot.commands.usage")
}
case "inbound":
+ onlyMessage = true
if isAdmin && len(commandArgs) > 0 {
t.searchInbound(chatId, commandArgs[0])
} else {
@@ -224,6 +230,11 @@ func (t *Tgbot) answerCommand(message *telego.Message, chatId int64, isAdmin boo
default:
msg += t.I18nBot("tgbot.commands.unknown")
}
+
+ if onlyMessage {
+ t.SendMsgToTgbot(chatId, msg)
+ return
+ }
t.SendAnswer(chatId, msg, isAdmin)
}
@@ -498,6 +509,7 @@ func (t *Tgbot) SendMsgToTgbot(chatId int64, msg string, replyMarkup ...telego.R
if !isRunning {
return
}
+
if msg == "" {
logger.Info("[tgbot] message is empty!")
return
@@ -723,7 +735,7 @@ func (t *Tgbot) getClientUsage(chatId int64, tgUserName string, tgUserID string)
output := ""
output += t.I18nBot("tgbot.messages.email", "Email=="+traffic.Email)
- if (traffic.Enable) {
+ if traffic.Enable {
output += t.I18nBot("tgbot.messages.active")
if flag {
output += t.I18nBot("tgbot.messages.expireIn", "Time=="+expiryTime)
@@ -791,6 +803,7 @@ func (t *Tgbot) clientTelegramUserInfo(chatId int64, email string, messageID ...
output := ""
output += t.I18nBot("tgbot.messages.email", "Email=="+email)
output += t.I18nBot("tgbot.messages.TGUser", "TelegramID=="+tgId)
+ output += t.I18nBot("tgbot.messages.refreshedOn", "Time=="+time.Now().Format("2006-01-02 15:04:05"))
inlineKeyboard := tu.InlineKeyboard(
tu.InlineKeyboardRow(
@@ -840,7 +853,7 @@ func (t *Tgbot) searchClient(chatId int64, email string, messageID ...int) {
flag := false
diff := traffic.ExpiryTime/1000 - now
if traffic.ExpiryTime == 0 {
- expiryTime = t.I18nBot("tgbot.unlimited")
+ expiryTime = t.I18nBot("tgbot.unlimited")
} else if diff > 172800 || !traffic.Enable {
expiryTime = time.Unix((traffic.ExpiryTime / 1000), 0).Format("2006-01-02 15:04:05")
} else if traffic.ExpiryTime < 0 {
@@ -860,7 +873,7 @@ func (t *Tgbot) searchClient(chatId int64, email string, messageID ...int) {
output := ""
output += t.I18nBot("tgbot.messages.email", "Email=="+traffic.Email)
- if (traffic.Enable) {
+ if traffic.Enable {
output += t.I18nBot("tgbot.messages.active")
if flag {
output += t.I18nBot("tgbot.messages.expireIn", "Time=="+expiryTime)
@@ -918,7 +931,7 @@ func (t *Tgbot) searchInbound(chatId int64, remark string) {
t.SendMsgToTgbot(chatId, msg)
return
}
-
+
now := time.Now().Unix()
for _, inbound := range inbouds {
info := ""
@@ -958,7 +971,7 @@ func (t *Tgbot) searchInbound(chatId int64, remark string) {
output := ""
output += t.I18nBot("tgbot.messages.email", "Email=="+traffic.Email)
- if (traffic.Enable) {
+ if traffic.Enable {
output += t.I18nBot("tgbot.messages.active")
if flag {
output += t.I18nBot("tgbot.messages.expireIn", "Time=="+expiryTime)
@@ -998,7 +1011,7 @@ func (t *Tgbot) searchForClient(chatId int64, query string) {
flag := false
diff := traffic.ExpiryTime/1000 - now
if traffic.ExpiryTime == 0 {
- expiryTime = t.I18nBot("tgbot.unlimited")
+ expiryTime = t.I18nBot("tgbot.unlimited")
} else if diff > 172800 || !traffic.Enable {
expiryTime = time.Unix((traffic.ExpiryTime / 1000), 0).Format("2006-01-02 15:04:05")
} else if traffic.ExpiryTime < 0 {
@@ -1018,7 +1031,7 @@ func (t *Tgbot) searchForClient(chatId int64, query string) {
output := ""
output += t.I18nBot("tgbot.messages.email", "Email=="+traffic.Email)
- if (traffic.Enable) {
+ if traffic.Enable {
output += t.I18nBot("tgbot.messages.active")
if flag {
output += t.I18nBot("tgbot.messages.expireIn", "Time=="+expiryTime)
@@ -1117,7 +1130,7 @@ func (t *Tgbot) getExhausted() string {
for _, traffic := range exhaustedClients {
expiryTime := ""
flag := false
- diff := (traffic.ExpiryTime - now)/1000
+ diff := (traffic.ExpiryTime - now) / 1000
if traffic.ExpiryTime == 0 {
expiryTime = t.I18nBot("tgbot.unlimited")
} else if diff > 172800 || !traffic.Enable {
@@ -1138,7 +1151,7 @@ func (t *Tgbot) getExhausted() string {
}
output += t.I18nBot("tgbot.messages.email", "Email=="+traffic.Email)
- if (traffic.Enable) {
+ if traffic.Enable {
output += t.I18nBot("tgbot.messages.active")
if flag {
output += t.I18nBot("tgbot.messages.expireIn", "Time=="+expiryTime)