OTAL.DiscordBot 3.0.1

dotnet add package OTAL.DiscordBot --version 3.0.1
NuGet\Install-Package OTAL.DiscordBot -Version 3.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="OTAL.DiscordBot" Version="3.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add OTAL.DiscordBot --version 3.0.1
#r "nuget: OTAL.DiscordBot, 3.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install OTAL.DiscordBot as a Cake Addin
#addin nuget:?package=OTAL.DiscordBot&version=3.0.1

// Install OTAL.DiscordBot as a Cake Tool
#tool nuget:?package=OTAL.DiscordBot&version=3.0.1


Fix OTAL.DiscordBot.Common issue


Library Rework & Code cleanup
Wrapper implementation
RunAsync() → Removed
Removed IOTALDiscordBot Interface methods and moved to IOTALDiscordBotHelper
Removed Reflection, now using source generators and many more!


OTALDiscordBot class is now public to allow wrapping


Fix an issue whre GetGuildAsync will cause an infinite loop


IOTALDiscordBot GetGuildAsync method added
TestGuild in AppSettings added


Fix a bug where only one job loads
Fix a bug where Job with Mediator DI will not be invoked
Fix a bug where GetComponents will error if no buttons was found\

Add GetRequired() in IOTALDiscordBotContext


AddOTALDiscordBot(config, assemblies) → AddOTALDiscordBot(config)
GetRequiredService<IOTALDiscordBot>() → UseOTALDiscordBotAsync()
run() → RunAsync()

IDiscordMessageUtility → IOTALDiscordBotHelper
MiddlewareContext → IOTALDiscordBotContext
IMiddlewareInteraction → IContext

To use Context → IContextInteraction

messages.json → IDiscordEmbedBuilder
EmbedFromJson → IOTALDiscordBotHelper.GetEmbed()

IButton → IButtonComponent
IMenu → IMenuComponent
IModal → IModalComponent

IOTALDiscordBot Guild has been removed


Complete rework on Package Notes coming soon...


Slash Commands now has AutoComplete


Middlewares can now be properties injected from Discord Interactions


Fixed an issue where commands will ignore cache
Implemented TestMode In DEBUG mode - PRESENCE_UPDATE no longer shows


Fixed an issue where IsDeferred property was not working correctly
Fixed an issue where IsEphemeral property was not working correctly


Fixed an issue where Jobs sometimes does things more than once due to Multiple Threading
Added a property that allows user to choose whether an interaction should be deferred or not
Added a property that allows user to hide responses in all interactions
Fixed an issue where Commands would not be removed correctly
Added Multiple methods on IOTALDiscordBot to be compatible with different environments
Added Guild property on IOTALDiscordBot for more efficient way on access Guild


Middleware implementation now capable to async/await
IntendedException now has 1 constuctor for logging otalbotcache.json location updated to Environment CurrentDirectory


MiddlewareContext Implemented
No more List<objects> middlewareObjects IMiddlewareCommand & IMiddlewareComponent replaced with IMiddlewareInteraction
All Interactions now uses Defer (RespondAsync no longer in use) Button Performance Improvement


Discord.Net updated to 3.9.0
Fixed an issue where Jobs was not working at all INFO log is given to inform users that jobs have been loaded in


Added Component Utility Fix an issue where commands with capital letters will not work correctly
Fix an issue where sometimes commands would not update correctly when changes are found


Performance Improvement Implement Jobs
Implement Auto Command Registration Minor Bug Fixes


Fixed an issue where some handlers will not Log correctly.


Fixed an issue where MediatR would not get Handlers correctly
Fixed an issue where Settings would not be updated


Initial Release

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.0.1 88 5/10/2024
3.0.0 97 5/10/2024
2.2.3 92 5/3/2024
2.2.2 177 2/4/2024
2.2.1 87 2/4/2024
2.2.0 211 11/13/2023
2.1.0 108 11/11/2023
2.0.0 147 10/5/2023
1.5.0 243 7/22/2023
1.4.3 209 5/20/2023
1.4.2 276 4/16/2023
1.4.1 267 3/30/2023
1.4.0 202 3/30/2023
1.3.0 336 3/3/2023
1.2.0 268 2/25/2023
1.1.2 258 2/23/2023
1.1.1 327 1/25/2023
1.1.0 323 1/11/2023
1.0.2 382 12/5/2022
1.0.1 368 12/4/2022
1.0.0 332 12/3/2022