ТГ Бот - помощник при съёме

Sunrise_in_Paradise

Новорег
Сообщения
8
Реакции
5
Баллы
4
В какой-то статье я рассказывал, как использовал простых ботов чтобы прятать в них палево по дороге за кладом. Подумал, а почему бы не рассказать как это делать? Ловите гайд.

Бот работает просто. Оправляете сообщение - получаете фото.
Плюсы
1. До места вы идёте полностью пустым
2. Имя фальшбота знаете только вы

Минусы
1. Надо заморочится
2. С плохим интернетом могут быть проблемы

Собственно, гайд.

1. Настройки телеграма
Первым делом заходим в настройки телеграма и отключаем все автозагрузки и сохранения.
"Настройки - Данные и память"
Выворачиваем всё на минус, "Автозагрузка медиа", "Сохранять в галерее", "Автовоиспроизведение" (чтоб наверняка)

2. Установка Python
Скачать и установить можно на официальном сайте, гуглим как делать, устанавливаем, проверяем, идём дальше. Писать (копировать) код будем в обычном виндосовском блокноте.

3. Установка модуля
Для работы с Bot API телеграма нам нужен модуль pyTelegramBotAPI. Скачать его очень просто, открываем командную строку и пишем

pip install pyTelegramBotAPI

Готово.

4. Создаём архитектуру
На рабочем столе создаём папку. В папке создаём файл klad_bot.py в эту же папку кидаем фото клада. Фотку лучше переименовать, типа klad.jpg

5. Создаём бота.
Находим в телеграме отца всех ботов BotFather. Собачку перед ником не забудьте. Пишем команды
/newbot
- придумываем имя боту
- придумываем ник бота, заканчиваться всегда должно на bot, иначе не получится.
После этого бот отправит нам сообщение с токеном, выглядит токен примерно так

1234567890:BBFj4VvCI2tpjdnrgAjmdlvKtbKrfEsd6sw

Не терять, он нам понадобится.

6. Пишем логику
С помощью блокнота открываем на klad_bot.py
Копируем туда вот этот код
import telebot
TOKEN = 'СЮДА ВСТАВЛЯЕМ ТОКЕН'
SECRET = 'Фото'
IMAGE = 'klad.jpg'
COORDS = '74.441587 65.547892'
bot = telebot.TeleBot(TOKEN)
@bot.message_handler(content_types=['text'])
def echo_all(message):
if (message.text.lower() == SECRET.lower()):
photo = open(IMAGE, 'rb')
bot.send_photo(message.chat.id, photo)
bot.send_message(message.chat.id, COORDS)
else:
bot.send_message(message.chat.id, message.text)
bot.infinity_polling()

В TOKEN прописываем токен нашего бота
В SECRET прописываем кодовое слово, по которому бот будет отправлять нам палево
В IMAGE прописываем название фотографии клада (понял почему лучше переименовать?)
В COORDS пишем координаты

7. Запускаем бота
Заходим в папку с нашим файлом и открываем командную строку, открывай прям в файле, так ты сразу окажешься в нужном месте (пкм - открыть в терминале) если в меню нет открыть в терминале сделай тоже самое с зажатым шифтом.

В командной строке пишем python .\klad_bot.py

Если ты всё сделал правильно, то твой текстовый курсор перейдёт на новую строку, а если ты попытаешься что-то напечатать, то ничего не произойдёт.

Бот готов к работе.

8. Проверка
Если написать боту любое сообщение, он просто скопирует его и отправит тебе же. Но если ты напишешь кодовое слово "Фото" - получишь палево.

9. Нюанс (Важно!)
Если ты не пропустил первый пункт, то при получении фото его нужно будет загрузить. Ты загрузил его, посмотрел, нашёл своё сокровщие, удалил дилог с ботом и пошёл домой довольный. Остановись, это ещё не всё. Даже если отключить все загрузки, телеграм всё равно кэширует изображения, и фото твоего клада остаётся в кэше. Чтобы его оттуда убрать, нужно зайти в

настройки - данные и память - использование памяти

Там будет интерфейс с диаграмой, в нём можно почистить кэш. Можешь найти там своего бота и удалить кэш только от него, а можешь удалить сразу всё, телефон скажет тебе за это спасибо.

