From d111214bffa09e096959af9b80655137093e8078 Mon Sep 17 00:00:00 2001 From: Christopher F Date: Sat, 11 Mar 2017 15:32:14 -0500 Subject: [PATCH] Added new getting started guide Thanks @MinnDevelopment for his awesome work on the JDA guide that had no influence here at all. --- docs/guides/images/intro-add-bot.png | Bin 0 -> 26232 bytes docs/guides/images/intro-client-id.png | Bin 0 -> 5109 bytes docs/guides/images/intro-create-app.png | Bin 0 -> 52035 bytes docs/guides/images/intro-create-bot.png | Bin 0 -> 45743 bytes docs/guides/images/intro-token.png | Bin 0 -> 26594 bytes docs/guides/installing.md | 10 +- docs/guides/intro.md | 228 +++++++++++++++--- docs/guides/samples/intro/async-context.cs | 15 ++ docs/guides/samples/intro/client.cs | 16 ++ docs/guides/samples/intro/complete.cs | 42 ++++ docs/guides/samples/intro/logging.cs | 22 ++ docs/guides/samples/intro/message.cs | 14 ++ .../{first-steps.cs => intro/structure.cs} | 5 +- 13 files changed, 318 insertions(+), 34 deletions(-) create mode 100644 docs/guides/images/intro-add-bot.png create mode 100644 docs/guides/images/intro-client-id.png create mode 100644 docs/guides/images/intro-create-app.png create mode 100644 docs/guides/images/intro-create-bot.png create mode 100644 docs/guides/images/intro-token.png create mode 100644 docs/guides/samples/intro/async-context.cs create mode 100644 docs/guides/samples/intro/client.cs create mode 100644 docs/guides/samples/intro/complete.cs create mode 100644 docs/guides/samples/intro/logging.cs create mode 100644 docs/guides/samples/intro/message.cs rename docs/guides/samples/{first-steps.cs => intro/structure.cs} (96%) diff --git a/docs/guides/images/intro-add-bot.png b/docs/guides/images/intro-add-bot.png new file mode 100644 index 0000000000000000000000000000000000000000..e40997ed3ad0cb5d9cc51912c98f9e316f141d84 GIT binary patch literal 26232 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 DuYgQm literal 0 HcmV?d00001 diff --git a/docs/guides/images/intro-client-id.png b/docs/guides/images/intro-client-id.png new file mode 100644 index 0000000000000000000000000000000000000000..e370aa2ecbb1c2e9b98b7f7cd35fa664e1e3bc28 GIT binary patch literal 5109 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 RUQVJ2(AP21F4ue#^It;zlF|SG literal 0 HcmV?d00001 diff --git a/docs/guides/images/intro-create-app.png b/docs/guides/images/intro-create-app.png new file mode 100644 index 0000000000000000000000000000000000000000..7aceb84b41cf809f45b591c6a5a1e6f4ccbbe2b1 GIT binary patch literal 52035 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 G(EkD3K*%=$ literal 0 HcmV?d00001 diff --git a/docs/guides/images/intro-create-bot.png b/docs/guides/images/intro-create-bot.png new file mode 100644 index 0000000000000000000000000000000000000000..0522358cfcb35a17632b03394333891988fc0c0e GIT binary patch literal 45743 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�za0T3WZx8>F( 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 literal 0 HcmV?d00001 diff --git a/docs/guides/installing.md b/docs/guides/installing.md index 37a8b3d45..077d46213 100644 --- a/docs/guides/installing.md +++ b/docs/guides/installing.md @@ -11,7 +11,7 @@ Optionally, you may compile from source and install yourself. Currently, Discord.Net targets [.NET Standard] 1.3, and offers support for .NET Standard 1.1. If your application will be targeting .NET Standard 1.1, -please see the [additional steps](#installing-on-.net-standard-1.1). +please see the [additional steps](#installing-on-.net-standard-11). Since Discord.Net is built on the .NET Standard, it is also recommended to create applications using [.NET Core], though you are not required to. When @@ -46,11 +46,13 @@ project 3. Right click on 'Dependencies', and select 'Manage NuGet packages' ![Step 3](images/install-vs-deps.png) 4. In the 'browse' tab, search for 'Discord.Net' + > [!TIP] -> Don't forget to change your package source if you're installing from the -> developer feed. -> Also make sure to check 'Enable Prereleases' if installing a dev build! +Don't forget to change your package source if you're installing from the +developer feed. +Also make sure to check 'Enable Prereleases' if installing a dev build! 5. Install the 'Discord.Net' package + ![Step 5](images/install-vs-nuget.png) ## Using JetBrains Rider diff --git a/docs/guides/intro.md b/docs/guides/intro.md index f16bc9883..314f2c32e 100644 --- a/docs/guides/intro.md +++ b/docs/guides/intro.md @@ -2,49 +2,223 @@ title: Getting Started --- -# Getting Started +# Making a Ping-Pong bot -## Requirements +One of the first steps to getting started with the Discord API is to +write a basic ping-pong bot. We will expand on this to create more +diverse commands later, but for now, it is a good starting point. -Discord.Net supports logging in with all variations of Discord Accounts, however the Discord API reccomends using a `Bot Account`. +## Creating a Discord Bot -You may [register a bot account here](https://discordapp.com/developers/applications/me). +Before you can begin writing your bot, it is necessary to create a bot +account on Discord. -Bot accounts must be added to a server, you must use the [OAuth 2 Flow](https://discordapp.com/developers/docs/topics/oauth2#adding-bots-to-guilds) to add them to servers. +1. Visit the [Discord Applications Portal] +2. Create a New Application +3. Give the application a name (this will be the bot's initial +username). +4. Create the Application +![Step 4](images/intro-create-app.png) +5. In the application review page, click **Create a Bot User** +![Step 5](images/intro-create-bot.png) +6. Confirm the popup +7. If this bot will be public, check 'Public Bot'. +**Do not tick any other options!** -## Installation +[Discord Applications Portal]: https://discordapp.com/developers/applications/me -You can install Discord.Net 1.0 from our [MyGet Feed](https://www.myget.org/feed/Packages/discord-net). +## Adding your bot to a server -**For most users writing bots, install only `Discord.Net.WebSocket`.** +Bots **can not** use invite links, they must be explicitly invited +through the OAuth2 flow. -You may add the MyGet feed to Visual Studio directly from `https://www.myget.org/F/discord-net/api/v3/index.json`. +1. Open your bot's application on the [Discord Applications Portal] +2. Retrieve the app's **Client ID**. +![Step 2](images/intro-client-id.png) +3. Create an OAuth2 authorization URL +`https://discordapp.com/oauth2/authorize?client_id=&scope=bot` +4. Open the authorization URL in your browser +5. Select a server -You can also pull the latest source from [GitHub](https://github.com/RogueException/Discord.Net). +>[!NOTE] +Only servers where you have the `MANAGE_SERVER` permission will be +present in this list. + +6. Click authorize +![Step 6](images/intro-add-bot.png) + +## Connecting to Discord + +If you have not already created a project and installed Discord.Net, +do that now. (see the [Installing](installing.md) section) + +### Async + +Discord.Net uses .NET's Task-based Asynchronous Pattern ([TAP]) +extensively - nearly every operation is asynchronous. + +It is highly recommended that these operations be awaited in a +properly established async context whenever possible. Establishing an +async context can be problematic, but not hard. + +To do so, we will be creating an async main in your console +application, and rewriting the static main method to invoke the new +async main. + +[!code-csharp[Async Context](samples/intro/async-context.cs)] + +As a result of this, your program will now start, and immidiately +jump into an async context. This will allow us later on to create a +connection to Discord, without needing to worry about setting up the +correct async implementation. + +>[!TIP] +If your application throws any exceptions within an async context, +they will be thrown all the way back up to the first non-async method. +Since our first non-async method is the program's Main method, this +means that **all** unhandled exceptions will be thrown up there, which +will crash your application. Discord.Net will prevent exceptions in +event handlers from crashing your program, but any exceptions in your +async main **will** cause the application to crash. ->[!WARNING] ->The versions of Discord.Net on NuGet are behind the versions this ->documentation is written for. ->You MUST install from MyGet or Source! +### Creating a logging method -## Async +Before we create and configure a Discord client, we will add a method +to handle Discord.Net's log events. -Discord.Net uses C# tasks extensiely - nearly all operations return -one. +To allow agnostic support of as many log providers as possible, we +log information through a Log event, with a proprietary LogMessage +parameter. See the [API Documentation] for this event. -It is highly reccomended these tasks be awaited whenever possible. -To do so requires the calling method to be marked as async, which -can be problematic in a console application. An example of how to -get around this is provided below. +If you are using your own logging framework, this is where you would +invoke it. For the sake of simplicity, we will only be logging to +the Console. -For more information, go to [MSDN's Async-Await section.](https://msdn.microsoft.com/en-us/library/hh191443.aspx) +[!code-csharp[Async Context](samples/intro/logging.cs)] -## First Steps +### Creating a Discord Client -[!code-csharp[Main](samples/first-steps.cs)] +Finally, we can create a connection to Discord. Since we are writing +a bot, we will be using a [DiscordSocketClient], along with socket +entities. See the [terminology](terminology.md) if you're unsure of +the differences. + +To do so, create an instance of [DiscordSocketClient] in your async +main, passing in a configuration object only if necessary. For most +users, the default will work fine. + +Before connecting, we should hook the client's log event to the +log handler that was just created. Events in Discord.Net work +similarly to other events in C#, so hook this event the way that +you typically would. + +Next, you will need to 'login to Discord' with the `LoginAsync` method. + +You may create a variable to hold your bot's token (this can be found +on your bot's application page on the [Discord Applications Portal]). +![Token](images/intro-token.png) + +>[!IMPORTANT] +Your bot's token can be used to gain total access to your bot, so +**do __NOT__ share this token with anyone!**. It may behoove you to +store this token in an external file if you plan on distributing the +source code for your bot. + +We may now invoke the client's `StartAsync` method, which will +start connection/reconnection logic. It is important to note that +**this method returns as soon as connection logic has been started!** + +Any methods that rely on the client's state should go in an event +handler. >[!NOTE] ->In previous versions of Discord.Net, you had to hook into the `Ready` and `GuildAvailable` events to determine when your client was ready for use. ->In 1.0, the [ConnectAsync] method will automatically wait for the Ready event, and for all guilds to stream. To avoid this, pass `false` into `ConnectAsync`. +Connection logic is incomplete as of the current build. Events will +soon be added to indicate when the client's state is ready for use; +(rewrite this section when possible) + +Finally, we will want to block the async main method from returning +until after the application is exited. To do this, we can await an +infinite delay, or any other blocking method, such as reading from +the console. + +The following lines can now be added: + +[!code-csharp[Create client](samples/intro/client.cs)] + +At this point, feel free to start your program and see your bot come +online in Discord. + +>[!TIP] +Encountering a `PlatformNotSupportedException` when starting your bot? +This means that you are targeting a platform where .NET's default +WebSocket client is not supported. Refer to the [installing guide] +for how to fix this. + +[TAP]: https://docs.microsoft.com/en-us/dotnet/articles/csharp/async +[API Documentation]: xref:Discord.Rest.BaseDiscordClient#Discord_Rest_BaseDiscordClient_Log +[DiscordSocketClient]: xref:Discord.WebSocket.DiscordSocketClient +[installing guide]: installing.md#installing-on-.net-standard-11 + +### Handling a 'ping' + +Now that we have learned how to open a connection to Discord, we can +begin handling messages that users are sending. + +To start out, our bot will listen for any message where the content +is equal to `!ping`, and respond back with `Pong!`. + +Since we want to listen for new messages, the event to hook in to +is [MessageReceived]. + +In your program, add a method that matches the signature of the +MessageReceived event - it must be a method (`Func`) that returns the +type `Task`, and takes a single parameter, a [SocketMessage]. Also, +since we will be sending data to Discord in this method, we will flag +it as `async`. + +In this method, we will add an `if` block, to determine if the message +content fits the rules of our scenario - recall that it must be equal +to `!ping`. + +Inside the branch of this condition, we will want to send a message +back to the channel from which the message came - `Pong!`. To find the +channel, look for the `Channel` property on the message parameter. + +Next, we will want to send a message to this channel. Since the +channel object is of type [SocketMessageChannel], we can invoke the +`SendMessageAsync` instance method. For the message content, send back +a string containing 'Pong!'. + +You should have now added the following lines: + +[!code-csharp[Message](samples/intro/message.cs)] + +Now, your first bot is complete. You may continue to add on to this +if you desire, but for any bot that will be carrying out multiple +commands, it is strongly encouraged to use the command framework, as +shown below. + +For your reference, you may view the [completed program]. + +[MessageReceived]: xref:Discord.WebSocket.DiscordSocketClient#Discord_WebSocket_DiscordSocketClient_MessageReceived +[SocketMessage]: xref:Discord.WebSocket.SocketMessage +[SocketMessageChannel]: xref:Discord.WebSocket.SocketMessageChannel +[completed program]: samples/intro/complete.cs + +# Building a bot with commands + +This section will show you how to write a program that is ready for +[commands](commands.md). Note that this will not be explaining _how_ +to write commands or services, it will only be covering the general +structure. + +For reference, view an [annotated example] of this structure. + +[annotated example]: samples/intro/structure.cs + +It is important to know that the recommended design pattern of bots +should be to separate the program (initialization and command handler), +the modules (handle commands), and the services (persistent storage, +pure functions, data manipulation). -[ConnectAsync]: xref:Discord.WebSocket.DiscordSocketClient#Discord_WebSocket_DiscordSocketClient_ConnectAsync_System_Boolean_ \ No newline at end of file +**todo:** diagram of bot structure \ No newline at end of file diff --git a/docs/guides/samples/intro/async-context.cs b/docs/guides/samples/intro/async-context.cs new file mode 100644 index 000000000..c01ddec55 --- /dev/null +++ b/docs/guides/samples/intro/async-context.cs @@ -0,0 +1,15 @@ +using System; +using System.Threading.Tasks; + +namespace MyBot +{ + public class Program + { + public static void Main(string[] args) + => new Program().MainAsync().GetAwaiter().GetResult(); + + public async Task MainAsync() + { + } + } +} \ No newline at end of file diff --git a/docs/guides/samples/intro/client.cs b/docs/guides/samples/intro/client.cs new file mode 100644 index 000000000..ea7c91932 --- /dev/null +++ b/docs/guides/samples/intro/client.cs @@ -0,0 +1,16 @@ +// Program.cs +using Discord.WebSocket; +// ... +public async Task MainAsync() +{ + var client = new DiscordSocketClient(); + + client.Log += Log; + + string token = "abcdefg..."; // Remember to keep this private! + await client.LoginAsync(TokenType.Bot, token); + await client.StartAsync(); + + // Block this task until the program is closed. + await Task.Delay(-1); +} \ No newline at end of file diff --git a/docs/guides/samples/intro/complete.cs b/docs/guides/samples/intro/complete.cs new file mode 100644 index 000000000..b59b6b4d9 --- /dev/null +++ b/docs/guides/samples/intro/complete.cs @@ -0,0 +1,42 @@ +using Discord; +using Discord.WebSocket; +using System; +using System.Threading.Tasks; + +namespace MyBot +{ + public class Program + { + public static void Main(string[] args) + => new Program().MainAsync().GetAwaiter().GetResult(); + + public async Task MainAsync() + { + var client = new DiscordSocketClient(); + + client.Log += Log; + client.MessageReceived += MessageReceived; + + string token = "abcdefg..."; // Remember to keep this private! + await client.LoginAsync(TokenType.Bot, token); + await client.StartAsync(); + + // Block this task until the program is closed. + await Task.Delay(-1); + } + + private async Task MessageReceived(SocketMessage message) + { + if (message.Content == "!ping") + { + await message.Channel.SendMessageAsync("Pong!"); + } + } + + private Task Log(LogMessage msg) + { + Console.WriteLine(msg.ToString()); + return Task.CompletedTask; + } + } +} \ No newline at end of file diff --git a/docs/guides/samples/intro/logging.cs b/docs/guides/samples/intro/logging.cs new file mode 100644 index 000000000..4fb85a063 --- /dev/null +++ b/docs/guides/samples/intro/logging.cs @@ -0,0 +1,22 @@ +using Discord; +using System; +using System.Threading.Tasks; + +namespace MyBot +{ + public class Program + { + public static void Main(string[] args) + => new Program().MainAsync().GetAwaiter().GetResult(); + + public async Task MainAsync() + { + } + + private Task Log(LogMessage msg) + { + Console.WriteLine(msg.ToString()); + return Task.CompletedTask; + } + } +} \ No newline at end of file diff --git a/docs/guides/samples/intro/message.cs b/docs/guides/samples/intro/message.cs new file mode 100644 index 000000000..d3cda46e5 --- /dev/null +++ b/docs/guides/samples/intro/message.cs @@ -0,0 +1,14 @@ +public async Task MainAsync() +{ + // client.Log ... + client.MessageReceived += MessageReceived; + // ... +} + +private async Task MessageReceived(SocketMessage message) +{ + if (message.Content == "!ping") + { + await message.Channel.SendMessageAsync("Pong!"); + } +} \ No newline at end of file diff --git a/docs/guides/samples/first-steps.cs b/docs/guides/samples/intro/structure.cs similarity index 96% rename from docs/guides/samples/first-steps.cs rename to docs/guides/samples/intro/structure.cs index 95aacc9d3..01dff7bc6 100644 --- a/docs/guides/samples/first-steps.cs +++ b/docs/guides/samples/intro/structure.cs @@ -77,7 +77,6 @@ class Program // Login and connect. await _client.LoginAsync(TokenType.Bot, /* */); - // Prior to rc-00608 this was ConnectAsync(); await _client.StartAsync(); // Wait infinitely so your bot actually stays connected. @@ -96,10 +95,10 @@ class Program await _commands.AddModuleAsync(); // Subscribe a handler to see if a message invokes a command. - _client.MessageReceived += CmdHandler; + _client.MessageReceived += HandleCommandAsync; } - private async Task CmdHandler(SocketMessage arg) + private async Task HandleCommandAsync(SocketMessage arg) { // Bail out if it's a System Message. var msg = arg as SocketUserMessage;