/// <inheritdoc /> protected override void ConfigureServices(IServiceProvider serviceProvider) { this.Database = serviceProvider.GetRequiredService <RoleplayingDatabaseContext>(); this.Database.Database.Create(); this.Roleplays = serviceProvider.GetRequiredService <RoleplayService>(); }
/// <summary> /// Initializes a new instance of the <see cref="SetCommands"/> class. /// </summary> /// <param name="roleplays">The roleplay service.</param> /// <param name="feedback">The user feedback service.</param> public SetCommands ( RoleplayService roleplays, UserFeedbackService feedback) { _roleplays = roleplays; _feedback = feedback; }
/// <summary> /// Initializes a new instance of the <see cref="RoleplayLoggingBehaviour"/> class. /// </summary> /// <param name="client">The discord client.</param> /// <param name="roleplays">The roleplay service.</param> public RoleplayLoggingBehaviour ( [NotNull] DiscordSocketClient client, [NotNull] RoleplayService roleplays ) : base(client) { _roleplays = roleplays; }
/// <summary> /// Initializes a new instance of the <see cref="RoleplayServerCommands"/> class. /// </summary> /// <param name="feedback">The user feedback service.</param> /// <param name="roleplaying">The roleplaying service.</param> /// <param name="servers">The server service.</param> public RoleplayServerCommands ( UserFeedbackService feedback, RoleplayService roleplaying, ServerService servers) { _feedback = feedback; _roleplaying = roleplaying; _servers = servers; }
/// <summary> /// Initializes a new instance of the <see cref="RoleplayArchivalBehaviour"/> class. /// </summary> /// <param name="client">The Discord client.</param> /// <param name="roleplays">The roleplaying service.</param> /// <param name="feedback">The feedback service.</param> /// <param name="servers">The server service.</param> public RoleplayArchivalBehaviour ( [NotNull] DiscordSocketClient client, [NotNull] RoleplayService roleplays, [NotNull] UserFeedbackService feedback, [NotNull] ServerService servers ) : base(client) { _roleplays = roleplays; _feedback = feedback; _servers = servers; }
/// <summary> /// Initializes a new instance of the <see cref="RoleplayCommands"/> class. /// </summary> /// <param name="roleplays">The roleplay service.</param> /// <param name="feedback">The user feedback service.</param> /// <param name="interactivity">The interactivity service.</param> /// <param name="users">The user service.</param> public RoleplayCommands ( RoleplayService roleplays, UserFeedbackService feedback, InteractivityService interactivity, UserService users ) { _roleplays = roleplays; _feedback = feedback; _interactivity = interactivity; _users = users; }
/// <summary> /// Initializes a new instance of the <see cref="RoleplayTimeoutBehaviour"/> class. /// </summary> /// <param name="client">The discord client.</param> /// <param name="database">The database.</param> /// <param name="roleplays">The roleplay service.</param> /// <param name="feedback">The feedback service.</param> public RoleplayTimeoutBehaviour ( DiscordSocketClient client, RoleplayingDatabaseContext database, RoleplayService roleplays, [NotNull] UserFeedbackService feedback ) : base(client) { this.Database = database; this.Roleplays = roleplays; this.Feedback = feedback; }
/// <summary> /// Initializes a new instance of the <see cref="RoleplayCommands"/> class. /// </summary> /// <param name="discordRoleplays">The roleplay service.</param> /// <param name="feedback">The user feedback service.</param> /// <param name="interactivity">The interactivity service.</param> /// <param name="dedicatedChannels">The dedicated channel service.</param> /// <param name="roleplays">The low-level roleplay service.</param> public RoleplayCommands ( RoleplayDiscordService discordRoleplays, UserFeedbackService feedback, InteractivityService interactivity, DedicatedChannelService dedicatedChannels, RoleplayService roleplays ) { _discordRoleplays = discordRoleplays; _feedback = feedback; _interactivity = interactivity; _dedicatedChannels = dedicatedChannels; _roleplays = roleplays; }
/// <summary> /// Initializes a new instance of the <see cref="RoleplayDiscordService"/> class. /// </summary> /// <param name="roleplays">The roleplay service.</param> /// <param name="dedicatedChannels">The dedicated channel service.</param> /// <param name="users">The user service.</param> /// <param name="servers">The server service.</param> /// <param name="guildAPI">The guild API.</param> /// <param name="channelAPI">The channel API.</param> public RoleplayDiscordService ( RoleplayService roleplays, DedicatedChannelService dedicatedChannels, UserService users, ServerService servers, IDiscordRestGuildAPI guildAPI, IDiscordRestChannelAPI channelAPI ) { _roleplays = roleplays; _dedicatedChannels = dedicatedChannels; _users = users; _servers = servers; _guildAPI = guildAPI; _channelAPI = channelAPI; }
/// <summary> /// Initializes a new instance of the <see cref="RoleplayCommands"/> class. /// </summary> /// <param name="database">A database context from the context pool.</param> /// <param name="roleplays">The roleplay service.</param> /// <param name="feedback">The user feedback service.</param> public RoleplayCommands(GlobalInfoContext database, RoleplayService roleplays, UserFeedbackService feedback) { this.Database = database; this.Roleplays = roleplays; this.Feedback = feedback; }
// ReSharper restore PrivateFieldCanBeConvertedToLocalVariable /// <summary> /// Initializes a new instance of the <see cref="AmbassadorClient"/> class. /// </summary> /// <param name="content">The content service.</param> public AmbassadorClient([NotNull] ContentService content) { this.Client = Type.GetType("Mono.Runtime") is null ? new DiscordSocketClient() : new DiscordSocketClient(new DiscordSocketConfig { WebSocketProvider = () => new WebSocketSharpProvider() }); this.Client.Log += OnDiscordLogEvent; this.Commands = new CommandService(); this.Commands.Log += OnDiscordLogEvent; this.DiscordIntegration = new DiscordService(); this.Content = content; this.Commands = new CommandService(); this.OwnedEntities = new OwnedEntityService(); this.Roleplays = new RoleplayService(this.Commands, this.OwnedEntities); this.Transformation = new TransformationService(this.Content); this.Characters = new CharacterService(this.Commands, this.OwnedEntities, this.Content, this.Transformation); this.Characters.DiscoverPronounProviders(); this.Feedback = new UserFeedbackService(); this.Dossiers = new DossierService(this.Content); this.Interactive = new InteractiveService(this.Client); this.Lua = new LuaService(this.Content); this.Kinks = new KinkService(this.Feedback); this.Permissions = new PermissionService(); this.Privacy = new PrivacyService(); this.Services = new ServiceCollection() .AddSingleton(this.Client) .AddSingleton(this.DiscordIntegration) .AddSingleton(this.Content) .AddSingleton(this.Commands) .AddSingleton(this.Roleplays) .AddSingleton(this.Characters) .AddSingleton(this.Feedback) .AddSingleton(this.Dossiers) .AddSingleton(this.Interactive) .AddSingleton(this.Transformation) .AddSingleton(this.Lua) .AddSingleton(this.Kinks) .AddSingleton(this.Permissions) .AddSingleton(this.Privacy) .AddDbContextPool <GlobalInfoContext>(builder => GlobalInfoContext.ConfigureOptions(builder)) .BuildServiceProvider(); this.Transformation = this.Transformation .WithDescriptionBuilder ( ActivatorUtilities.CreateInstance <TransformationDescriptionBuilder>(this.Services) ); this.Client.MessageReceived += OnMessageReceived; this.Client.MessageUpdated += OnMessageUpdated; }