public async Task ReplyAsync(string text = "", Embed?embed = null, MessageComponent?components = null, bool ephemeral = false) { if (_reply == null) { if (Channel is ITextChannel tChan && !(await tChan.Guild.GetCurrentUserAsync()).GuildPermissions.ReadMessageHistory && !tChan.PermissionOverwrites.Any(x => x.Permissions.ReadMessageHistory == PermValue.Allow)) { _reply = await _message.Channel.SendMessageAsync(text, embed : embed, components : components); } else { _reply = await _message.Channel.SendMessageAsync(text, embed : embed, components : components, messageReference : new MessageReference(_message.Id)); } }
public static async Task <IUserMessage> SendErrorMessage(this IUser user, string?message = null, bool isTTS = false, Embed?embed = null, RequestOptions?options = null, AllowedMentions?allowedMentions = null, MessageReference?messageReference = null, MessageComponent?components = null, ISticker[]?stickers = null, Embed[]?embeds = null) { var dmChannel = await user.CreateDMChannelAsync(); if (dmChannel is IErrorChannel errorChannel) { return(await errorChannel.SendErrorMessageAsync(message ?? "?")); } else { return(await dmChannel.SendMessageAsync(message, isTTS, embed, options, allowedMentions, messageReference, components, stickers, embeds)); } }
/// <summary> /// Responds to the interaction message and returns the original message /// </summary> /// <param name="cmd"></param> /// <param name="text"></param> /// <param name="embeds"></param> /// <param name="isTTS"></param> /// <param name="ephemeral"></param> /// <param name="allowedMentions"></param> /// <param name="components"></param> /// <param name="embed"></param> /// <param name="options"></param> /// <returns>The original interaction message</returns> public static async Task <RestInteractionMessage> Respond(this SocketSlashCommand cmd, string?text = null, Embed[]?embeds = null, bool isTTS = false, bool ephemeral = false, AllowedMentions?allowedMentions = null, MessageComponent?components = null, Embed?embed = null, RequestOptions?options = null) { await cmd.RespondAsync(text, embeds, isTTS, ephemeral, allowedMentions, components, embed, options); return(await cmd.GetOriginalResponseAsync()); }
public Task <IUserMessage> ReplyErrorToUserAsync(string?message = null, bool isTTS = false, Embed?embed = null, RequestOptions?options = null, AllowedMentions?allowedMentions = null, MessageReference?messageReference = null, MessageComponent?components = null, ISticker[]?stickers = null, Embed[]?embeds = null) => Context.User.SendErrorMessage(message, isTTS, embed, options, allowedMentions, messageReference, components, stickers, embeds);
public async Task <IUserMessage> ReplyToUserAsync(string?message = null, bool isTTS = false, Embed?embed = null, RequestOptions?options = null, AllowedMentions?allowedMentions = null, MessageReference?messageReference = null, MessageComponent?components = null, ISticker[]?stickers = null, Embed[]?embeds = null) { var channel = await Context.User.CreateDMChannelAsync(); return(await channel.SendMessageAsync(message, isTTS, embed, options, allowedMentions, messageReference, components, stickers, embeds)); }
public Task <IUserMessage> SendFileAsync(Stream stream, string filename, string?text = null, bool isTTS = false, Embed?embed = null, RequestOptions?options = null, bool isSpoiler = false, AllowedMentions?allowedMentions = null, MessageReference?messageReference = null, MessageComponent?components = null, ISticker[]?stickers = null, Embed[]?embeds = null) { throw new NotImplementedException(); }
public Task <IUserMessage> SendFilesAsync(IEnumerable <FileAttachment> attachments, string?text = null, bool isTTS = false, Embed?embed = null, RequestOptions?options = null, AllowedMentions?allowedMentions = null, MessageReference?messageReference = null, MessageComponent?components = null, ISticker[]?stickers = null, Embed[]?embeds = null, MessageFlags flags = MessageFlags.None) { throw new NotImplementedException(); }
public Task <IUserMessage> SendMessageAsync(string?text = null, bool isTTS = false, Embed?embed = null, RequestOptions?options = null, AllowedMentions?allowedMentions = null, MessageReference?messageReference = null, MessageComponent?components = null, ISticker[]?stickers = null, Embed[]?embeds = null, MessageFlags flags = MessageFlags.None) => Task.FromResult(_user.AddWebMessage(text, this));