--- url: /commands/testing.md description: >- Как проверить пользовательскую команду — превью, тестовый запуск в ЛС, вкладка «Диагностика», статусы и ошибки. --- # Тест и диагностика
Проверить команду можно, не беспокоя участников чата: посмотреть превью в редакторе, запустить команду себе в личные сообщения и разобрать ошибки во вкладке «Диагностика».
## Три способа проверить { #ways } | Способ | Что проверяет | На каких данных | |---|---|---| | **Превью** в редакторе | Как выглядит текст и кнопки | На тестовых: вымышленный участник, чат и аргументы. Их можно менять | | Вкладка **«Тест»** | Всю команду целиком: права, хранилища, `astral`, кнопки | На настоящих данных чата. Результат приходит вам в ЛС | | **Вызов в чате** | То, что увидят участники | На настоящих данных | ## Тестовый запуск { #test } 1. Откройте вкладку **«Тест»**. 2. Выберите действие (по умолчанию — действие команды по умолчанию). 3. Впишите аргументы, как если бы писали их после команды: `@anna 100`. 4. Нажмите **«Запустить»**. Бот выполнит команду от вашего имени и пришлет результат в личные сообщения. В панели появится сводка: ошибки, сколько потрачено квот и сколько времени заняло выполнение. ::: warning Бот не может вам написать? Откройте бота в Telegram и нажмите **«Запустить»** (Start). Пока вы этого не сделали, Telegram не разрешает боту писать вам, и тест вернет ошибку. ::: ::: danger Тест выполняется по-настоящему Если команда меняет данные — начисляет монеты, выдает роли, записывает в индекс, — тест тоже их изменит. Проверяйте такие команды аккуратно или на тестовом чате. ::: ## Вкладка «Диагностика» { #diagnostics } Здесь собраны все проблемы команды: * **Ошибки проверки** — найденные при сохранении. У каждой: действие, строка и столбец (`3:14`), код и описание. * **Предупреждения** — шаблон работает, но стоит посмотреть: например, таблица в режиме Text. * **Ошибки выполнения** — что пошло не так, когда команду вызывали в чате: кончилась квота, у бота нет прав, данные Astral недоступны. Коды ошибок и что с ними делать — в статье [Ошибки](/templates/advanced/errors). ## Что видит участник при ошибке { #user-view } | Ситуация | Ответ участнику | |---|---| | Сработал `{% require … returning 'текст' %}` или `{% return 'текст' %}` | Ваш текст | | `{% return null %}` | Ничего | | Ошибка выполнения | Короткое понятное сообщение без технических подробностей | Как именно бот показывает ошибку — ответом, эфемерно или молча, — задается в [настройках модуля](./settings#error-mode). Подробности ошибки всегда остаются во вкладке «Диагностика». ## Частые проблемы { #faq } **Команда не отвечает.** Проверьте, что команда включена и ее статус — «Работает». Посмотрите [поля вызова](./settings#invocation): возможно, у вас нет прав, команда запрещена в этом топике или действует кулдаун. **Команда отвечает не всем.** Кулдаун на чат: пока идет пауза, другие участники тоже не могут вызвать команду. **`!команда` не срабатывает, а `/команда` работает.** Проверьте алиасы и префиксы: алиас пишется без префикса (`кубик`, а не `!кубик`), а префиксы задаются в разделе **«Общие»**. **Кнопка пишет «Кнопка устарела».** Кнопку не нажимали больше 180 дней, и бот ее забыл. Вызовите команду заново — у нового сообщения будут рабочие кнопки.