示例#1
0
        public static async Task <RestInviteMetadata> CreateInviteAsync(IGuildChannel channel, BaseDiscordClient client,
                                                                        int?maxAge, int?maxUses, bool isTemporary, bool isUnique, RequestOptions options)
        {
            var args = new CreateChannelInviteParams {
                IsTemporary = isTemporary, IsUnique = isUnique
            };

            if (maxAge.HasValue)
            {
                args.MaxAge = maxAge.Value;
            }
            else
            {
                args.MaxAge = 0;
            }
            if (maxUses.HasValue)
            {
                args.MaxUses = maxUses.Value;
            }
            else
            {
                args.MaxUses = 0;
            }
            var model = await client.ApiClient.CreateChannelInviteAsync(channel.Id, args, options).ConfigureAwait(false);

            return(RestInviteMetadata.Create(client, null, channel, model));
        }
示例#2
0
        public async Task <IInviteMetadata> CreateInviteAsync(int?maxAge, int?maxUses, bool isTemporary)
        {
            var args = new CreateChannelInviteParams
            {
                MaxAge    = maxAge ?? 0,
                MaxUses   = maxUses ?? 0,
                Temporary = isTemporary
            };
            var model = await Discord.ApiClient.CreateChannelInviteAsync(Id, args).ConfigureAwait(false);

            return(new InviteMetadata(Discord, model));
        }
示例#3
0
        public async Task <IActionResult> CreateChannelInviteAsync(Snowflake channelId, [FromBody] CreateChannelInviteParams args)
        {
            args.Validate();

            return(Ok(new Invite
            {
                Channel = new InviteChannel
                {
                    Id = channelId
                }
            }));
        }