Public Access
tmp?
This commit is contained in:
@@ -29,49 +29,48 @@ func main() {
|
|||||||
discordChannelID := os.Getenv("DISCORD_CHANNEL_ID") // string
|
discordChannelID := os.Getenv("DISCORD_CHANNEL_ID") // string
|
||||||
vkPeerID := os.Getenv("VK_PEER_ID") // int
|
vkPeerID := os.Getenv("VK_PEER_ID") // int
|
||||||
|
|
||||||
forward := func(text string, from string) {
|
forward := func(text string, from string) {
|
||||||
log.Printf("[Bridge] Пересылка сообщения от %s: %s", from, text)
|
log.Printf("[Bridge] Пересылка сообщения от %s: %s", from, text)
|
||||||
|
|
||||||
// Определяем источник и рассылаем в остальные платформы
|
// Определяем источник и рассылаем в остальные платформы
|
||||||
switch {
|
switch {
|
||||||
case from == "telegram":
|
case from == "telegram":
|
||||||
// В Discord и VK
|
// В Discord и VK
|
||||||
if discordChannelID != "" {
|
if discordChannelID != "" {
|
||||||
_ = bridge.SendToDiscord(discordChannelID, "[TG] "+text)
|
_ = bridge.SendToDiscord(discordChannelID, "[TG] "+from+": "+text)
|
||||||
}
|
}
|
||||||
if vkPeerID != "" {
|
if vkPeerID != "" {
|
||||||
// конвертация vkPeerID в int
|
if id, err := strconv.Atoi(vkPeerID); err == nil {
|
||||||
if id, err := strconv.Atoi(vkPeerID); err == nil {
|
_ = bridge.SendToVK(id, "[TG] "+from+": "+text)
|
||||||
_ = bridge.SendToVK(id, "[TG] "+text)
|
}
|
||||||
}
|
}
|
||||||
}
|
case from == "discord":
|
||||||
case from == "discord":
|
// В Telegram и VK
|
||||||
// В Telegram и VK
|
if telegramChatID != "" {
|
||||||
if telegramChatID != "" {
|
if id, err := strconv.ParseInt(telegramChatID, 10, 64); err == nil {
|
||||||
if id, err := strconv.ParseInt(telegramChatID, 10, 64); err == nil {
|
_ = bridge.SendToTelegram(id, "[DS] "+from+": "+text)
|
||||||
_ = bridge.SendToTelegram(id, "[DS] "+text)
|
}
|
||||||
}
|
}
|
||||||
}
|
if vkPeerID != "" {
|
||||||
if vkPeerID != "" {
|
if id, err := strconv.Atoi(vkPeerID); err == nil {
|
||||||
if id, err := strconv.Atoi(vkPeerID); err == nil {
|
_ = bridge.SendToVK(id, "[DS] "+from+": "+text)
|
||||||
_ = bridge.SendToVK(id, "[DS] "+text)
|
}
|
||||||
}
|
}
|
||||||
}
|
default:
|
||||||
case from == "vk":
|
// Считаем, что from — это VK ID
|
||||||
// В Telegram и Discord
|
if telegramChatID != "" {
|
||||||
if telegramChatID != "" {
|
if id, err := strconv.ParseInt(telegramChatID, 10, 64); err == nil {
|
||||||
if id, err := strconv.ParseInt(telegramChatID, 10, 64); err == nil {
|
_ = bridge.SendToTelegram(id, "[VK] VK ID "+from+": "+text)
|
||||||
_ = bridge.SendToTelegram(id, "[VK] "+text)
|
}
|
||||||
}
|
}
|
||||||
}
|
if discordChannelID != "" {
|
||||||
if discordChannelID != "" {
|
_ = bridge.SendToDiscord(discordChannelID, "[VK] VK ID "+from+": "+text)
|
||||||
_ = bridge.SendToDiscord(discordChannelID, "[VK] "+text)
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
bridge.StartTelegramListener(func(text, _ string) { forward(text, "telegram") })
|
bridge.StartTelegramListener(func(text, from string) { forward(text, from) })
|
||||||
bridge.StartDiscordListener(func(text, _ string) { forward(text, "discord") })
|
bridge.StartDiscordListener(func(text, from string) { forward(text, from) })
|
||||||
bridge.StartVKListener(func(text, _ string) { forward(text, "vk") })
|
bridge.StartVKListener(func(text, _ string) { forward(text, "vk") })
|
||||||
|
|
||||||
select {} // Блокируем main, чтобы слушатели работали
|
select {} // Блокируем main, чтобы слушатели работали
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ func (b *Bridge) StartTelegramListener(forward func(text string, from string)) {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
log.Printf("[Telegram] %s: %s", update.Message.From.UserName, update.Message.Text)
|
log.Printf("[Telegram] %s: %s", update.Message.From.UserName, update.Message.Text)
|
||||||
|
// Передаём имя отправителя
|
||||||
forward(update.Message.Text, update.Message.From.UserName)
|
forward(update.Message.Text, update.Message.From.UserName)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|||||||
+2
-1
@@ -29,7 +29,8 @@ func (b *Bridge) StartVKListener(forward func(text string, from string)) {
|
|||||||
|
|
||||||
lp.MessageNew(func(_ context.Context, obj events.MessageNewObject) {
|
lp.MessageNew(func(_ context.Context, obj events.MessageNewObject) {
|
||||||
log.Printf("[VK] %d: %s", obj.Message.FromID, obj.Message.Text)
|
log.Printf("[VK] %d: %s", obj.Message.FromID, obj.Message.Text)
|
||||||
forward(obj.Message.Text, "vk:"+strconv.Itoa(obj.Message.FromID))
|
// Передаём текст и имя отправителя (ID)
|
||||||
|
forward(obj.Message.Text, strconv.Itoa(obj.Message.FromID))
|
||||||
})
|
})
|
||||||
go lp.Run()
|
go lp.Run()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user