Пример #1
0
 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));
         }
     }
Пример #2
0
        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));
            }
        }
Пример #3
0
        /// <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());
        }
Пример #4
0
 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);
Пример #5
0
        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));
        }
Пример #6
0
 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();
 }
Пример #7
0
 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();
 }
Пример #8
0
 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));