Beispiel #1
0
        void NewSeen(string network, string nick, string ident, string text)
        {
            SeenInfo i = FindIdent(network, ident, l);

            if (i == null)
            {
                i         = new SeenInfo();
                i.Date    = DateTime.Now;
                i.Ident   = ident;
                i.Names   = new List <string>();
                i.Network = network;
                i.Text    = text;
                l.Add(i);
            }
            else
            {
                i.Date = DateTime.Now;
                i.Text = text;
            }

            if (!i.Names.Contains(nick))
            {
                i.Names.Add(nick);
            }

            SaveToFile <List <SeenInfo> >(l, "Seen");
        }
Beispiel #2
0
        public ActionResult PersonMonitor(int eventId, int userId)
        {
            var eventt = EventCommand.Get(eventId);
            var user   = UserCommand.Get(userId);

            var seenInfo = AreYouOkCommand.GetSeenInfo(eventId, userId);

            if (seenInfo == null)
            {
                seenInfo = new SeenInfo();
            }

            if (LoggedUserIs(RoleEnum.EventAdministrator) && eventt.Organizer.Id != GetLoggedUser().Id)
            {
                return(RedirectToAction("Monitor", "EventMonitor", new { id = eventId }));
            }

            var status = IAmOkEnum.WithoutAnswer;

            var statusRow = AreYouOkEvents.Where(x => x.Target == user && x.Event == eventt).FirstOrDefault();

            if (statusRow?.ReplyDatetime != null)
            {
                status = statusRow.IAmOk ? IAmOkEnum.Ok : IAmOkEnum.NotOk;
            }

            var eventPersonMonitorModel = new EventPersonMonitorModel()
            {
                Username          = user.Username,
                Image             = user.Image,
                EventId           = eventId,
                UserId            = userId,
                EventLatitude     = eventt.Latitude,
                EventLongitude    = eventt.Longitude,
                EventName         = eventt.Name,
                Status            = status,
                Seen              = seenInfo.Seen,
                SeenOk            = seenInfo.SeenOk,
                SeenNotOk         = seenInfo.SeenNotOk,
                SeenWithoutAnswer = seenInfo.SeenWithoutAnswer
            };

            return(View(eventPersonMonitorModel));
        }
Beispiel #3
0
        void Bot_OnMessage(Network network, Irc.IrcEventArgs e)
        {
            if (IsMatch("^seen \\?$", e.Data.Message))
            {
                AnswerWithNotice(network, e, FormatBold("Use of Seen plugin:"));
                AnswerWithNotice(network, e, FormatItalic("seen <nick>") + " - Displays information when the Bot last saw <nick>.");
            }
            else if (IsMatch("^seen (?<nick>.*)$", e.Data.Message))
            {
                SeenInfo i = FindName(network.Name, Matches["nick"].ToString(), l);
                if (i == null)
                {
                    Answer(network, e, "I never saw " + Matches["nick"].ToString() + " before.");
                }
                else if (i.Ident == e.Data.Ident)
                {
                    Answer(network, e, "Looking for yourself, eh?");
                }
                else
                {
                    string   hour   = "hours";
                    string   minute = "minutes";
                    TimeSpan t      = (TimeSpan)(DateTime.Now - i.Date);
                    if (t.TotalHours == 1)
                    {
                        hour = "hour";
                    }
                    if (t.Minutes == 1)
                    {
                        minute = "minute";
                    }
                    Answer(network, e, "I saw " + Matches["nick"].ToString() + " " + Convert.ToInt16(t.TotalHours).ToString() + " " + hour + " and " + t.Minutes.ToString() + " " + minute + " ago, " + i.Text + ".");
                }
            }

            NewSeen(network.Name, e.Data.Nick, e.Data.Ident, "on " + e.Data.Channel + ", saying " + e.Data.Message);
        }
Beispiel #4
0
        void NewSeen(string network, string nick, string ident, string text)
        {
            SeenInfo i = FindIdent(network, ident, l);
            if (i == null) {
                i = new SeenInfo();
                i.Date = DateTime.Now;
                i.Ident = ident;
                i.Names = new List<string>();
                i.Network = network;
                i.Text = text;
                l.Add(i);
            }
            else {
                i.Date = DateTime.Now;
                i.Text = text;
            }

            if (!i.Names.Contains(nick))
                i.Names.Add(nick);

            Save(l);
        }