Telegram.Bot.CommandHandler
1.4.4.2
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Telegram.Bot.CommandHandler --version 1.4.4.2
NuGet\Install-Package Telegram.Bot.CommandHandler -Version 1.4.4.2
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="Telegram.Bot.CommandHandler" Version="1.4.4.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Telegram.Bot.CommandHandler --version 1.4.4.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Telegram.Bot.CommandHandler, 1.4.4.2"
#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 Telegram.Bot.CommandHandler as a Cake Addin
#addin nuget:?package=Telegram.Bot.CommandHandler&version=1.4.4.2
// Install Telegram.Bot.CommandHandler as a Cake Tool
#tool nuget:?package=Telegram.Bot.CommandHandler&version=1.4.4.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Telegram Command Handler
A better way to detect and handle commands sent to a telegram client.
Requirements
- Telegram.Bot library
- .Net Core 2.2 or higher
Usage
Program.cs
Register your command classs(es) using commandHandler.RegisterCommands<Class>
where Class
is a subclass of CommandModule
, then initialize the commandHandler
with your botClient
.
TelegramCommandHandler commandHandler = new TelegramCommandHandler();
commandHandler.RegisterCommands<Commands>();
botClient.InitializeCommands(commandHandler);
//MANDATORY
botClient.StartReceiving();
Commands.cs
public class Commands : CommandModule
{
// All command methods MUST be async, have a return type of Task, have only a CommandContext as a parameter,
// and have the [Command] attribute.
// The parameter for the [Command] attribute indicates what invokes this method. DO NOT specify a prefix here.
// When a user invokes the /sayhello command, the bot will respond with "Hello, world!".
[Command("sayhello")]
public async Task SayHello(CommandContext ctx)
{
await ctx.RespondAsync("Hello, world!");
}
// When a user invokes the /ping command, the bot will respond with "Pong!".
[Command("ping")]
public async Task Ping(CommandContext ctx)
{
await ctx.RespondAsync("Pong!");
}
}
Extras
Prefix
You can change the /
prefix to anything you want by passing a paremeter to the TelegramCommandHandler
initialization, like so:
TelegramCommandHandler commandHandler = new TelegramCommandHandler("!");
This will cause !
to invoke your commands, instead of /
.
Pre/Post-command execution
public override async Task BeforeExecutionAsync(CommandContext ctx)
{
// Will be called before execution of a method
}
public override async Task AfterExecutionAsync(CommandContext ctx)
{
// Will be called after executionn of a method
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp2.2 is compatible. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETCoreApp 2.2
- Telegram.Bot (>= 15.4.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Made Before and AfterExecutionAsync an async Task.