示例#1
0
        string[] listPerms(ChannelPermission?channel, GuildPermission?guild)
        {
            var ls    = new List <string>();
            var flags = new List <ulong>();

            if (channel != null)
            {
                var a = new ChannelPermissions((ulong)channel);
                foreach (var x in a.ToList())
                {
                    ls.Add(x.ToString());
                    flags.Add((ulong)x);
                }
            }
            if (guild != null)
            {
                var b = new GuildPermissions((ulong)guild);
                foreach (var x in b.ToList())
                {
                    if (!flags.Contains((ulong)x))
                    {
                        ls.Add(x.ToString());
                    }
                }
            }
            return(ls.ToArray());
        }
示例#2
0
        /// <summary>
        /// Casts the <see cref="ChannelPermissions"/> struct to the <see cref="ChannelPermission"/> enum.
        /// </summary>
        /// <param name="perms">The <see cref="ChannelPermissions"/> struct.</param>
        /// <returns>The <see cref="ChannelPermission"/> enum</returns>
        public static ChannelPermission ToEnum(this ChannelPermissions perms)
        {
            ChannelPermission outPerms = 0;

            foreach (ChannelPermission perm in perms.ToList())
            {
                outPerms |= perm;
            }
            return(outPerms);
        }