/// <summary> /// Gets the number of messages sent with the /bot/message/multicast endpoint. /// The number of messages retrieved by this operation does not include the number of messages sent from LINE Official Account Manager. /// Note: LINE@ accounts under the free or basic plan cannot call this API endpoint. /// </summary> /// <param name="date">日期(yyyyMMdd)</param> /// <returns>NumberOfSentMulticastMessagesResponseModel</returns> public async Task <NumberOfSentMulticastMessagesResponseModel> GetNumberOfSentMulticastMessagesAsync(string date) { NumberOfSentMulticastMessagesResponseModel responseModel = new NumberOfSentMulticastMessagesResponseModel(); string para = $"/delivery/multicast?date={date}"; string apiResult = null; apiResult = await Utility.DoLineHttpGetAsync(MessagingApiUrl.MessageUrl, para, accessToken); responseModel = JsonConvert.DeserializeObject <NumberOfSentMulticastMessagesResponseModel>(apiResult); return(responseModel); }
/// <summary> /// 收到 "群發訊息數" 後會回覆的文字 /// </summary> /// <param name="receiveText">接收到的訊息</param> /// <returns></returns> private async Task <string> GetNumberOfSentMulticastMessagesTips(string receiveText) { string result = ""; NumberOfSentMulticastMessagesResponseModel responseModel = new NumberOfSentMulticastMessagesResponseModel(); int position = receiveText.IndexOf("."); string date = null; if (position != -1) { date = receiveText.Substring(position + 1); } else { date = DateTime.Now.ToString("yyyyMMdd"); result = @"輸入的格式有誤。 請輸入「群發訊息數.yyyyMMdd」 例如:群發訊息數.20200101"; return(result); } responseModel = await _lineClient.GetNumberOfSentMulticastMessagesAsync(date); switch (responseModel.status) { case NumberOfSentMulticastMessagesStatus.ready: result = $"{date} 使用multicast群發訊息的數量為 : {responseModel.success}"; break; case NumberOfSentMulticastMessagesStatus.unready: result = "該日的資料尚未統計完成"; break; case NumberOfSentMulticastMessagesStatus.out_of_service: result = "日期格式有誤"; break; default: result = "發生異常,暫時無法查詢"; break; } return(result); }