Добавлены все файлы с рабочего стола (максимальная версия)
This commit is contained in:
+3
-7
@@ -1,6 +1,6 @@
|
|||||||
TG_TOKEN=8627237404:AAG8wBzJOrTVpxQul93S98N5F6E513r6ImQ
|
TG_TOKEN=8845243080:AAHUN8uooRapQbH4hBN5gPX9kkZqKj8ixnI
|
||||||
MAX_TOKEN=f9LHodD0cOKnd3fqVPTcDK3htO_ZkeYXd0YMddIswlYakC0_EwMG7DucyrZh0-E4ki9d5c-WaygJBnQp-8MS
|
MAX_TOKEN=f9LHodD0cOJYa8zzWI_4KS_mUCnUSIcmxlPIoJXIujjapnGbNMQfreciWRtC_StLAPuzewChQ-BJ2CHokFPL
|
||||||
|
TG_API_URL=http://dpi-bypass:8443
|
||||||
|
|
||||||
# Max file size for forwarding (in MB). 0 or not set = unlimited.
|
# Max file size for forwarding (in MB). 0 or not set = unlimited.
|
||||||
# TG→MAX: Telegram getFile API is limited to 20 MB.
|
# TG→MAX: Telegram getFile API is limited to 20 MB.
|
||||||
@@ -19,10 +19,6 @@ MAX_TOKEN=f9LHodD0cOKnd3fqVPTcDK3htO_ZkeYXd0YMddIswlYakC0_EwMG7DucyrZh0-E4ki9d5c
|
|||||||
# WEBHOOK_URL=https://bridge.example.com
|
# WEBHOOK_URL=https://bridge.example.com
|
||||||
# WEBHOOK_PORT=8443
|
# WEBHOOK_PORT=8443
|
||||||
|
|
||||||
# Локальный Telegram Bot API сервер (снимает лимиты на размер файлов)
|
|
||||||
# https://github.com/tdlib/telegram-bot-api
|
|
||||||
# TG_API_URL=http://localhost:8081
|
|
||||||
|
|
||||||
# Уровень логирования: debug, info (по умолчанию), warn, error
|
# Уровень логирования: debug, info (по умолчанию), warn, error
|
||||||
# LOG_LEVEL=info
|
# LOG_LEVEL=info
|
||||||
|
|
||||||
|
|||||||
@@ -8,9 +8,6 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
postgres:
|
postgres:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
networks:
|
|
||||||
- default
|
|
||||||
- caddy-net
|
|
||||||
|
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:17-alpine
|
image: postgres:17-alpine
|
||||||
@@ -29,7 +26,3 @@ services:
|
|||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
pgdata:
|
pgdata:
|
||||||
|
|
||||||
networks:
|
|
||||||
caddy-net:
|
|
||||||
external: true
|
|
||||||
|
|||||||
@@ -184,10 +184,8 @@ func (b *Bridge) listenMax(ctx context.Context) {
|
|||||||
|
|
||||||
if text == "/whoami" {
|
if text == "/whoami" {
|
||||||
m := maxbot.NewMessage().SetChat(chatID).SetText(
|
m := maxbot.NewMessage().SetChat(chatID).SetText(
|
||||||
"MaxTelegramBridgeBot — мост между Telegram и MAX.\n" +
|
"Бот-мост между MAX и Telegram.\n" +
|
||||||
"Автор: Andrey Lugovskoy (@BEARlogin)\n" +
|
"Версия: 0.3.2")
|
||||||
"Исходники: https://github.com/BEARlogin/max-telegram-bridge-bot\n" +
|
|
||||||
"Лицензия: CC BY-NC 4.0")
|
|
||||||
b.maxApi.Messages.Send(ctx, m)
|
b.maxApi.Messages.Send(ctx, m)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@@ -221,8 +219,7 @@ func (b *Bridge) listenMax(ctx context.Context) {
|
|||||||
" MAX: " + b.cfg.MaxBotURL + "\n" +
|
" MAX: " + b.cfg.MaxBotURL + "\n" +
|
||||||
"2. В одном из чатов отправьте /bridge\n" +
|
"2. В одном из чатов отправьте /bridge\n" +
|
||||||
"3. Бот выдаст ключ — отправьте его в другом чате\n" +
|
"3. Бот выдаст ключ — отправьте его в другом чате\n" +
|
||||||
"4. Готово!\n\n" +
|
"4. Готово!")
|
||||||
"Поддержка: https://github.com/BEARlogin/max-telegram-bridge-bot/issues")
|
|
||||||
b.maxApi.Messages.Send(ctx, m)
|
b.maxApi.Messages.Send(ctx, m)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@@ -419,11 +416,11 @@ func (b *Bridge) listenMax(ctx context.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Достаём TG owner ID (кто переслал пост из TG-канала в TG-бот)
|
// Достаём TG owner ID (кто переслал пост из TG-канала в TG-бот)
|
||||||
b.cpTgOwnerMu.Lock()
|
b.cpTgOwnerMu.Lock()
|
||||||
tgOwnerID := b.cpTgOwner[tgChannelID]
|
tgOwnerID := b.cpTgOwner[tgChannelID]
|
||||||
b.cpTgOwnerMu.Unlock()
|
b.cpTgOwnerMu.Unlock()
|
||||||
|
|
||||||
if err := b.repo.PairCrosspost(tgChannelID, maxChannelID, msgUpd.Message.Sender.UserId, tgOwnerID); err != nil {
|
if err := b.repo.PairCrosspost(tgChannelID, maxChannelID, msgUpd.Message.Sender.UserId, tgOwnerID); err != nil {
|
||||||
slog.Error("crosspost pair failed", "err", err)
|
slog.Error("crosspost pair failed", "err", err)
|
||||||
m := maxbot.NewMessage().SetChat(chatID).SetText("Ошибка при создании связки.")
|
m := maxbot.NewMessage().SetChat(chatID).SetText("Ошибка при создании связки.")
|
||||||
b.maxApi.Messages.Send(ctx, m)
|
b.maxApi.Messages.Send(ctx, m)
|
||||||
|
|||||||
+3
-6
@@ -134,10 +134,8 @@ func (b *Bridge) listenTelegram(ctx context.Context) {
|
|||||||
|
|
||||||
if text == "/whoami" {
|
if text == "/whoami" {
|
||||||
b.tg.SendMessage(ctx, msg.Chat.ID,
|
b.tg.SendMessage(ctx, msg.Chat.ID,
|
||||||
"MaxTelegramBridgeBot — мост между Telegram и MAX.\n"+
|
"Бот-мост между Telegram и MAX.\n"+
|
||||||
"Автор: Andrey Lugovskoy (@BEARlogin)\n"+
|
"Версия: 0.3.2", &SendOpts{ThreadID: msg.MessageThreadID})
|
||||||
"Исходники: https://github.com/BEARlogin/max-telegram-bridge-bot\n"+
|
|
||||||
"Лицензия: CC BY-NC 4.0", &SendOpts{ThreadID: msg.MessageThreadID})
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -169,8 +167,7 @@ func (b *Bridge) listenTelegram(ctx context.Context) {
|
|||||||
"2. В MAX сделайте бота админом группы\n"+
|
"2. В MAX сделайте бота админом группы\n"+
|
||||||
"3. В одном из чатов отправьте /bridge\n"+
|
"3. В одном из чатов отправьте /bridge\n"+
|
||||||
"4. Бот выдаст ключ — отправьте /bridge <ключ> в другом чате\n"+
|
"4. Бот выдаст ключ — отправьте /bridge <ключ> в другом чате\n"+
|
||||||
"5. Готово!\n\n"+
|
"5. Готово!", &SendOpts{ThreadID: msg.MessageThreadID})
|
||||||
"Поддержка: https://github.com/BEARlogin/max-telegram-bridge-bot/issues", &SendOpts{ThreadID: msg.MessageThreadID})
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -24,7 +24,7 @@ func NewTGBotSender(ctx context.Context, token, apiURL string) (*tgBotSender, er
|
|||||||
s := &tgBotSender{
|
s := &tgBotSender{
|
||||||
token: token,
|
token: token,
|
||||||
apiURL: apiURL,
|
apiURL: apiURL,
|
||||||
updates: make(chan TGUpdate, 5000),
|
updates: make(chan TGUpdate, 100),
|
||||||
}
|
}
|
||||||
|
|
||||||
opts := []bot.Option{
|
opts := []bot.Option{
|
||||||
@@ -237,7 +237,7 @@ func (s *tgBotSender) GetFile(ctx context.Context, fileID string) (string, error
|
|||||||
|
|
||||||
func (s *tgBotSender) GetFileDirectURL(filePath string) string {
|
func (s *tgBotSender) GetFileDirectURL(filePath string) string {
|
||||||
if s.apiURL != "" {
|
if s.apiURL != "" {
|
||||||
return s.apiURL + "/file/bot" + s.token + "/" + filePath
|
return s.apiURL + "/" + filePath
|
||||||
}
|
}
|
||||||
return "https://api.telegram.org/file/bot" + s.token + "/" + filePath
|
return "https://api.telegram.org/file/bot" + s.token + "/" + filePath
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user