10. Заключение
Способ проверн лично, сильно успокаивает по дороге за кладом. Даже если остановит самый наглый сотрудник, который отберёт телефон, найти бота он не сможет (Если только ты не забыл удалить диалог после проверки работы). А если и найдёт, вряд ли поймёт что это какой-то шифр.
Конечно, не стоит называть бота как в примере, придумайте уникальное название, обычное и неприметное. Это просто наборосок, развивать идею можно до бесконечности, например, замаскировать бота под ленту новостей, прогноз погоды, гороскоп, анекдоты, рецепты готовки, менеджер задач и т.д.

Пишите ваши идеи реализации, будет интересно.
 
Замечательно. Попробуйте усложнить задачу и скармливать фото кладов этому боту что бы он комплектовал их для дальнейшего использования, например для создания базы фото.
Что может понадобиться можете найти здесь: https://wayaway.at/forums/kurerskij-razdel-smartfony-android-skripty.12254/
 
Можно просто на обменник залить фотку и зайти через тор, скопировать ссылку, добавить к ней лишних символов, запомнить это и все.
 
Можно ещё автоудаление сообщений с фото прикрутить, по таймеру. Чтобы в случае если сам забыл - оно само удалялось. Или перестраховаться, вдруг мусора примут прям тогда, когда на фотку смотреть будешь - тогда сам удалить не успеешь ничего, зато можно потянуть время и оно само удалится - может, это хоть как-то спасёт
 
Слишком сложно. А если фото открыть через тор, то при закрытии Тора исчезнут все вкладки, в т.ч. и фото
 
Замечательно. Попробуйте усложнить задачу и скармливать фото кладов этому боту что бы он комплектовал их для дальнейшего использования, например для создания базы фото.
Что может понадобиться можете найти здесь: https://wayaway.at/forums/kurerskij-razdel-smartfony-android-skripty.12254/
Идея интересная, попробую. Изучаю материал.
Можно просто на обменник залить фотку и зайти через тор, скопировать ссылку, добавить к ней лишних символов, запомнить это и все.
Наличие тора может послужить триггером для сотрудников. К тому же, тор с телефона работает довольно тяжело. Опираюсь на свои же опыт как покупателя, знаю о чём говорю.
Можно ещё автоудаление сообщений с фото прикрутить, по таймеру. Чтобы в случае если сам забыл - оно само удалялось. Или перестраховаться, вдруг мусора примут прям тогда, когда на фотку смотреть будешь - тогда сам удалить не успеешь ничего, зато можно потянуть время и оно само удалится - может, это хоть как-то спасёт
Да, отличная идея. У API есть методы, с помощью которых бот может удалять сообщения. Делая наброски бота для курьеров я использовал это. Когда предпологаемый курьер отправляет боту фото, оно сохраняется на сервер (или локальный компьютер) и сразу удаляется после этого.
Слишком сложно. А если фото открыть через тор, то при закрытии Тора исчезнут все вкладки, в т.ч. и фото
Не спорю, нужно заморочится... Но лучше перебздеть, чем недобздеть.
 
Замечательно. Попробуйте усложнить задачу и скармливать фото кладов этому боту что бы он комплектовал их для дальнейшего использования, например для создания базы фото.
Что может понадобиться можете найти здесь: https://wayaway.at/forums/kurerskij-razdel-smartfony-android-skripty.12254/
Из того что я вычитал в разделе удалось сложить такую систему.

Для реализации понадобится open camera, termux, telegram.

Имея в руках эти инструменты, мы можем создать простую систему. Прошу извинить меня если мои сценарий сильно отличается от реальности, я не имею никакого курьерского опыта. Задача для меня больше как фан, нежели что-то серьёзное, но может быть для кого-то это будет идеей для создания чего-то большего.

Условный курьер вышел на работу. Разложил клады, сделал фото, на кармане ничего нет. Настало время сваливать и нужно избавится от компромата. Курьер заходит в телеграм, находит своего бота. При первом открытии чата будет доступна только кнопка "старт". Курьер нажимает её и чат удаляется. В это время все фотографии кладов отправляются в заранее подготовленное место, а с телефона удаляются. Можно спокойно идти домой.

Под заранее подготволенным местом я имею в виду левый аккаунт, на который бот будет отправлять фотографии.

Как это работает?

1. Termux
Удивительная вещь, даже расстроился что не слышал о ней ранее.
Настраиваем Termux по гайду. Для реализации бота нам будет достаточно первой части, до termux-setup-storage. Это нужно чтобы иметь доступ к хранилищу телефона, где всё будет лежать.

