From 1be5da67fee7cf106927b6ea4269f6be4dc4007b Mon Sep 17 00:00:00 2001 From: Maxim Lebedev Date: Tue, 5 Sep 2017 01:34:22 +0500 Subject: [PATCH] :sparkles: Added getChat method --- get_chat.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 get_chat.go diff --git a/get_chat.go b/get_chat.go new file mode 100644 index 0000000..5fd55b5 --- /dev/null +++ b/get_chat.go @@ -0,0 +1,28 @@ +package telegram + +import ( + json "github.com/pquerna/ffjson/ffjson" + http "github.com/valyala/fasthttp" +) + +// GetChat get up to date information about the chat (current name of the user for one-on-one conversations, current username of a user, group or channel, etc.). Returns a Chat object on success. +func (bot *Bot) GetChat(chat interface{}) (*Chat, error) { + var args http.Args + switch id := chatID.(type) { + case int64: // Unique identifier for the target chat... + args.Add("chat_id", strconv.FormatInt(id, 10)) + case string: // ...or username of the target supergroup or channel (in the format @channelusername) + args.Add("chat_id", id) + default: + return nil, errors.New(errorInt64OrString) + } + + resp, err := bot.get("getChat", &args) + if err != nil { + return nil, err + } + + var data Chat + err = json.Unmarshal(*resp.Result, &data) + return &data, err +}