From 47cbac95cc431c755c05bb4565d169e67f8f9271 Mon Sep 17 00:00:00 2001 From: Christopher F Date: Thu, 25 Feb 2016 19:02:31 -0500 Subject: [PATCH 1/2] split management into server- and user-; wrote docs for server/user --- docs/features/management.rst | 4 ---- docs/index.rst | 3 ++- test/Discord.Net.Tests/Discord.Net.Tests.csproj | 2 +- test/Discord.Net.Tests/Tests.cs | 4 +++- test/Discord.Net.Tests/packages.config | 2 +- 5 files changed, 7 insertions(+), 8 deletions(-) delete mode 100644 docs/features/management.rst diff --git a/docs/features/management.rst b/docs/features/management.rst deleted file mode 100644 index accbf5d94..000000000 --- a/docs/features/management.rst +++ /dev/null @@ -1,4 +0,0 @@ -|stub| Server Management -======================== - -|stub-desc| \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index c4469cd46..d2ff662af 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -29,7 +29,8 @@ This Documentation is **currently undergoing a rewrite**. Some pages (marked wit getting_started features/logging - features/management + features/server-management + features/user-management features/permissions features/commands features/voice diff --git a/test/Discord.Net.Tests/Discord.Net.Tests.csproj b/test/Discord.Net.Tests/Discord.Net.Tests.csproj index 97d328c68..0c13b7075 100644 --- a/test/Discord.Net.Tests/Discord.Net.Tests.csproj +++ b/test/Discord.Net.Tests/Discord.Net.Tests.csproj @@ -37,7 +37,7 @@ - ..\..\..\DiscordBot\packages\Newtonsoft.Json.8.0.1\lib\net45\Newtonsoft.Json.dll + ..\..\packages\Newtonsoft.Json.8.0.2\lib\net45\Newtonsoft.Json.dll True diff --git a/test/Discord.Net.Tests/Tests.cs b/test/Discord.Net.Tests/Tests.cs index e3d3977ad..51c045d69 100644 --- a/test/Discord.Net.Tests/Tests.cs +++ b/test/Discord.Net.Tests/Tests.cs @@ -42,7 +42,7 @@ namespace Discord.Tests //Create new server and invite the other bots to it _testServer = _hostClient.CreateServer("Discord.Net Testing", _hostClient.Regions.First()).Result; _testServerChannel = _testServer.DefaultChannel; - Invite invite = _testServer.CreateInvite(60, 1, false, false).Result; + var invite = _testServer.CreateInvite(60, 2, false, false).Result; WaitAll( _targetBot.GetInvite(invite.Code).Result.Accept(), _observerBot.GetInvite(invite.Code).Result.Accept()); @@ -122,6 +122,8 @@ namespace Discord.Tests _observerBot.Disconnect()); } + // Unit Test Helpers + private static void AssertEvent(string msg, Func action, Action> addEvent, Action> removeEvent, Func test = null) { AssertEvent(msg, action, addEvent, removeEvent, test, true); diff --git a/test/Discord.Net.Tests/packages.config b/test/Discord.Net.Tests/packages.config index 0eaf37a38..2abc396bb 100644 --- a/test/Discord.Net.Tests/packages.config +++ b/test/Discord.Net.Tests/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file From 3e3ae203a77e1f3e88b3236487e7dae3ad624d2e Mon Sep 17 00:00:00 2001 From: Christopher F Date: Thu, 25 Feb 2016 19:06:10 -0500 Subject: [PATCH 2/2] add the new docs pages maybe? --- docs/features/server-management.rst | 53 +++++++++++++++++++++++++++++++++++++ docs/features/user-management.rst | 22 +++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 docs/features/server-management.rst create mode 100644 docs/features/user-management.rst diff --git a/docs/features/server-management.rst b/docs/features/server-management.rst new file mode 100644 index 000000000..d555875a8 --- /dev/null +++ b/docs/features/server-management.rst @@ -0,0 +1,53 @@ +Server Management +================= + +Discord.Net will allow you to manage most settings of a Discord server. + +Usage +----- + +You can create Channels, Invites, and Roles on a server using the CreateChannel, CreateInvite, and CreateRole function of a Server, respectively. + +You may also edit a server's name, icon, and region. + +.. code-block:: c# + + // Create a Channel and retrieve the Channel object + var _channel = await _server.CreateChannel("announcements", ChannelType.Text); + + // Create an Invite and retrieve the Invite object + var _invite = await _server.CreateInvite(maxAge: null, maxUses: 25, tempMembership: false, withXkcd: false); + + // Create a Role and retrieve the Role object + var _role = await _server.CreateRole(name: "Bots", permissions: null, color: Color.DarkMagenta, isHoisted: false); + + // Edit a server + var _ioStream = new System.IO.StreamReader("clock-0500-1952.png").BaseStream + _server.Edit(name: "19:52 | UTC-05:00", region: "east", icon: _ioStream, iconType: ImageType.Png); + + // Prune Users + var _pruneCount = await _server.PruneUsers(30, true); + +Invite Parameters +----------------- + +maxAge: The time (in seconds) until the invite expires. Use null for infinite. +maxUses: The maximum amount of uses the invite has before it expires. +tempMembership: Whether or not to kick a user when they disconnect. +withXkcd: Generate the invite with an XKCD 936 style URL + +Role Parameters +--------------- + +name: The name of the role +permissions: A set of ServerPermissions for the role to use by default +color: The color of the role, recommended to use Discord.Color +isHoisted: Whether a role's users should be displayed separately from other users in the user list. + +Edit Parameters +--------------- + +name: The server's name +region: The region the voice server is hosted in +icon: A System.IO.Stream that will read an image file +iconType: The type of image being sent (png/jpeg). diff --git a/docs/features/user-management.rst b/docs/features/user-management.rst new file mode 100644 index 000000000..972b3ab4b --- /dev/null +++ b/docs/features/user-management.rst @@ -0,0 +1,22 @@ +User Management +=============== + +Banning +------- + +To ban a user, invoke the Ban function on a Server object. + +.. code-block:: c# + + _server.Ban(_user, 30); + +The pruneDays parameter, which defaults to 0, will remove all messages from a user dating back to the specified amount of days. + +Kicking +------- + +To kick a user, invoke the Kick function on the User. + +.. code-block:: c# + + _user.Kick();