Добавлены все файлы с рабочего стола (максимальная версия)

This commit is contained in:
XzbestX
2026-05-27 10:41:43 +09:00
parent cb0dcedfec
commit 5cf96bb461
5 changed files with 15 additions and 32 deletions
+3 -7
View File
@@ -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
-7
View File
@@ -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
+7 -10
View File
@@ -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
View File
@@ -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
View File
@@ -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
} }