feat: команда /help — справка по всем командам бота
This commit is contained in:
@@ -198,8 +198,11 @@ func (a *App) handleIncoming(inc chat.Incoming) {
|
||||
|
||||
// update/status — команды бинаря вне машины состояний задач.
|
||||
// /status перехватываем только без числового аргумента (/status N — статус задачи).
|
||||
if cmdName(text) == "/update" || (cmdName(text) == "/status" && !hasArg(text)) {
|
||||
a.handleUpdateCommand(ctx, uid, text)
|
||||
// /help — справка по всем командам (тоже команда бинаря, вне задач).
|
||||
if cmdName(text) == "/help" ||
|
||||
cmdName(text) == "/update" ||
|
||||
(cmdName(text) == "/status" && !hasArg(text)) {
|
||||
a.handleBinaryCommand(ctx, uid, text)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -342,16 +345,37 @@ func (a *App) autoCheckOnce(ctx context.Context) {
|
||||
a.send(ctx, uid, msg)
|
||||
}
|
||||
|
||||
// handleUpdateCommand — маршрутизация /update и /status.
|
||||
func (a *App) handleUpdateCommand(ctx context.Context, uid chat.UserID, text string) {
|
||||
// handleBinaryCommand — маршрутизация бинарных команд: /help, /update, /status.
|
||||
func (a *App) handleBinaryCommand(ctx context.Context, uid chat.UserID, text string) {
|
||||
switch cmdName(text) {
|
||||
case "/status":
|
||||
a.handleStatusCmd(ctx, uid)
|
||||
case "/update":
|
||||
a.handleUpdateCmd(ctx, uid)
|
||||
case "/help":
|
||||
a.handleHelpCmd(ctx, uid)
|
||||
}
|
||||
}
|
||||
|
||||
// helpText — текст команды /help.
|
||||
const helpText = "⚡ **Ratatoskr** — помогу продумать задачу и запущу агента.\n\n" +
|
||||
"**Команды:**\n" +
|
||||
"`/start` — новая задача\n" +
|
||||
"`/cancel` — отменить текущую\n" +
|
||||
"`/skip` — хватит вопросов, предложить черновик\n" +
|
||||
"`/retry N` — перезапустить задачу `N`\n" +
|
||||
"`/status N` — статус задачи `N`\n" +
|
||||
"`/continue N` — продолжить задачу `N`\n" +
|
||||
"`/status` — статус бинаря и обновления\n" +
|
||||
"`/update` — применить обновление\n" +
|
||||
"`/help` — эта справка\n\n" +
|
||||
"Просто опишите задачу — я помогу её продумать."
|
||||
|
||||
// handleHelpCmd отвечает списком команд.
|
||||
func (a *App) handleHelpCmd(ctx context.Context, uid chat.UserID) {
|
||||
a.send(ctx, uid, helpText)
|
||||
}
|
||||
|
||||
// handleStatusCmd отвечает текущей версией и результатом последней проверки.
|
||||
func (a *App) handleStatusCmd(ctx context.Context, uid chat.UserID) {
|
||||
if a.Config.Update.Enabled && a.Updater != nil {
|
||||
|
||||
Reference in New Issue
Block a user