Esempio n. 1
0
        protected virtual void HandleCTCPReply(object sender, ICTCPEventArgs e, MessageFlags flags)
        {
            if (e.CTCPCommand.ToUpperInvariant() != "VERSION")
            {
                return;
            }

            // new or updated version entry!
            using (var ctx = GetNewContext())
            {
                VersionEntry curVer = ctx.VersionEntries
                                      .FirstOrDefault(ve => ve.Nickname == e.SenderNickname);
                if (curVer == null)
                {
                    curVer = new VersionEntry
                    {
                        Nickname = e.SenderNickname,
                    };
                    ctx.VersionEntries.Add(curVer);
                }

                curVer.VersionInfo = e.CTCPParameter;
                curVer.Timestamp   = DateTimeOffset.Now;

                ctx.SaveChanges();

                MaybeScheduleUpdate(ctx);
            }
        }
 protected virtual void OnCTCPReply(ICTCPEventArgs e)
 {
     HandleSharpIrcBotEvent(CTCPReplySubscribers, e, "CTCP reply");
 }
 protected virtual void OnCTCPRequest(ICTCPEventArgs e)
 {
     HandleSharpIrcBotEvent(CTCPRequestSubscribers, e, "CTCP request");
 }