После этого устанавливаем python себе на телефон. Нужных пакетов для termux из коробки может и не быть, мне помог примерно такой список

pkg install openssl
pkg install python3


Устанавливаем нужные модули

pip3 install telebot

У меня ещё ругался что не было модуля requests. Если что, ставим и его

pip3 install requests

2. Open camera
Настраиваем по гайду. Указываем путь для сохранения фото и запоминаем его, там будет жить бот.

3. Создание бота
Создавать бота лучше с простым именем, которое можно бытро найти в поиске.

4. Создание аккаунта
Для такого дела вполне подойдёт одноразовый виртуальный номер. Покупаем номер, создаём аккаунт и узнаём ID профиля. Сделать это можно через специальных ботов там же. Узнаём ID и запоминаем, а лучше записываем.

5. Код бота
Создаём файл kladmen_support.py и вставляем туда вот такой код.
import telebot
import glob
import os

token = "ТОКЕН БОТА"
chat_id = "ID Чата левого аккаунта"

bot = telebot.TeleBot(token)
@bot.message_handler(content_types=['text'])
def send_bot(message):
filename_list = glob.glob('*.jpg')

bot.delete_message(message.chat.id, message.id)

for filename in filename_list:
photo = open(filename, 'rb')
bot.send_photo(chat_id, photo)
photo.close()

os.remove(filename)

bot.infinity_polling()


6. Активация
После того как мы сохранили файл kladmen_support.py в той же папке куда сохраняются наши фото, нам нужно запустить бота. Это нужно делать через termux. Для удобства навигации по файловой системе рекомендую использовать midnight commander. Это что-то вроде файлового менеджера в командной строке.

apt install mc

Чтобы открыть midnight commander введите mc

Заходим в папку с нашим ботом и запускаем его

python3 kladmen_support.py

Готово, система работает.

Разбор кода.
# Полючаем все необходимые модули
import telebot
import glob
import os

# Для удобства сохраняем все нужные данные в переменные
token = "ТОКЕН БОТА"
chat_id = "ID Чата левого аккаунта"


# Создаём экземпляр бота

bot = telebot.TeleBot(token)

# Создаём обработчик ЛЮБЫХ текстовых сообщений (content_types=['text'])
@bot.message_handler(content_types=['text'])
def send_bot(message):

# Находим все файлы в текущей папке в формате jpg
filename_list = glob.glob('*.jpg')

# После этого бот удаляет сообщение которое вы отправли
bot.delete_message(message.chat.id, message.id)

# После этого запускается цикличная обработка каждого файла
for filename in filename_list:
photo = open(filename, 'rb') # Открываем фото
bot.send_photo(chat_id, photo) # Отправляем фото на левый акк
photo.close() # Завершаем работу с файлом

# Удаляем файл с телефона
os.remove(filename)

На этом всё, вроде прикольно получилось. Жду отзывы, идеи, улучшения. Торчи программисты пишите что-нибудь, я знаю, вас много.
 
Как жаль что нельзя редактировать пост. Хотел добавить какие вижу плюсы.

1. Этот подход исключает сохранение фотографий кладов в кэше телеграма, так как в ваших чатах они никак не отображаются, а отправляются сразу в другой чат на другое устройство.

2. Если для работы использовать разные аккаунты как для запуска бота, так и для приёма сообщений. То даже сам Дуров не сможет вас вычислить.

3. Не знаю как с полным удалением фото из системы, но можно улучшить скрипт и не удалять фото, а просто их перезаписывать. Это гарантирует невозможность идентификации файла как фото заклада.
 
Настало время сваливать и нужно избавится от компромата.
На этом эатпе уже провальная идея. Компромат должен исчезать сразу после съёмки.
Кеш не проблема, его можно удалять автоматом с помощью termux
Это всё уже учтено теми скриптами которые есть. Хотелось бы стучаться к боту и просить фото по id. Смотреть на карте места с готовыми фото, возможно в виде тех же скринов которые отправляет бот.

Пример:
Разделить карту на зоны, указывать боту в какой зоне находишься.
Бот принимает фотки с координатами из метаданных и ставит метку на карте
Когда создана база запрашиваешь у бота скриншот или ссылку на карту с метками, выбираешь подходящую, пишешт боту id метки и он скидывает фото которое было сделано в момент добавления. Далее рисуешь на фото инфу + добавляешь текст/описание средствами бота и загружаешь обратно

