diff --git a/bot.go b/bot.go index 2fd9a8e..01cc0a6 100644 --- a/bot.go +++ b/bot.go @@ -674,14 +674,16 @@ func (bot *BotAPI) GetChatMember(config ChatConfigWithUser) (ChatMember, error) } // UnbanChatMember unbans a user from a chat. Note that this only will work -// in supergroups, and requires the bot to be an admin. +// in supergroups and channels, and requires the bot to be an admin. func (bot *BotAPI) UnbanChatMember(config ChatMemberConfig) (APIResponse, error) { v := url.Values{} - if config.SuperGroupUsername == "" { - v.Add("chat_id", strconv.FormatInt(config.ChatID, 10)) - } else { + if config.SuperGroupUsername != "" { v.Add("chat_id", config.SuperGroupUsername) + } else if config.ChannelUsername != "" { + v.Add("chat_id", config.ChannelUsername) + } else { + v.Add("chat_id", strconv.FormatInt(config.ChatID, 10)) } v.Add("user_id", strconv.Itoa(config.UserID)) diff --git a/configs.go b/configs.go index a4a0622..836d1da 100644 --- a/configs.go +++ b/configs.go @@ -883,6 +883,7 @@ type CallbackConfig struct { type ChatMemberConfig struct { ChatID int64 SuperGroupUsername string + ChannelUsername string UserID int }