public IHttpActionResult PostMessage(MessageNew message) { if (message.Description.Trim().Length < 0 || message.Receivers.Count < 0) { return(BadRequest()); } var userId = RequestContext.Principal.Identity.GetUserId(); var description = message.Description; for (var i = 0; i < message.Receivers.Count; i++) { db.Messages.Add(new Message { Description = description, Time = DateTime.Now, SenderID = userId, IsRead = false, IsDeleted = false, ReceiverID = message.Receivers.ElementAt(i) }); } db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { success = true }, message)); }
public ICommand CreateCommand(MessageNew messageNew) { var message = messageNew.Message; ICommand command; switch (message.Text.Split()[0]) { case ZoomLinkCommand.CommandStart: command = new ZoomLinkCommand(message, _sender); break; case TimetableCommand.CommandStart: command = new TimetableCommand(message, _sender); break; default: command = new EmptyMessageCommand(message, _sender); break; } if (GetNeedKeyboard(command) && !messageNew.ClientInfo.InlineKeyboard) { var sb = new StringBuilder(); sb.AppendLine("Your client not support inline keyboard!"); sb.AppendLine("Please use TG bot: https://t.me/leti_group_0310_bot"); return(new ErrorMessageCommand(message, _sender, sb.ToString())); } return(command); }
public async Task <IActionResult> CallBack([FromBody] Updates updates) { switch (updates.Type) { case "confirmation": return(Ok(Cfg["ConfirmCode"])); case "message_new": var message = MessageNew.FromJson(new VkResponse(updates.Object)).Message; if (message.Text == "/start") { await VkHelper.SendMsg(message.PeerId, "Сова инициализирована.", VkHelper.DefaultKeyboard); } if (string.IsNullOrEmpty(message.Payload)) { return(Ok("ok")); } var payload = (string)JObject.Parse(message.Payload)["button"] ?? string.Empty; string week; switch (payload) { case "lessons_today": week = await Parser.ParseWeek(0); await VkHelper.SendMsg(message.PeerId, week.ExtractDay((byte)DateTime.Now.Day)); break; case "lessons_current": week = await Parser.ParseWeek(0); await VkHelper.SendMsg(message.PeerId, week); break; case "lessons_next": week = await Parser.ParseWeek(1); await VkHelper.SendMsg(message.PeerId, week); break; case "lessons_all": week = await Parser.ParseAll(); await VkHelper.SendMsg(message.PeerId, week); break; } break; } return(Ok("ok")); }
private async void DetectTypeEvent(Updates updates) { foreach (var update in updates.updates) { int codeTypeEvent = Convert.ToInt32(update[0]); if (codeTypeEvent == 61) { //MessageBox.Show("Петрович набирает сообщение"); } //4,$message_id,$flags,$from_id,$timestamp,$subject,$text,$attachments if (codeTypeEvent == 4) { //получаем новые сообщения LongPullMessageModel longPullMessageModel = await _vkApi.Messages.GetLongPollHistoryAsynk(ts, pts); var message = new MessageNew { TypeEvent = Convert.ToInt32(update[0]), MessageId = Convert.ToInt32(update[1]), Flags = Convert.ToInt32(update[2]), FromId = Convert.ToInt32(update[3]), Timestamp = Convert.ToInt32(update[4]), Subject = Convert.ToString(update[5]), Text = Convert.ToString(update[6]) }; NewMessageWindow newMessage = new NewMessageWindow(longPullMessageModel); newMessage.Show(); if (NewMessage != null) { NewMessage(longPullMessageModel); } } } }
public void AnonMethods() { // anon methods used for creation of delegate exemplars MessageNew handler = delegate(string s) { Console.WriteLine(s); }; // has access to outside var-s int i = 5; AddNew add = delegate(int x, int y) { return(x + y + i); }; //var del = delegate (string s) -> can not assign delegate to implicitly typed variable - ERROR //{ // Console.WriteLine(s); //}; // anon method can be passed as a param: Messaging("hello", delegate(string s) { Console.WriteLine(s); }); }
public MessageContext(MessageNew rawMessage) { Body = rawMessage.Message; ClientInfo = rawMessage.ClientInfo; }
private void Messaging(string s, MessageNew del) { del(s); }
public MessageToProcess(IVkApi botClient, MessageNew message) { BotClient = botClient; Message = message; }