Browse Source

Merge pull request #683 from Joe4evr/QuickstartExtraComments

Added/clarified some comments in structure.cs
tags/1.0
Christopher F GitHub 8 years ago
parent
commit
1018fa6873
1 changed files with 17 additions and 9 deletions
  1. +17
    -9
      docs/guides/getting_started/samples/intro/structure.cs

+ 17
- 9
docs/guides/getting_started/samples/intro/structure.cs View File

@@ -30,8 +30,8 @@ class Program
LogLevel = LogSeverity.Info, LogLevel = LogSeverity.Info,
// If you or another service needs to do anything with messages // If you or another service needs to do anything with messages
// (eg. checking Reactions), you should probably
// set the MessageCacheSize here.
// (eg. checking Reactions, checking the content of edited/deleted messages),
// you must set the MessageCacheSize. You may adjust the number as needed.
//MessageCacheSize = 50, //MessageCacheSize = 50,


// If your platform doesn't have native websockets, // If your platform doesn't have native websockets,
@@ -41,7 +41,7 @@ class Program
}); });
} }


// Create a named logging handler, so it can be re-used by addons
// Example of a logging handler. This can be re-used by addons
// that ask for a Func<LogMessage, Task>. // that ask for a Func<LogMessage, Task>.
private static Task Logger(LogMessage message) private static Task Logger(LogMessage message)
{ {
@@ -65,6 +65,13 @@ class Program
} }
Console.WriteLine($"{DateTime.Now,-19} [{message.Severity,8}] {message.Source}: {message.Message}"); Console.WriteLine($"{DateTime.Now,-19} [{message.Severity,8}] {message.Source}: {message.Message}");
Console.ForegroundColor = cc; Console.ForegroundColor = cc;
// If you get an error saying 'CompletedTask' doesn't exist,
// your project is targeting .NET 4.5.2 or lower. You'll need
// to adjust your project's target framework to 4.6 or higher
// (instructions for this are easily Googled).
// If you *need* to run on .NET 4.5 for compat/other reasons,
// the alternative is to 'return Task.Delay(0);' instead.
return Task.CompletedTask; return Task.CompletedTask;
} }


@@ -92,16 +99,17 @@ class Program
// and other dependencies that your commands might need. // and other dependencies that your commands might need.
_map.AddSingleton(new SomeServiceClass()); _map.AddSingleton(new SomeServiceClass());


// Either search the program and add all Module classes that can be found:
await _commands.AddModulesAsync(Assembly.GetEntryAssembly());
// Or add Modules manually if you prefer to be a little more explicit:
await _commands.AddModuleAsync<SomeModule>();

// When all your required services are in the collection, build the container. // When all your required services are in the collection, build the container.
// Tip: There's an overload taking in a 'validateScopes' bool to make sure // Tip: There's an overload taking in a 'validateScopes' bool to make sure
// you haven't made any mistakes in your dependency graph. // you haven't made any mistakes in your dependency graph.
_services = _map.BuildServiceProvider(); _services = _map.BuildServiceProvider();


// Either search the program and add all Module classes that can be found.
// Module classes *must* be marked 'public' or they will be ignored.
await _commands.AddModulesAsync(Assembly.GetEntryAssembly());
// Or add Modules manually if you prefer to be a little more explicit:
await _commands.AddModuleAsync<SomeModule>();

// Subscribe a handler to see if a message invokes a command. // Subscribe a handler to see if a message invokes a command.
_client.MessageReceived += HandleCommandAsync; _client.MessageReceived += HandleCommandAsync;
} }
@@ -120,7 +128,7 @@ class Program
// commands to be invoked by mentioning the bot instead. // commands to be invoked by mentioning the bot instead.
if (msg.HasCharPrefix('!', ref pos) /* || msg.HasMentionPrefix(_client.CurrentUser, ref pos) */) if (msg.HasCharPrefix('!', ref pos) /* || msg.HasMentionPrefix(_client.CurrentUser, ref pos) */)
{ {
// Create a Command Context
// Create a Command Context.
var context = new SocketCommandContext(_client, msg); var context = new SocketCommandContext(_client, msg);
// Execute the command. (result does not indicate a return value, // Execute the command. (result does not indicate a return value,


Loading…
Cancel
Save