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"); }