/// <summary> /// Возвращает информацию о беседе /// </summary> /// <param name="chatId">Идентификатор беседы.</param> /// <param name="fields">Список дополнительных полей профилей, которые необходимо вернуть.</param> /// <param name="nameCase">Падеж для склонения имени и фамилии пользователя. </param> /// <returns> /// После успешного выполнения возварщает список объектов, описывающих беседу (мультидиалог). /// </returns> /// <remarks> /// Для вызова этого метода Ваше приложение должно иметь права с битовой маской, содержащей <see cref="Settings.Messages"/>. /// <a href="http://vk.com/dev/messages.getChat"/>Страница документации ВКонтакте</a> . /// </remarks> public Chat GetChat(long chatId, ProfileFields fields = null, Enums.SafetyEnums.NameCase nameCase = null) { return(GetChat(new long[] { chatId }, fields, nameCase).FirstOrDefault()); }
public ReadOnlyCollection <Chat> GetChat(IEnumerable <long> chatIds, ProfileFields fields = null, Enums.SafetyEnums.NameCase nameCase = null) { if (chatIds == null || chatIds.Count <long>() == 0) { throw new ArgumentException("At least one chat ID must be defined", "chatIds"); } var parameters = new VkParameters { { "fields", fields }, { "name_case", nameCase } }; if (chatIds.Count <long>() > 1) { string ids = ""; foreach (long chatId in chatIds) { ids += chatId.ToString() + ','; } parameters.Add("chat_ids", ids.Remove(ids.Length - 1, 1)); } else { parameters.Add("chat_id", chatIds.ElementAt(0)); } var response = _vk.Call("messages.getChat", parameters); if (chatIds.Count <long>() > 1) { return(response.ToReadOnlyCollectionOf <Chat>(c => c)); } else { return(new ReadOnlyCollection <Chat>(new List <Chat> { response })); } }
public ReadOnlyCollection <Chat> GetChat(IEnumerable <long> chatIds, ProfileFields fields = null, Enums.SafetyEnums.NameCase nameCase = null) { bool isNoEmpty = chatIds == null || !chatIds.Any(); if (isNoEmpty) { throw new ArgumentException("At least one chat ID must be defined", "chatIds"); } var parameters = new VkParameters { { "fields", fields }, { "name_case", nameCase } }; if (chatIds.Count() > 1) { parameters.Add("chat_ids", chatIds); } else { parameters.Add("chat_id", chatIds.ElementAt(0)); } var response = _vk.Call("messages.getChat", parameters); if (chatIds.Count() > 1) { return(response.ToReadOnlyCollectionOf <Chat>(c => c)); } return(new ReadOnlyCollection <Chat>(new List <Chat> { response })); }