Ejemplo n.º 1
0
		internal void AddMember(Member member)
		{
			_members.TryAdd(member.UserId, true);
			foreach (var channel in Channels)
			{
				member.AddChannel(channel.Id);
                channel._areMembersStale = true;
			}
        }
Ejemplo n.º 2
0
		internal void AddMember(Member member)
		{
			_members.TryAdd(member.UserId, true);
			foreach (var channel in Channels)
			{
				member.AddChannel(channel.Id);
				channel.InvalidatePermissionsCache(member.UserId);
			}
        }
Ejemplo n.º 3
0
		internal bool RemoveMember(Member member)
		{
			bool ignored;
			foreach (var channel in Channels)
			{
				member.RemoveChannel(channel.Id);
				channel.InvalidatePermissionsCache(member.UserId);
			}
			return _members.TryRemove(member.UserId, out ignored);
		}
Ejemplo n.º 4
0
		//Permissions
		public Task SetChannelUserPermissions(Channel channel, Member member, PackedChannelPermissions allow = null, PackedChannelPermissions deny = null)
			=> SetChannelPermissions(channel, member?.UserId, PermissionTarget.Member, allow, deny);
Ejemplo n.º 5
0
		/// <summary> Returns the private channel with the provided user, creating one if it does not currently exist. </summary>
		public Task<Channel> CreatePMChannel(Member member) => CreatePMChannel(member.User, member.UserId);
Ejemplo n.º 6
0
		private void RaiseMemberUpdated(Member member)
		{
			if (MemberUpdated != null)
				RaiseEvent(nameof(MemberUpdated), () => MemberUpdated(this, new MemberEventArgs(member)));
		}
Ejemplo n.º 7
0
		private void RaiseUserIsSpeaking(Member member, bool isSpeaking)
		{
			if (UserIsSpeaking != null)
				RaiseEvent(nameof(UserIsSpeaking), () => UserIsSpeaking(this, new UserIsSpeakingEventArgs(member, isSpeaking)));
		}
Ejemplo n.º 8
0
		/// <summary> Sends a private message to the provided user. </summary>
		public Task<Message[]> SendPrivateMessage(Member member, string text)
			=> SendPrivateMessage(member?.UserId, text);
Ejemplo n.º 9
0
		/// <summary> Unbans a user from the provided server. </summary>
		public Task Unban(Member member)
			=> Unban(member?.ServerId, member?.UserId);
Ejemplo n.º 10
0
		//Bans
		/// <summary> Bans a user from the provided server. </summary>
		public Task Ban(Member member)
			=> Ban(member?.ServerId, member?.UserId);
Ejemplo n.º 11
0
		//Members
		public Task EditMember(Member member, bool? mute = null, bool? deaf = null, string[] roles = null)
			=> EditMember(member?.ServerId, member?.UserId, mute, deaf, roles);
Ejemplo n.º 12
0
		public Task RemoveChannelUserPermissions(string channelId, Member member)
			=> RemoveChannelPermissions(_channels[channelId], member?.UserId, PermissionTarget.Member);
Ejemplo n.º 13
0
		public Task RemoveChannelUserPermissions(Channel channel, Member member)
			=> RemoveChannelPermissions(channel, member?.UserId, PermissionTarget.Member);
Ejemplo n.º 14
0
		public Task SetChannelUserPermissions(string channelId, Member member, PackedChannelPermissions allow = null, PackedChannelPermissions deny = null)
			=> SetChannelPermissions(_channels[channelId], member?.UserId, PermissionTarget.Member, allow, deny);
Ejemplo n.º 15
0
		internal bool RemoveMember(Member member)
		{
			bool ignored;
			foreach (var channel in Channels)
			{
				member.RemoveChannel(channel.Id);
				channel._areMembersStale = true;
			}
			return _members.TryRemove(member.UserId, out ignored);
		}
Ejemplo n.º 16
0
		public Task SetChannelUserPermissions(string channelId, Member member, PackedPermissions allow, PackedPermissions deny)
			=> SetChannelPermissions(channelId, member?.UserId, "member", allow, deny);
Ejemplo n.º 17
0
		internal UserIsSpeakingEventArgs(Member member, bool isSpeaking)
		{
			Member = member;
			IsSpeaking = isSpeaking;
		}
Ejemplo n.º 18
0
		public Task RemoveChannelUserPermissions(Channel channel, Member member)
			=> RemoveChannelPermissions(channel?.Id, member?.UserId);
Ejemplo n.º 19
0
		private void RaiseUserVoiceStateUpdated(Member member)
		{
			if (UserVoiceStateUpdated != null)
				RaiseEvent(nameof(UserVoiceStateUpdated), () => UserVoiceStateUpdated(this, new MemberEventArgs(member)));
		}
Ejemplo n.º 20
0
		public Task RemoveChannelUserPermissions(string channelId, Member member)
			=> RemoveChannelPermissions(channelId, member?.UserId);
Ejemplo n.º 21
0
		internal MemberEventArgs(Member member) { Member = member; }
Ejemplo n.º 22
0
		//Members
		public Task EditMember(Member member, bool? mute = null, bool? deaf = null, IEnumerable<object> roles = null)
			=> EditMember(member?.ServerId, member?.UserId, mute, deaf, roles);