
Введение Link to heading
Потеря питомца — страшный сон любого владельца. Я решил подойти к вопросу технически и написал небольшой телеграм-бот, который будет круться на домашнем сервере, а на адреснике для своей собаки закажу QR-код, который ведет в персонального Telegram-бота.
Зачем это нужно? Link to heading
Геолокация в один клик: Нашедшему не нужно объяснять на словами, где он находится. Нажатие одной кнопки в боте отправляет мне точные координаты GPS.
Прямая связь: Если человек не хочет делиться локацией, он может перейти в чат со мной.
Актуальность данных: Если я поменяю номер телефона или акаунт в Telegram, мне не нужно переделывать жетон. Я просто обновлю ссылку в коде бота.
Технические детали Link to heading
Бот написан на Python в 5 строчек кода с использованием библиотеки aiogram.
При сканировании QR-кода открывается чат.
По команде /start пользователь видит две опции: огромную кнопку «Отправить координаты» и кнопку «Связь с владельцем:».
Как только нашедший подтверждает отправку локации, бот пересылает мне в личку карту с точкой, и логин владельца в Telegram.
Разварачивать его буду у себя локально дома на dietpi.
Как развернуть? Link to heading
Создание Telegram Bot’а Link to heading
Через @BotFather создайте бота и получите токен.
Запишите токен, он нам пригодится для запуска бота.
Опционально: Сделайте красивую аватарку для бота и приветственное сообщение с картинкой и описание.
Разварачивание на сервере Link to heading
- Проверяем, что у нас установлен Python и pip:
python3 --version
pip3 --version
- Если нет, то устанавливаем (в примере Ubuntu):
sudo apt-get update
sudo apt-get install python3 python3-pip
- Скачиваем файлы бота:
git clone https://gitverse.ru/tatarinovms/finddogbot.git
- Переходим в директорию проекта и создаем виртуальное окружение:
cd finddogbot
python3 -m venv venv
- Активируем виртуальное окружение :
source venv/bin/activate
pip install aiogram
- Настраиваем бота:
vim bot.py
- Введоим данные и сохраняем изменения:
API_TOKEN = "ВАШ_ТОКЕН_ОТ_BOTFATHER" # Получите у @BotFather
YOUR_CHAT_ID = 123456789 # Ваш Telegram ID
YOUR_USERNAME = "ваш_username" # Ваш username без @
- Создаем файл сервиса:
vim /etc/systemd/system/finddogbot.service
- Вставьте в него следующее и сохраните:
[Unit]
Description=Telegram Dog Search Bot
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/root/finddogbot
ExecStart=/root/finddogbot/venv/bin/python /root/finddogbot/bot.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
- Запуск службы:
sudo systemctl daemon-reload
sudo systemctl enable finddogbot.service
sudo systemctl start finddogbot.service
QR-код Link to heading
Нам необходимо создать QR-код, который будет открывать чат с ботом. Формат ссылки: https://t.me/usernameбота?start=1
Как выглядит для пользователя? Link to heading

Как выглдяит для владельца пса? Link to heading
