Skip to content
Snippets Groups Projects
Commit 8f000d66 authored by Ophestra's avatar Ophestra
Browse files

relay join/leave

parent 8a0d1f80
No related branches found
No related tags found
No related merge requests found
......@@ -147,12 +147,76 @@ func respondTelegram(update tgbotapi.Update) {
}
var (
username = "unknown"
id = -1
dMessageID = "-1"
dGuildID = "-1"
dChannelID = "-1"
)
if newP := update.Message.NewChatMembers; newP != nil {
newV := *newP
if len(newV) <= 0 {
return
}
content := newV[0].FirstName
for i := 1; i < len(newV); i++ {
content += newV[i].FirstName
log.Printf("T%vM%v -> D%vM%s @%s (%v) [join]",
tc.ID, update.Message.MessageID, dc.ID, dMessageID, newV[i].UserName, newV[i].ID)
}
if message, err := session.ChannelMessageSend(strconv.Itoa(dc.ID), fmt.Sprintf("%s joined the Telegram chat.", content)); err != nil {
msg := tgbotapi.NewMessage(update.Message.Chat.ID, "error relaying message")
msg.ReplyToMessageID = update.Message.MessageID
log.Printf("error relaying message %v: %s", update.Message.MessageID, err.Error())
_, _ = botAPI.Send(msg)
return
} else {
dMessageID = message.ID
dChannelID = message.ChannelID
dGuildID = message.GuildID
}
messageReference[update.Message.MessageID] = &discordgo.MessageReference{
MessageID: dMessageID,
ChannelID: dChannelID,
GuildID: dGuildID,
}
referenceMessage[dMessageID] = update.Message.MessageID
hasHeader[update.Message.MessageID] = false
return
}
if left := update.Message.LeftChatMember; left != nil {
if message, err := session.ChannelMessageSend(strconv.Itoa(dc.ID), fmt.Sprintf("%s left the Telegram chat.", left.FirstName)); err != nil {
msg := tgbotapi.NewMessage(update.Message.Chat.ID, "error relaying message")
msg.ReplyToMessageID = update.Message.MessageID
log.Printf("error relaying message %v: %s", update.Message.MessageID, err.Error())
_, _ = botAPI.Send(msg)
return
} else {
dMessageID = message.ID
dChannelID = message.ChannelID
dGuildID = message.GuildID
}
messageReference[update.Message.MessageID] = &discordgo.MessageReference{
MessageID: dMessageID,
ChannelID: dChannelID,
GuildID: dGuildID,
}
referenceMessage[dMessageID] = update.Message.MessageID
hasHeader[update.Message.MessageID] = false
log.Printf("T%vM%v -> D%vM%s @%s (%v) [leave]",
tc.ID, update.Message.MessageID, dc.ID, dMessageID, left.UserName, left.ID)
return
}
var (
username = "unknown"
id = -1
)
if update.Message.From != nil {
username = update.Message.From.UserName
id = update.Message.From.ID
......@@ -215,6 +279,7 @@ func respondTelegram(update tgbotapi.Update) {
msg.ReplyToMessageID = update.Message.MessageID
log.Printf("error relaying message %v: %s", update.Message.MessageID, err.Error())
_, _ = botAPI.Send(msg)
return
} else {
dMessageID = message.ID
dChannelID = message.ChannelID
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment