Работа с командами
Один метод для всех ботов
Если в одном проекте используется несколько ботов и при этом хотелось бы, чтобы команда была доступна сразу всем - можно использовать значение "-1" для BotId.
Пример:
/// <summary>
/// Команда отработает для любого бота с любым botid.
/// Команда отработает при написание в чат "Команда для всех ботов".
/// </summary>
[ReplyMenuHandler(-1, "Команда для всех ботов")]
public static async Task ReplyExampleAllBots(ITelegramBotClient botClient, Update update)
{
string msg = nameof(ReplyExampleAllBots);
await Helpers.Message.Send(botClient, update, msg);
}
Работает для следующих атрибутов:
ReplyMenuHandlerAttribute;
ReplyMenuDynamicHandlerAttribute;
SlashHandlerAttribute;
InlineCallbackHandlerAttribute.
Завершение пошагового выполнение команд на последнем шаге
Начиная с версии 0.6 есть возможность взвести флаг, который оповестит, что это последний шаг в системе и пошаговое выполнение нужно завершить.
Пример:
var handler = update.GetStepHandler<StepTelegram>();
handler.LastStepExecuted = true;
Игнорирование базовых команд при выполнение пошаговых команд
Начиная с версии 0.6 есть возможность взвести флаг, который оповестит систему, что в данный момент нужно игнорировать все команды, кроме пошаговых.
Пример:
var handler = update.GetStepHandler<StepTelegram>();
handler.IgnoreBasicCommands = true;
Last updated