Skip to content

Commit

Permalink
TgUpdate.ChatMemberUpdated
Browse files Browse the repository at this point in the history
  • Loading branch information
shoce committed Jun 7, 2024
1 parent e70404a commit eb3abef
Showing 1 changed file with 33 additions and 5 deletions.
38 changes: 33 additions & 5 deletions tgzebot.go
Original file line number Diff line number Diff line change
Expand Up @@ -230,12 +230,22 @@ type TgGetUpdatesResponse struct {
Result []TgUpdate `json:"result"`
}

type TgChatMemberUpdated struct {
Chat TgChat `json:"chat"`
From TgUser `json:"from"`
OldChatMember TgChatMember `json:"old_chat_member"`
NewChatMember TgChatMember `json:"new_chat_member"`
ViaJoinRequest bool `json:"via_join_request"`
ViaChatFolderInviteLink bool `json:"via_chat_folder_invite_link"`
}

type TgUpdate struct {
UpdateId int64 `json:"update_id"`
Message TgMessage `json:"message"`
EditedMessage TgMessage `json:"edited_message"`
ChannelPost TgMessage `json:"channel_post"`
EditedChannelPost TgMessage `json:"edited_channel_post"`
UpdateId int64 `json:"update_id"`
Message TgMessage `json:"message"`
EditedMessage TgMessage `json:"edited_message"`
ChannelPost TgMessage `json:"channel_post"`
EditedChannelPost TgMessage `json:"edited_channel_post"`
ChatMemberUpdated TgChatMemberUpdated `json:"my_chat_member"`
}

type TgGetChatResponse struct {
Expand Down Expand Up @@ -954,6 +964,24 @@ func main() {
m = u.EditedChannelPost
ischannelpost = true
iseditmessage = true
} else if u.ChatMemberUpdated.Chat.Id != 0 {
cmu := u.ChatMemberUpdated
report := fmt.Sprintf(
"*MyChatMemberUpdated*"+NL+
"from: \\@%s id:%d"+NL+
"chat: id:%d type:%s title:%s"+NL+
"old member: \\@%s id:%d status:%s"+NL+
"new member: \\@%s id:%d status:%s"+NL+
"",
cmu.From.Username, cmu.From.Id,
cmu.Chat.Id, cmu.Chat.Type, cmu.Chat.Title,
cmu.OldChatMember.User.Username, cmu.OldChatMember.User.Id, cmu.OldChatMember.Status,
cmu.NewChatMember.User.Username, cmu.NewChatMember.User.Id, cmu.NewChatMember.Status,
)
_, err = tgsendMessage(report, TgZeChatId, "MarkdownV2", 0)
if err != nil {
log("tgsendMessage: %v", err)
}
} else {
log("Unsupported type of update received:"+NL+"%s", respjson)
_, err = tgsendMessage(fmt.Sprintf("Unsupported type of update received:"+NL+"```"+NL+"%s"+NL+"```", respjson), TgZeChatId, "MarkdownV2", 0)
Expand Down

0 comments on commit eb3abef

Please sign in to comment.