internal CachedSystemMessage(ICachedMessageChannel channel, CachedUser author, MessageModel model) : base(channel, author, model) { Type = (SystemMessageType)(model.Type - 1); RawContent = model.Content.GetValueOrDefault(); Update(model); }
internal AllReactionsRemovedEventArgs( ICachedMessageChannel channel, OptionalSnowflakeEntity <CachedMessage> message) : base(channel.Client) { Channel = channel; Message = message; }
internal CachedUserMessage(DiscordClient client, MessageModel model, ICachedMessageChannel channel, CachedUser author) : base(client, model, channel, author) { IsTextToSpeech = model.Tts.GetValueOrDefault(); Nonce = model.Nonce.GetValueOrDefault(); WebhookId = model.WebhookId.GetValueOrDefault(); Update(model); }
internal MessageUpdatedEventArgs(ICachedMessageChannel channel, SnowflakeOptional <CachedUserMessage> oldMessage, CachedUserMessage newMessage) : base(channel.Client) { Channel = channel; OldMessage = oldMessage; NewMessage = newMessage; }
public RiasCommandContext(CachedUserMessage message, IServiceProvider serviceProvider, string prefix) : base(serviceProvider) { Guild = (message.Channel as CachedTextChannel)?.Guild; Channel = message.Channel; User = message.Author; Message = message; Prefix = prefix; }
public async Task SendPaginatorAsync(ICachedMessageChannel channel, Paginator paginator, Page firstPage) { _paginators.Add(paginator .WithMessage(await channel.SendMessageAsync(firstPage.Text, embed: firstPage.Embed), channel) .WithService(this)); await paginator.AddReactionAsync(); }
public static Task <RestUserMessage> EmbedMessageAsync(this ICachedMessageChannel channel, LocalEmbedBuilder builder) { if (builder.Color == null) { builder.Color = Color.Lavender; } return(channel.SendMessageAsync("", false, builder.Build())); }
internal CachedMessage(ICachedMessageChannel channel, CachedUser author, MessageModel model) : base(channel.Client, model.Id) { Channel = channel; Author = author; _reactions = new LockedDictionary <IEmoji, ReactionData>(model.Reactions.HasValue ? model.Reactions.Value?.Length ?? 0 : 0); }
internal CachedMessage(DiscordClient client, MessageModel model, ICachedMessageChannel channel, CachedUser author) : base(client, model.Id) { Channel = channel; Author = author; _reactions = Extensions.CreateConcurrentDictionary <IEmoji, ReactionData>(model.Reactions.HasValue ? model.Reactions.Value.Length : 0); Reactions = new ReadOnlyConcurrentDictionary <IEmoji, ReactionData>(_reactions); }
private AdminCommandContext(LocalizedLanguage language, IServiceProvider provider, CachedUser user, CachedGuild guild, CachedUserMessage message, ICachedMessageChannel channel) : base(provider) { User = user; Guild = guild; Message = message; Channel = channel; Database = new AdminDatabaseContext(provider); Language = language; }
public static Task StartMenuAsync(this ICachedMessageChannel channel, MenuBase menu, TimeSpan timeout = default) { if (channel == null) { throw new ArgumentNullException(nameof(channel)); } var extension = channel.Client.GetInteractivity(); return(extension.StartMenuAsync(channel, menu, timeout)); }
internal ReactionRemovedEventArgs( ICachedMessageChannel channel, DownloadableOptionalSnowflakeEntity <CachedUserMessage, RestMessage> message, DownloadableOptionalSnowflakeEntity <CachedUser, RestUser> user, Optional <ReactionData> reaction, IEmoji emoji) : base(channel.Client) { Channel = channel; Message = message; User = user; Reaction = reaction; Emoji = emoji; }
internal ReactionRemovedEventArgs( ICachedMessageChannel channel, FetchableSnowflakeOptional <IMessage> message, FetchableSnowflakeOptional <IUser> user, Optional <ReactionData> reaction, IEmoji emoji) : base(channel.Client) { Channel = channel; Message = message; User = user; Reaction = reaction; Emoji = emoji; }
public static Task <ReactionAddedEventArgs> WaitForReactionAsync(this ICachedMessageChannel channel, Predicate <ReactionAddedEventArgs> predicate = null, TimeSpan timeout = default) { if (channel == null) { throw new ArgumentNullException(nameof(channel)); } Predicate <ReactionAddedEventArgs> channelPredicate = e => e.Channel.Id == channel.Id; predicate = predicate == null ? channelPredicate : predicate + channelPredicate; var extension = channel.Client.GetInteractivity(); return(extension.WaitForReactionAsync(predicate, timeout)); }
internal static CachedMessage Create(ICachedMessageChannel channel, CachedUser author, MessageModel model) => model.Type switch {
internal ChannelPinsUpdatedEventArgs(ICachedMessageChannel channel, DateTimeOffset?oldLastPinTimestamp) : base(channel.Client) { OldLastPinTimestamp = oldLastPinTimestamp; NewLastPinTimestamp = channel.LastPinTimestamp; }
public static ValueTask <IMessage> GetOrFetchMessageAsync(this ICachedMessageChannel channel, ulong messageId) {
internal MessageDeletedEventArgs(ICachedMessageChannel channel, SnowflakeOptional <CachedUserMessage> message) : base(channel.Client) { Channel = channel; Message = message; }
public static Task <RestUserMessage> EmbedMessageAsync(this ICachedMessageChannel channel, string message, Color?color = null) { var embed = new LocalEmbedBuilder().WithDescription(message).WithColor(color ?? Color.Lavender); return(channel.SendMessageAsync("", false, embed.Build())); }
internal MessageAcknowledgedEventArgs(ICachedMessageChannel channel, OptionalSnowflakeEntity <CachedMessage> message) : base(channel.Client) { Channel = channel; Message = message; }
internal static CachedMessage Create(DiscordClient client, MessageModel model, ICachedMessageChannel channel, CachedUser author) { return(model.Type switch { MessageType.Default => new CachedUserMessage(client, model, channel, author), _ => new CachedSystemMessage(client, model, channel, author), });
internal CachedSystemMessage(DiscordClient client, MessageModel model, ICachedMessageChannel channel, CachedUser author) : base(client, model, channel, author) { Type = (SystemMessageType)(model.Type - 1); RawContent = model.Content.GetValueOrDefault(); }