Example #1
0
        public async Task <IActionResult> CreateGuildAsync([FromBody] CreateGuildParams args)
        {
            args.Validate();

            var guild = new Guild
            {
                DefaultMessageNotifications = args.DefaultMessageNotifications.GetValueOrDefault(DefaultMessageNotifications.AllMessages),
                ExplicitContentFilter       = args.ExplicitContentFilter.GetValueOrDefault(ExplicitContentFilter.Disabled),
                Name              = args.Name,
                Region            = args.Region,
                VerificationLevel = args.VerificationLevel.GetValueOrDefault()
            };

            if (args.Icon.IsSpecified)
            {
                guild.Icon = args.Icon.Value;
            }
            if (args.Roles.IsSpecified)
            {
                guild.Roles = args.Roles.Value.Select(x =>
                                                      new Role
                {
                    Color         = x.Color.GetValueOrDefault(Color.Default),
                    IsHoisted     = x.IsHoisted.GetValueOrDefault(false),
                    IsMentionable = x.IsMentionable.GetValueOrDefault(false),
                    Name          = x.Name.GetValueOrDefault((Utf8String)"new role"),
                    Permissions   = x.Permissions.GetValueOrDefault(GuildPermissions.None)
                }
                                                      ).ToArray();
            }
            return(Ok(guild));
        }
Example #2
0
        /// <inheritdoc />
        public virtual async Task <IGuild> CreateGuildAsync(string name, IVoiceRegion region, Stream jpegIcon = null)
        {
            var args  = new CreateGuildParams();
            var model = await ApiClient.CreateGuildAsync(args).ConfigureAwait(false);

            return(new Guild(this, model));
        }
Example #3
0
        public static async Task <RestGuild> CreateGuildAsync(BaseDiscordClient client,
                                                              string name, IVoiceRegion region, Stream jpegIcon, RequestOptions options)
        {
            var args  = new CreateGuildParams(name, region.Id);
            var model = await client.ApiClient.CreateGuildAsync(args, options).ConfigureAwait(false);

            return(RestGuild.Create(client, model));
        }
Example #4
0
        public static async Task <RestGuild> CreateGuildAsync(BaseDiscordClient client,
                                                              string name, IVoiceRegion region, Stream jpegIcon, RequestOptions options)
        {
            CreateGuildParams args = new CreateGuildParams(name, region.Id);

            if (jpegIcon != null)
            {
                args.Icon = new API.Image(jpegIcon);
            }

            API.GuildJson model = await client.ApiClient.CreateGuildAsync(args, options).ConfigureAwait(false);

            return(RestGuild.Create(client, model));
        }