/// <summary>
 /// Gets the away channel by the clients away state.
 /// </summary>
 /// <param name="client">The client.</param>
 /// <param name="settings">The settings.</param>
 /// <returns>the away channel.</returns>
 public static uint? GetAwayChannelByState(this ClientListEntry client, AwaySettings settings)
 {
     if (client.IsAway(settings)) return settings.Channel;
     if (client.IsInputMuted(settings)) return settings.MuteMicrophoneChannel;
     if (client.IsOutputMuted(settings)) return settings.MuteHeadphoneChannel;
     return null;
 }
コード例 #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Settings"/> class.
        /// </summary>
        public InstanceSettings(GlobalSettings globalSettings)
        {
            Global = globalSettings;

            Away = new AwaySettings();
            BadNickname = new BadNicknameSettings();
            Control = new ControlSettings();
            Event = new EventSettings();
            Idle = new IdleSettings();
            Message = new MessageSettings();
            Record = new RecordSettings();
            Sticky = new StickySettings();
            TeamSpeak = new TeamSpeakServerSettings();
            Vote = new VoteSettings();
        }
コード例 #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Settings"/> class.
        /// </summary>
        public InstanceSettings(GlobalSettings globalSettings)
        {
            Global = globalSettings;

            Away        = new AwaySettings();
            BadNickname = new BadNicknameSettings();
            Control     = new ControlSettings();
            Event       = new EventSettings();
            Idle        = new IdleSettings();
            Message     = new MessageSettings();
            Record      = new RecordSettings();
            Sticky      = new StickySettings();
            TeamSpeak   = new TeamSpeakServerSettings();
            Vote        = new VoteSettings();
        }
コード例 #4
0
 /// <summary>
 /// Gets the away channel by the clients away state.
 /// </summary>
 /// <param name="client">The client.</param>
 /// <param name="settings">The settings.</param>
 /// <returns>the away channel.</returns>
 public static uint?GetAwayChannelByState(this ClientListEntry client, AwaySettings settings)
 {
     if (client.IsAway(settings))
     {
         return(settings.Channel);
     }
     if (client.IsInputMuted(settings))
     {
         return(settings.MuteMicrophoneChannel);
     }
     if (client.IsOutputMuted(settings))
     {
         return(settings.MuteHeadphoneChannel);
     }
     return(null);
 }
 /// <summary>
 /// Determines whether [is output muted] [the specified client].
 /// </summary>
 /// <param name="client">The client.</param>
 /// <param name="settings">The settings.</param>
 /// <returns>
 ///   <c>true</c> if [is output muted] [the specified client]; otherwise, <c>false</c>.
 /// </returns>
 public static bool IsOutputMuted(this ClientListEntry client, AwaySettings settings)
 {
     return settings.Enabled && settings.MuteHeadphoneChannel > 0 && client.IsClientOutputMuted.GetValueOrDefault();
 }
 /// <summary>
 /// Determines whether the specified client is away.
 /// </summary>
 /// <param name="client">The client.</param>
 /// <param name="settings">The settings.</param>
 /// <returns>
 ///   <c>true</c> if the specified client is away; otherwise, <c>false</c>.
 /// </returns>
 public static bool IsAway(this ClientListEntry client, AwaySettings settings)
 {
     return settings.Enabled && settings.Channel > 0 && client.IsClientAway.GetValueOrDefault();
 }
コード例 #7
0
 /// <summary>
 /// Determines whether [is output muted] [the specified client].
 /// </summary>
 /// <param name="client">The client.</param>
 /// <param name="settings">The settings.</param>
 /// <returns>
 ///   <c>true</c> if [is output muted] [the specified client]; otherwise, <c>false</c>.
 /// </returns>
 public static bool IsOutputMuted(this ClientListEntry client, AwaySettings settings)
 {
     return(settings.Enabled && settings.MuteHeadphoneChannel > 0 && client.IsClientOutputMuted.GetValueOrDefault());
 }
コード例 #8
0
 /// <summary>
 /// Determines whether the specified client is away.
 /// </summary>
 /// <param name="client">The client.</param>
 /// <param name="settings">The settings.</param>
 /// <returns>
 ///   <c>true</c> if the specified client is away; otherwise, <c>false</c>.
 /// </returns>
 public static bool IsAway(this ClientListEntry client, AwaySettings settings)
 {
     return(settings.Enabled && settings.Channel > 0 && client.IsClientAway.GetValueOrDefault());
 }