public MessageReceivedEventArgs(SocketMessage s, IServiceProvider provider) { Message = s.Cast <SocketUserMessage>() ?? throw new ArgumentException($"{nameof(s)} is not a SocketUserMessage; aborting event handler call."); provider.Get(out _db); Context = VolteContext.Create(s, provider); Data = _db.GetData(Context.Guild); }
// ReSharper disable once SuggestBaseTypeForParameter private VolteContext(SocketMessage msg, IServiceProvider provider) : base(provider) { provider.Get <DatabaseService>(out var db); provider.Get(out Client); Guild = msg.Channel.Cast <SocketTextChannel>()?.Guild; Channel = msg.Channel.Cast <SocketTextChannel>(); User = msg.Author.Cast <SocketGuildUser>(); Message = msg.Cast <SocketUserMessage>(); GuildData = db.GetData(Guild); Now = DateTimeOffset.UtcNow; }
// ReSharper disable once SuggestBaseTypeForParameter private VolteContext(SocketMessage msg, IServiceProvider provider) : base(provider) { Client = provider.Get <DiscordShardedClient>(); Guild = msg.Channel.Cast <SocketTextChannel>()?.Guild; Interactive = provider.Get <InteractiveService>(); Channel = msg.Channel.Cast <SocketTextChannel>(); User = msg.Author.Cast <SocketGuildUser>(); Message = msg.Cast <SocketUserMessage>(); GuildData = provider.Get <DatabaseService>().GetData(Guild); Now = DateTime.Now; }
public MessageReceivedEventArgs(SocketMessage s, IServiceProvider provider) { Message = s.Cast <SocketUserMessage>() ?? throw new ArgumentException($"{nameof(s)} is not a SocketUserMessage; aborting EventArgs construction."); Context = VolteContext.Create(s, provider); Data = provider.Get <DatabaseService>().GetData(Context.Guild); }