Делать фото в момент заклада это суицидная стратегия, не стоит поощрать и помогать в реализации таких стратегий. Адекватный курьер работает по базе готовых фото.
 
Из того что я вычитал в разделе удалось сложить такую систему.

Для реализации понадобится open camera, termux, telegram.

Имея в руках эти инструменты, мы можем создать простую систему. Прошу извинить меня если мои сценарий сильно отличается от реальности, я не имею никакого курьерского опыта. Задача для меня больше как фан, нежели что-то серьёзное, но может быть для кого-то это будет идеей для создания чего-то большего.

Условный курьер вышел на работу. Разложил клады, сделал фото, на кармане ничего нет. Настало время сваливать и нужно избавится от компромата. Курьер заходит в телеграм, находит своего бота. При первом открытии чата будет доступна только кнопка "старт". Курьер нажимает её и чат удаляется. В это время все фотографии кладов отправляются в заранее подготовленное место, а с телефона удаляются. Можно спокойно идти домой.

Под заранее подготволенным местом я имею в виду левый аккаунт, на который бот будет отправлять фотографии.

Как это работает?

1. Termux
Удивительная вещь, даже расстроился что не слышал о ней ранее.
Настраиваем Termux по гайду. Для реализации бота нам будет достаточно первой части, до termux-setup-storage. Это нужно чтобы иметь доступ к хранилищу телефона, где всё будет лежать.

После этого устанавливаем python себе на телефон. Нужных пакетов для termux из коробки может и не быть, мне помог примерно такой список

pkg install openssl
pkg install python3


Устанавливаем нужные модули

pip3 install telebot

У меня ещё ругался что не было модуля requests. Если что, ставим и его

pip3 install requests

2. Open camera
Настраиваем по гайду. Указываем путь для сохранения фото и запоминаем его, там будет жить бот.

3. Создание бота
Создавать бота лучше с простым именем, которое можно бытро найти в поиске.

4. Создание аккаунта
Для такого дела вполне подойдёт одноразовый виртуальный номер. Покупаем номер, создаём аккаунт и узнаём ID профиля. Сделать это можно через специальных ботов там же. Узнаём ID и запоминаем, а лучше записываем.

5. Код бота
Создаём файл kladmen_support.py и вставляем туда вот такой код.
import telebot
import glob
import os


token = "ТОКЕН БОТА"
chat_id = "ID Чата левого аккаунта"

bot = telebot.TeleBot(token)
@bot.message_handler(content_types=['text'])
def send_bot(message):
filename_list = glob.glob('*.jpg')

bot.delete_message(message.chat.id, message.id)

for filename in filename_list:
photo = open(filename, 'rb')
bot.send_photo(chat_id, photo)
photo.close()

os.remove(filename)

bot.infinity_polling()


6. Активация
После того как мы сохранили файл kladmen_support.py в той же папке куда сохраняются наши фото, нам нужно запустить бота. Это нужно делать через termux. Для удобства навигации по файловой системе рекомендую использовать midnight commander. Это что-то вроде файлового менеджера в командной строке.

apt install mc

Чтобы открыть midnight commander введите mc

Заходим в папку с нашим ботом и запускаем его

python3 kladmen_support.py

Готово, система работает.

Разбор кода.
# Полючаем все необходимые модули
import telebot
import glob
import os

# Для удобства сохраняем все нужные данные в переменные
token = "ТОКЕН БОТА"
chat_id = "ID Чата левого аккаунта"


# Создаём экземпляр бота
bot = telebot.TeleBot(token)

# Создаём обработчик ЛЮБЫХ текстовых сообщений (content_types=['text'])
@bot.message_handler(content_types=['text'])
def send_bot(message):

# Находим все файлы в текущей папке в формате jpg

filename_list = glob.glob('*.jpg')

# После этого бот удаляет сообщение которое вы отправли
bot.delete_message(message.chat.id, message.id)

# После этого запускается цикличная обработка каждого файла
for filename in filename_list:
photo = open(filename, 'rb') # Открываем фото
bot.send_photo(chat_id, photo) # Отправляем фото на левый акк
photo.close() # Завершаем работу с файлом

# Удаляем файл с телефона
os.remove(filename)


На этом всё, вроде прикольно получилось. Жду отзывы, идеи, улучшения. Торчи программисты пишите что-нибудь, я знаю, вас много.
Отлично получилось) Буду ждать таймер
 
Верх Низ