private void ReportStatus(object state) { MatrixRoom room = Client.GetRoom (statusOpts.Room); if (room == null) { room = Client.JoinRoom (statusOpts.Room); } if (room == null) { //Couldn't update status. //TODO: Fail somehow. StopStatusReporting(); } HSStatusEvent evt = new HSStatusEvent(){ name = statusOpts.ProductName, status = HSStatusEvent.STATUS_UP, code = "OK", message = "Bot Operational", version = statusOpts.Version, timestamp = (long)((DateTime.Now - new DateTime(1970,01,01)).TotalMilliseconds) }; room.SendState(evt, "uk.half-shot.status", statusOpts.ItemName); }