public void FriendAndMember_False() { Friend friend = new Friend() { Identity = 123 }; RelationMatcher matcher = RelationMatcher.FromMember(321, friend.Identity); Assert.IsFalse(matcher.Match(friend)); }
public void FriendAndFriend_True() { Friend friend = new Friend() { Identity = 123 }; RelationMatcher matcher = RelationMatcher.FromFriend(friend.Identity); Assert.IsTrue(matcher.Match(friend)); }
public void AnyMember_False() { Member member = new Member() { Group = new Lazy <Group>(new Group() { Identity = 321 }), Identity = 123 }; RelationMatcher matcher = RelationMatcher.FromGroup(233); Assert.IsFalse(matcher.Match(member)); }
public void MemberAndMember_True() { Member member = new Member() { Group = new Lazy <Group>(new Group() { Identity = 321 }), Identity = 123 }; RelationMatcher matcher = RelationMatcher.FromMember(member.Group.Value.Identity, member.Identity); Assert.IsTrue(matcher.Match(member)); }
public async Task TrackGroup(Group group, Member sender) { _repository.Store(new ForwardChannel(RelationMatcher.FromGroup(group.Identity), sender.Identity, MessageEventType.Friend)); await group.SendPlainAsync($"转发本群消息到好友 {sender.Nickname}"); }
public async Task TrackGroup(Group group, long dest) { _repository.Store(new ForwardChannel(RelationMatcher.FromGroup(group.Identity), dest, MessageEventType.Group)); await group.SendPlainAsync($"转发本群消息到群 {dest}"); }
public ForwardChannel(RelationMatcher rule, long destination, MessageEventType type) { Rule = rule; Destination = destination; DestinationType = type; }
public ForwardChannel() { Rule = new RelationMatcher("*:*"); Destination = 10000; DestinationType = MessageEventType.Friend; }