Update README.md
This commit is contained in:
50
README.md
50
README.md
@@ -1,12 +1,20 @@
|
|||||||
# DiscordBotWithAPI
|
# DiscordBotWithAPI
|
||||||
|
|
||||||
|
This is a Discord Bot made with C# that accepts plugins as extensions for more commands and events. All basic commands are built in already in the PluginManager class library.
|
||||||
|
This project is based on .NET 6 (C#) and [Discord.Net](https://github.com/discord-net/Discord.Net)
|
||||||
|
|
||||||
|
|
||||||
|
## Plugins
|
||||||
|
#### Requirements:
|
||||||
|
- [Visual Studio](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&channel=Release&version=VS2022&source=VSLandingPage&cid=2030&passive=false)
|
||||||
|
- .NET 6 (downloaded with Visual Studio)
|
||||||
Plugin Types:
|
Plugin Types:
|
||||||
1. Commands
|
1. Commands
|
||||||
2. Events
|
2. Events
|
||||||
|
|
||||||
|
|
||||||
## How to create a plugin
|
### How to create a plugin
|
||||||
1. Commands <br>
|
|
||||||
First of all, Create a new project (class library) in Visual Studio.
|
First of all, Create a new project (class library) in Visual Studio.
|
||||||

|

|
||||||

|

|
||||||
@@ -14,6 +22,10 @@ First of all, Create a new project (class library) in Visual Studio.
|
|||||||

|

|
||||||

|

|
||||||

|

|
||||||
|
|
||||||
|
1. Commands
|
||||||
|
Commands are loaded when all plugins are loaded into memory. When an user executes the command, only then the Execute function is called.
|
||||||
|
Commands are plugins that allow users to interact with them.
|
||||||
Here is an example of class that is a command class
|
Here is an example of class that is a command class
|
||||||
```cs
|
```cs
|
||||||
using Discord.Commands;
|
using Discord.Commands;
|
||||||
@@ -49,7 +61,7 @@ namespace CMD_Utils
|
|||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
#### Definitions:
|
#### Code description:
|
||||||
- Command - The keyword that triggers the execution for the command. This is what players must type in order to execute your command
|
- Command - The keyword that triggers the execution for the command. This is what players must type in order to execute your command
|
||||||
- Description - The description of your command. Can be anything you like
|
- Description - The description of your command. Can be anything you like
|
||||||
- Usage - The usage of your command. This is what `help [Command]` command will display
|
- Usage - The usage of your command. This is what `help [Command]` command will display
|
||||||
@@ -68,3 +80,35 @@ Then, reload bot and execute command `lp` in bot's console. The plugin should be
|
|||||||
there is something wrong in your command's code.
|
there is something wrong in your command's code.
|
||||||
|
|
||||||
2. Events
|
2. Events
|
||||||
|
|
||||||
|
Events are loaded when all plugins are loaded. At the moment when they are loaded, the Start function is called.
|
||||||
|
Events are used if you want the bot to do something when something happens in server. The following example shows you how to catch when a user joins the server
|
||||||
|
and send to that user a DM message with `Welcome to server !`.
|
||||||
|
|
||||||
|
```cs
|
||||||
|
using PluginManager.Others;
|
||||||
|
using PluginManager.Interfaces;
|
||||||
|
|
||||||
|
public class OnUserJoin : DBEvent
|
||||||
|
{
|
||||||
|
public string name => "MyEvent";
|
||||||
|
|
||||||
|
public string description => "This is a demo event";
|
||||||
|
|
||||||
|
public async void Start(Discord.WebSocket.DiscordSocketClient client)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"Hello World from {name}");
|
||||||
|
|
||||||
|
client.UserJoined += async (user) => {
|
||||||
|
await (await user.CreateDMChannelAsync()).SendMessageAsync("Welcome to server !");
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Code description:
|
||||||
|
- name - The name of your event. It will appear in console when it loads
|
||||||
|
- description - The description of your event
|
||||||
|
- Start() - The main body of your event. This is executed when the bot loads all plugins
|
||||||
|
- client - the discord bot client
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user