public async Task HandleNewSubscriberEvent(NewSubscriberEvent e) { await Task.CompletedTask; // Notify schedule auth // var child = await _repository.FindByUUID<Schedule>(e.ChildScheduleUuid).Include(x => x.Parent).FirstOrDefaultAsync(); // if (child == null) return; // var auth = await _uCenter.GetUser(x => x.UserId, child.Parent.UserId); // if (auth == null) return; // var subscriber = await _uCenter.GetUser(x => x.UserId, child.UserId); // if (subscriber == null) return; // var msg = new Notification // { // RecipientId = auth.SpaceUserId, // Title = $"有用户借鉴了您的「{child.Parent.Title}」", // Content = $@"<p>亲爱的 {auth.DisplayName} 同学:</p> // <p> // <b> // <a href='{AppConst.DomainAddress}/schedules/u/{subscriber.Alias}/{child.Id}'> // {subscriber.DisplayName}</a> // </b> // 借鉴了您的学习计划 // <a href='{AppConst.DomainAddress}/schedules/u/{auth.Alias}/{child.ParentId}'> // 「{child.Parent.Title}」 // </a> // </p>" // }; // await _msgSvc.NotifyAsync(msg); }
private void ProcessNewSubscriberEvent(NewSubscriberEvent newSubscriberEvent) { var sentenceConfiguration = configurationManager.LoadConfiguration <SentenceConfiguration>(); ChannelUser user = newSubscriberEvent.User; bus.Publish(new TextToSpeechEvent(user, string.Format(sentenceConfiguration.SubscriberAlert, user.Username))); }
private void Client_OnNewSubscriber(object sender, OnNewSubscriberArgs e) { ChannelUser user = new ChannelUser(e.Subscriber.UserId, e.Subscriber.DisplayName, e.Subscriber.DisplayName); ChannelUser resolvedUser = usernameResolver.ResolveUsername(user); NewSubscriberEvent newSubscriber = new NewSubscriberEvent(resolvedUser); bus.Publish(newSubscriber); }
public async Task HandleNewSubscriberEvent(NewSubscriberEvent e) { var id = await _repository.FindByUUID <Schedule>(e.ParentScheduleUuid).Select(x => x.Id).FirstOrDefaultAsync(); await _cache.RemoveAsync(CacheKeyStore.ScheduleFollowings(id)); }