# Налаштування бота-свідка

Canonical page: https://phishdestroy.github.io/TgWitness/uk/docs/witness/

Нехай окремий процес перевіряє журнал і публікує підписані контрольні точки у вашому каналі.

## Два хости, два ключі підпису

ХОСТИНГ / КОЛЕКТОР**Акаунт + журнал**

Ключ підпису колектора сеансів Telegram

Кінцева точка контрольної точки, доступна лише для читання

← запит на підписану відповідь →

HOST B / WITNESS**Перевіряти + зберігати**

Зафіксований відбиток колектора; окремий ключ підпису свідка

Власний журнал + токен бота

Witness → API бота Telegram →**Ваш канал · підписані публікації TGW1**

Witness самостійно здійснює перевірки. Доступ колектора обмежений лише читанням. Публікація через бота використовує з’єднання та токен Witness; сесія облікового запису не надається Witness.

03 / РІШЕННЯ ЩОДО КОНТРОЛЬНИХ ПУНКТІВПриклади відповідей

ОСТАННЄ ПРИЙНЯТЕ**120 записів**`head 9c7d…`

НАСТУПНА ВІДПОВІДЬ**128 записів**`head a4f2…`

Прийнято: кількість зростає, підпис перевірено, а ключ збігається. Свідок зберігає цю нову межу.

Усі приклади відповідей базуються на припущенні про наявність дійсного підпису та закріпленого ключа. Хеші тут наведено у скороченому вигляді. Сам по собі більший лічильник не може довести, що весь старий префікс залишився незмінним; порівняйте експорт із збереженими контрольними точками.

## Підготуйте бота та канал

Створіть бота за допомогою BotFather і надайте йому дозвіл публікувати повідомлення у каналі, яким ви керуєте. Оберіть комп’ютер або сервер для роботи TgWitness. Окремий хост та оператор забезпечують більшу незалежність, ніж запуск другого процесу на сервері збирача даних.

## Три кроки в розділі «Додаткові функції»

1. **Доступ тільки для читання.** Відкрийте **«Додаткові налаштування» → «Бот у вашому каналі»**, створіть токен свідка та збережіть файл доступу. Це дозволяє читати контрольні точки та стан системи, але не розмови чи налаштування колектора.
2. **Канал та інтервал.** Введіть канал та адресу колектора, доступну для свідка. Збережіть файл налаштувань.
3. **Запуск.** Помістіть разом файли `witness.json`, `witness-token.txt` та `bot-token.txt`, створені на хості Witness. Виконайте наведені нижче команди в середовищі встановленого проєкту.

```
python -m tgwitness.witness run --config witness.json --check-config
python -m tgwitness.witness run --config witness.json
```

Завантаження файлів не запускає роботу TgWitness. Переконайтеся, що у каналі з’явився перший підписаний допис, а потім окремо збережіть відбиток відкритого ключа TgWitness.

## Виберіть, як часто публікувати

Публікація кожного перевірки створює регулярний зовнішній запис. З інтервалом у п’ять хвилин це становить приблизно 288 публікацій на робочу область щодня. Розширені налаштування також передбачають публікацію повідомлень про зміни чи проблеми, проксі-сервер та власну адресу API-інтерфейсу бота.

**Що саме підтверджує цей бот?**

Свідок запитує у збирача підписаний контрольний пункт, перевіряє його на відповідність очікуваному ключу та веде окремий підписаний журнал. Він фіксує як відсутні відповіді та відхилені відповіді, так і успішні перевірки. Публікація все ще залежить від того, чи працює свідок і чи має доступ до Bot API Telegram.

Він перевіряє стан журналу, про який повідомляє збирач даних. Він не здійснює самостійного спостереження за кожним повідомленням у Telegram. Для цього слід додати тест на контрольовану доставку.

## Перегляньте докази пізніше

Зберігайте журнал свідчень, публікації в каналах та незалежно збережені відбитки. [Повна процедура перевірки](https://phishdestroy.github.io/TgWitness/uk/docs/reference/witness/#verify) порівнює їх із підписаним експортом колектора.
