«Бойтесь юзеров с Telegram Premium»: как (не) спрятать ваше удалённое сообщение и зачем бизнесу ИИ-бот
Спойлер, если ваш собеседник владеет Telegram Premium и включил Telegram Business, то любой ваш «быстро удалённый» текст может навсегда сохраниться в его переписке с ботом. Более того, у него может быть прикручен ИИ-бот, который продолжит с вами беседу, пока вы судорожно думаете: «А я вообще это писал…?».
Пролог
Представьте, что вы отправили коллеге или другу длинное сообщение (которое потом сами бы стёрли из памяти), а затем резко удалили. В обычном мире оно исчезает без следа, и можно сделать вид, что ничего не было. Но! Если у собеседника есть Telegram Premium с активным «Business Mode», то за кулисами может стоять хитрый бот, который:
Логирует вообще всё (включая удалённые сообщения).
Автоматически отвечает от имени собеседника через ИИ.
Отсюда и ироничная фраза: «Бойтесь юзеров, имеющих Telegram Premium». Да-да, теперь удалённое сообщение может не только успеть сохраниться у владельца, но ещё и продолжить «жить» в чатах, благодаря автогенерации ответов.
Как вообще так случилось?
Telegram Business: краткий ликбез
Telegram давно планировал расширить свои функции для бизнеса. В итоге появилась возможность, что Premium-пользователи могут включить «Business Mode» и получить доступ к:
Привязке ботов к личным чатам (даже там, где вы переписываетесь с друзьями).
Бизнес-событиям
business_message
,edited_business_message
,deleted_business_messages
— позволяющим боту видеть переписку на более глубоком уровне.Автоматическим ответам от вашего лица, если бот на это настроен.
Жутковато? Для параноиков — да. Но с точки зрения бизнеса это круто, бот может фиксировать, анализировать сообщения (даже удалённые) и оперативно отвечать клиентам.
Зачем бизнесу такие штуки?
Экономия времени: бот закрывает рутинные задачи, автодобавляет вежливые приветствия или уточнения, пока менеджеры спят.
Контроль и аналитика: всё логируется, можно изучать часто задаваемые вопросы, корректировать маркетинг-стратегии и общение.
Надёжное сохранение: если клиент удалил сообщение с контактами или важными деталями, а потом говорит: «Я ничего не писал», — бот уже успел зафиксировать это в базе.
Да, нужно учитывать юридические и моральные аспекты — но технически это работает именно так.
Наш весёлый бот функции и приколы
Чтобы показать, что это не просто слухи, рассмотрим пример бота. Он умеет два главных трюка:
-
Логировать изменения в переписках (включая удалённые). Если пользователь написал «Я завтра оплачу счёт», а потом стёр — бот отправит владельцу уведомление: «Сообщение удалено. Текст: “Я завтра оплачу счёт”».
-
Автоответ через OpenAI. Если за определённое время (допустим, 15 секунд) хозяин не ответил, бот генерирует ответ сам. В итоге можно увидеть курьёзные диалоги, когда ИИ подшучивает над собеседником.
Как выглядит ответ бота у собеседника
Почему это «страшно»?
Приватность «под вопросом». Мы привыкли, что если удалили — значит, всё. Но теперь кто-то может всё равно это сохранить.
Неловкие ситуации. Представьте, вы написали негативное сообщение, потом удалили. А собеседник (бизнес-аккаунт) уже успел всё сохранить и ещё прислал вам ИИ-ответ: «Ой, а почему молчите? Расскажите больше!»
Двойной контроль. Помимо банальных скриншотов, у друга может работать целая автоматизированная лог-система, где всё записывается.
Зачем всё это вашему бизнесу?
Поддержка 24/7 - если в нерабочее время клиент пишет что-то в личку, бот может вежливо (или саркастично) ответить, не теряя «лиды».
Улучшение качества - есть возможность пересматривать логи, понимать, что чаще всего спрашивают, и корректировать скрипты ответов.
Автоматизация CRM - все сообщения (даже удалённые) можно прикрутить к аналитике, чтобы ничего не терялось.
Если грамотно настроить промты и указания для ИИ, бот станет полноценным онлайн-ассистентом, облегчающим жизнь владельцу.
Архитектура решения
Под капотом всё достаточно просто:
Расширенные бизнес-события - бот получает не только
message
иedited_message
, но иdeleted_business_messages
, если аккаунт владельца — бизнес-аккаунт.База для логов - при новом сообщении бот запоминает
(chat_id, message_id)
и текст/тип сообщения.Автоответ - если пишет не владелец и за N секунд нет «живого» ответа, бот формирует реплику через ChatGPT (или похожую модель).
Когда Telegram шлёт апдейт об удалении (deleted_business_messages
), бот сопоставляет message_id
с логом и отсылает владельцу: «Вот что было удалено». Аналогично при редактировании.
Почему стоит быть осторожнее?
Юридические аспекты - в некоторых странах нужно предупреждать собеседника, что переписка ведётся с участием ИИ и логируется.
Этика - не все знают, что вы сохраняете удалённое. С точки зрения личной морали — это довольно сомнительно.
Но при этом бизнес-выгоды очевидны, от снижения нагрузки на менеджеров до более полной статистики контактов.
Иллюстративные кейсы
1. Автоматическая поддержка клиентов
Ситуация - клиент спрашивает в час ночи: «Когда доставят мой заказ?». Менеджеры спят.
Что делает бот - ждёт 15 секунд, видит, что владелец не ответил — генерирует ответ: «Доброй ночи! Ваш заказ прибудет завтра к 18:00. Хорошего дня!». Клиент рад, всё чётко.
Удалённые сообщения - если клиент, например, написал грубость и удалил, владелец утром всё равно увидит.
2. Логирование важных деталей
Ситуация - клиент случайно отправил номер карты или нужный адрес, а потом удалил.
Что делает бот - «Я всё видел и уже сохранил». С точки зрения бизнеса удобно (ничего не потерялось), но для клиента — сюрприз.
Мнение параноика
Если вы — пользователь, который НЕ хочет, чтобы за вами шпионили:
Никогда не пишите то, что не готовы показать на публике.
Учитывайте, что удаление не равно «исчезновению».
Если видите у собеседника синий премиум-бейдж, помните - у него может быть этот зловещий «Business Mode».
Мнение предпринимателя
Если вы — предприниматель:
С помощью такого бота вы серьёзно прокачаете клиентский сервис.
Главное — не переходить рамки приличия, соблюдать локальные законы о приватности и чётко знать, зачем вам использовать такого помощника.
Используйте силу ИИ на благо, например, фильтруйте спам, автоматизируйте FAQ и бережно относитесь к полученным данным.
Как всё устроено технически?
Ниже будет — единый пример скрипта (на Python), который демонстрирует:
Подключение к Bot API через
PyTelegramBotAPI
.Использование
openai
для генерации ответов.Обработку расширенных «бизнес-событий»:
business_message
,edited_business_message
,deleted_business_messages
.Логику таймеров для автодополнения ответов, если владелец не успел.
Все токены и ID, разумеется, надо подставить свои. Код выглядит объёмно, но зато иллюстрирует суть целиком.
Заключение: стоит ли паниковать?
Если вы дорожите приватностью и боитесь компромата, будьте осторожнее. Мир уже не тот, где «Удалить для всех» значит «Удалить вообще для всех».
Если вы бизнес - этот инструмент спасёт вам время и нервы, но только при условии, что вы осознаёте риски того, что бот может ответить некорректно.
Если вы разработчик, теперь вы знаете, как «прокачать» своего бота. Добавляйте хоть мультиязычность, хоть интеграцию с CRM, хоть дополнительную аналитику.
В конечном счёте, главное — не отправляйте в чат того, что не готовы увидеть на всеобщем обозрении. А пока мир живёт иллюзией «я удалил сообщение, его никто не увидит», технологии уже делают параллельную копию для бота. Прогресс, что тут скажешь!
Важный блок про безопасность
Никогда не используйте чужие боты (особенно бесплатные) без публичного исходного кода. Подумайте сами, если бот не принадлежит вам, а разработчик хранит его код за семью печатями, то у вас нет гарантии, что он не будет тайно логировать всю переписку и пересылать её куда-нибудь ещё.
Почему это опасно?
Полное незнание процессов внутри - исходный код закрыт, вы не видите, какие данные бот собирает и как ими распоряжается.
Бесплатная модель - когда вы не платите за такого бота, вы как бы подтверждаете готовность передавать ему информацию, но при этом не имеете контроля над тем, куда эти данные могут утечь.
Отсутствие прозрачности - никто не проверяет бота «изнутри», а значит, вполне могут быть скрытые «шпионские» модули, которые сохраняют, анализируют, сливают переписку сторонним лицам.
Как уберечь себя?
Доверять только себе, если нужен бот — создавайте собственного (или используйте проверенные проекты с открытым исходным кодом).
Проверять репутацию, если очень нужно воспользоваться сторонним решением, поищите отзывы, спросите в комьюнити и удостоверьтесь, что разработчик не балуется сомнительными методами.
Минимизировать критичные данные, чем меньше приватной информации вы отправляете в незнакомый бот, тем лучше.
Всегда помните, что за красивым интерфейсом или заманчивой бесплатной подпиской может стоять любой код, в том числе вредоносный. Лучше перестраховаться, чем потом удивляться, где всплыли ваши «удалённые» сообщения.
«Мораль сей басни»:
Телеграм-боты — мощный инструмент и для бизнеса, и для шпионских экспериментов.
Пользователи часто не осознают, что их слова могут «сохраниться» в чужом логе и потом всплыть.
Чёрный юмор в том, что, удаляя сообщение, вы делаете только вид, будто ничего не было — но бот-то не спит!
Белый юмор — что бизнес реально может прокачать сервис до крутого «24/7 ассистента» с ИИ-ответами, повышая конверсию и удовлетворённость клиентов.
В общем, используйте с умом. Надеюсь, эта статья помогла разобраться в механизмах Telegram Business, породила здоровую паранойю и дала идеи, как сделать свой собственный ~«подглядывающий»~ полезный бот.
Всем безопасных переписок!
Полный код примера
Ниже финальный скрипт, объединяющий все описанные техники. Подставьте свои значения в константы, установите библиотеки (pip install pyTelegramBotAPI openai
) и вперёд — тестировать.
import telebot
import openai
import json
import threading
import time
from collections import defaultdict, deque
# 1. Ваши токены и ID
TELEGRAM_TOKEN = "ВАШ_TELEGRAM_BOT_TOKEN"
OPENAI_API_KEY = "ВАШ_OPENAI_API_KEY"
OWNER_ID = 123456789 # ID владельца бота (ваш телеграм-ID, куда слать уведомления)
# 2. Глобальные настройки
auto_reply_enabled = True # Флаг включён ли автодополненный ответ вообще
AUTO_REPLY_DELAY = 15 # Задержка (в секундах), через которую бот отвечает, если владелец молчит
bot = telebot.TeleBot(TELEGRAM_TOKEN, parse_mode="HTML")
openai.api_key = OPENAI_API_KEY
# 3. Хранилища история для GPT, логи сообщений
chat_histories = defaultdict(lambda: deque(maxlen=25))
messages_log = {}
auto_reply_timers = {}
last_client_message = {}
def get_chat_title(chat: telebot.types.Chat) -> str:
"""
Возвращает удобочитаемое название чата (имя, фамилия или username, если это приват).
"""
if chat.type == "private":
full_name = ""
if chat.first_name:
full_name += chat.first_name
if chat.last_name:
full_name += f" {chat.last_name}"
if not full_name and chat.username:
full_name = f"@{chat.username}"
return full_name.strip() if full_name else str(chat.id)
else:
return chat.title if chat.title else str(chat.id)
def build_gpt_messages(chat_id: int) -> list:
"""
Подготавливаем историю переписки (25 последних сообщений) + системный промт
для передачи в OpenAI ChatCompletion.
"""
messages_for_gpt = [
{
"role": "system",
"content": (
"Ты — дружелюбный чат-бот с легкой иронией. Отвечай кратко, по делу и с юмором. "
"Учитывай предыдущие сообщения, имитируя стиль живого собеседника. "
"Используй неформальный тон, добавляй эмодзи, где уместно."
)
}
]
for role, content in chat_histories[chat_id]:
messages_for_gpt.append({"role": role, "content": content})
return messages_for_gpt
def save_chat_histories_to_json(file_path="chat_histories.json"):
"""
Пример сохранения историй в JSON, если вдруг нужно.
"""
data_to_save = {}
for c_id, history_deque in chat_histories.items():
data_to_save[str(c_id)] = list(history_deque)
with open(file_path, "w", encoding="utf-8") as f:
json.dump(data_to_save, f, ensure_ascii=False, indent=2)
def generate_bot_answer(chat_id: int, user_text: str) -> str:
"""
Генерация ответа через OpenAI ChatCompletion.
"""
chat_histories[chat_id].append(("user", user_text))
gpt_messages = build_gpt_messages(chat_id)
try:
response = openai.ChatCompletion.create(
model="gpt-4", # Или используйте другую модель (gpt-3.5-turbo и т.п.)
messages=gpt_messages,
max_tokens=300,
temperature=0.7
)
gpt_answer = response.choices[0].message.content.strip()
except Exception as e:
print(f"[OpenAI Error] {e}")
gpt_answer = "Извините, но ИИ сейчас молчит..."
chat_histories[chat_id].append(("assistant", gpt_answer))
save_chat_histories_to_json("chat_histories.json")
return gpt_answer
def auto_reply(chat_id: int, bc_id: str):
"""
Функция, срабатывающая через AUTO_REPLY_DELAY секунд, если владелец не ответил.
Формирует ответ с помощью ИИ и отправляет в чат.
"""
auto_reply_timers.pop(chat_id, None)
info = last_client_message.get(chat_id)
if not info:
return # Нет данных, нечего отвечать
message, msg_time = info
now = time.time()
if now - msg_time < (AUTO_REPLY_DELAY - 0.5):
# Вдруг таймер сработал раньше?
return
if not auto_reply_enabled:
print("[AutoReply] Глобально автоответ отключён, ничего не отправляем.")
return
if message.content_type == "text":
user_text = message.text
gpt_answer = generate_bot_answer(chat_id, user_text)
bot.send_message(chat_id=chat_id, text=gpt_answer, business_connection_id=bc_id)
print(f"[AutoReply] Бот сам ответил в чат {chat_id}")
# --- Хендлеры для «Business Mode» ---
@bot.business_message_handler(content_types=[
'text', 'photo', 'video', 'voice', 'document',
'animation', 'audio', 'sticker', 'location', 'contact'
])
def handle_business_message(message: telebot.types.Message):
"""
Обрабатывает новые бизнес-сообщения логирует их и при необходимости запускает таймер для автоответа.
"""
chat_id = message.chat.id
bc_id = message.business_connection_id
from_user_id = message.from_user.id
# Логируем сообщение
log_data = {}
ctype = message.content_type
log_data["type"] = ctype
if ctype == 'text':
log_data["content"] = message.text
elif ctype == 'photo':
photo_obj = message.photo[-1]
log_data["content"] = photo_obj.file_id
if message.caption:
log_data["caption"] = message.caption
elif ctype == 'video':
log_data["content"] = message.video.file_id
if message.caption:
log_data["caption"] = message.caption
elif ctype == 'document':
log_data["content"] = message.document.file_id
if message.caption:
log_data["caption"] = message.caption
elif ctype == 'voice':
log_data["content"] = message.voice.file_id
elif ctype == 'audio':
log_data["content"] = message.audio.file_id
elif ctype == 'animation':
log_data["content"] = message.animation.file_id
if message.caption:
log_data["caption"] = message.caption
elif ctype == 'sticker':
log_data["content"] = message.sticker.file_id
elif ctype == 'location':
lat = message.location.latitude
lon = message.location.longitude
log_data["content"] = f"[location] lat={lat}, lon={lon}"
elif ctype == 'contact':
phone = message.contact.phone_number
first_name = message.contact.first_name
last_name = message.contact.last_name or ''
log_data["content"] = f"[contact] {first_name} {last_name}, tel={phone}"
else:
log_data["content"] = f"[{ctype}]"
# Сохраняем в общий лог
messages_log[(chat_id, message.message_id)] = log_data
# Если пишет владелец — отменяем автоответ, он уже «в деле»
if from_user_id == OWNER_ID:
if chat_id in auto_reply_timers:
t = auto_reply_timers.pop(chat_id)
t.cancel()
print(f"[Cancel Timer] Владелец ответил сам, отменяем таймер в чате {chat_id}.")
return
# Если автоответ глобально выключен — выходим
if not auto_reply_enabled:
print("[BusinessMessage] Автоответ выключен, выходим.")
return
# Если пришёл текст от клиента, запускаем таймер
if ctype == 'text':
last_client_message[chat_id] = (message, time.time())
# Сбрасываем предыдущий таймер, если был
if chat_id in auto_reply_timers:
old_t = auto_reply_timers.pop(chat_id)
old_t.cancel()
new_t = threading.Timer(AUTO_REPLY_DELAY, auto_reply, args=(chat_id, bc_id))
auto_reply_timers[chat_id] = new_t
new_t.start()
else:
# Если не текст, можно тоже ответить, но по умолчанию молчим
pass
@bot.edited_business_message_handler(content_types=[
'text','photo','video','voice','document','animation','audio','sticker','location','contact'
])
def handle_edited_business_message(message: telebot.types.Message):
"""
Обрабатываем отредактированные сообщения узнаём, что было до, что стало, сообщаем владельцу.
"""
old_data = messages_log.get((message.chat.id, message.message_id), {})
old_desc = f"{old_data.get('type', '?')}: {old_data.get('content', '?')}"
new_data = {}
ctype = message.content_type
new_data["type"] = ctype
if ctype == 'text':
new_data["content"] = message.text
else:
new_data["content"] = f"[edited {ctype}]"
messages_log[(message.chat.id, message.message_id)] = new_data
chat_name = get_chat_title(message.chat)
notify_text = (
f"Сообщение отредактировано.\n"
f"Старое: {old_desc}\n"
f"Новое: {new_data['content']}\n"
f"Чат: {chat_name}"
)
bot.send_message(OWNER_ID, notify_text)
@bot.deleted_business_messages_handler()
def handle_deleted_business_messages(deleted: telebot.types.BusinessMessagesDeleted):
"""
Когда сообщение удаляют, сюда прилетает список message_ids. Мы ищем их в логах и отправляем владельцу.
"""
chat_id = deleted.chat.id
chat_name = get_chat_title(deleted.chat)
for msg_id in deleted.message_ids:
data = messages_log.pop((chat_id, msg_id), None)
if not data:
text_for_owner = (
f"Сообщение удалено, но бот не успел залогировать.\n"
f"Чат: {chat_name}, msg_id={msg_id}"
)
bot.send_message(OWNER_ID, text_for_owner)
continue
ctype = data.get("type", "unknown")
content = data.get("content", "")
caption = data.get("caption", "")
text_for_owner = (
f"Сообщение удалено.\n"
f"Тип: {ctype}\n"
f"Чат: {chat_name}\n"
)
# В зависимости от типа — отправляем текст или медиа владельцу
if ctype == "text":
text_for_owner += f"Текст: {content}"
bot.send_message(OWNER_ID, text_for_owner)
elif ctype == "photo":
bot.send_message(OWNER_ID, text_for_owner)
bot.send_photo(OWNER_ID, content, caption=f"[deleted photo] {caption}")
elif ctype == "video":
bot.send_message(OWNER_ID, text_for_owner)
bot.send_video(OWNER_ID, content, caption=f"[deleted video] {caption}")
elif ctype == "document":
bot.send_message(OWNER_ID, text_for_owner)
bot.send_document(OWNER_ID, content, caption=f"[deleted doc] {caption}")
elif ctype == "voice":
bot.send_message(OWNER_ID, text_for_owner)
bot.send_voice(OWNER_ID, content)
elif ctype == "audio":
bot.send_message(OWNER_ID, text_for_owner)
bot.send_audio(OWNER_ID, content)
elif ctype == "animation":
bot.send_message(OWNER_ID, text_for_owner)
bot.send_animation(OWNER_ID, content, caption=f"[deleted animation] {caption}")
elif ctype == "sticker":
bot.send_message(OWNER_ID, text_for_owner)
bot.send_sticker(OWNER_ID, content)
elif ctype == "location":
text_for_owner += f"Данные: {content}"
bot.send_message(OWNER_ID, text_for_owner)
elif ctype == "contact":
text_for_owner += f"Данные: {content}"
bot.send_message(OWNER_ID, text_for_owner)
else:
# На всякий случай, если вдруг встретится тип, не учтённый выше
text_for_owner += f"Данные: {content}"
bot.send_message(OWNER_ID, text_for_owner)
# --- Обычные команды, не бизнес ---
@bot.message_handler(commands=['enable_auto'])
def enable_auto_handler(message: telebot.types.Message):
global auto_reply_enabled
auto_reply_enabled = True
bot.reply_to(message, "Автоответ теперь ВКЛЮЧЕН для всех чатов.")
@bot.message_handler(commands=['disable_auto'])
def disable_auto_handler(message: telebot.types.Message):
global auto_reply_enabled
auto_reply_enabled = False
bot.reply_to(message, "Автоответ теперь ВЫКЛЮЧЕН для всех чатов.")
@bot.message_handler(commands=['start', 'help'])
def handle_start_help(message: telebot.types.Message):
bot.send_message(
message.chat.id,
"Это бизнес-бот с возможностью логировать удалённые сообщения и отвечать через ИИ.\n\n"
"Доступные команды:\n"
"/enable_auto – включить автоответ во всех чатах\n"
"/disable_auto – выключить автоответ во всех чатах"
)
if __name__ == "__main__":
print("Бот запущен и ждёт сообщений...")
bot.polling(none_stop=True, interval=0)
Комментарии (69)
TheCrashDown
04.01.2025 15:47Если в такую паранойю углубляться, то уже давно есть библиотеки для автоматизации действий пользователя (например, telethon - https://github.com/LonamiWebs/Telethon)
С их помощью можно заскриптовать действия своего аккаунта (личного, не бота), и точно так же логировать любые сообщения в любых переписках, отвечать на них, пересылать, прикручивать ИИ и тд. И никакие Premium и Business для этого не нужны.
Так что, никогда не стоит доверять функции удаления сообщения/записи на любых платформах - все, что один раз попало в интернет, остается в нем навсегда
Metotron0
04.01.2025 15:47Не так давно искал исходник сервера PBEM-игры Judgement Day, который однажды из интернета попал ко мне, но я его удалил. Не нашёл не только исходника, но даже описания правил на русском. Правила у меня, как оказалось, сохранились, а намёка на код нигде не было. Не так давно разбирал бэкапы и отыскал архив за 2011 год, в котором этот сервер лежит. Я не знаю, какими поисковиками нужно искать в интернете, чтобы найти это всё. Я бы сам куда-то выложил, но куда?
Скрытый текст
Maccimo
04.01.2025 15:47Не оно ли? Копирайт совпадает.
https://web.archive.org/web/19990827234411/http://www.pbm.com/ftp/judgment_day/judgement.c.gz
Искал Google + Google Groups.
kma21
04.01.2025 15:47по части вашего комментария к фразе "все, что один раз попало в интернет, остается в нем навсегда".
я немного дополню эту фразу, чтобы было понятнее.
при рассуждениях о безопасности в интернете следует исходить из парадигмы, что все, что один раз попало в интернет, остается в нем навсегда
в тоже время, это не является гарантом того, что вы через какое-то время найдете что-то в интернете.
заглушки с ошибкой 451 на хабре не дадут соврать.в вопросе, куда выложить есть единственно верный ответ - торрент трекеры. для пущей важности стоит выложить на несколько трекеров.
aamonster
04.01.2025 15:47На трекеры имеет смысл выкладывать только то, что будут качать и хранить. Можно, например, в виде подборки подобного.
askv
04.01.2025 15:47все, что один раз попало в интернет, остается в нем навсегда
Лучше это сразу обобщить до «всё, что я ввёл в электронное устройство, рано или поздно станет публичным». В принципе, уже 2000 лет назад было ещё более строгое обобщение: «Нет ничего сокровенного, что не открылось бы, и тайного, чего не узнали бы. Поэтому, что вы сказали в темноте, то услышится во свете; и что говорили на ухо внутри дома, то будет провозглашено на кровлях.»
selivanov_pavel
04.01.2025 15:47В принципе, удаление сообщений и так лежит на совести клиента получателя. Если используется пропатченный или альтернативный клиент, это можно обойти.
Kanut
04.01.2025 15:47В принципе скриншоты или там запись экрана никто не отменял. То есть никакое стирание сообщений в Телеграмме(а по хорошему вообще где угодно) никогда не давало гарантии что это сообщение навсегда исчезло.
min8
04.01.2025 15:47Зачем скриншоты, когда есть клиенты, которые все сохраняют? Тем больше смысл в том, что для скрина нужно открыть чат и успеть прочмотреть и заскринить, а зачем это делать, если вы не ожидаете подвоха?
Kanut
04.01.2025 15:47Зачем вам клиенты, которые всё сохраняют если вы не ожидаете подвоха? :)
А вообще речь о том что в большинстве случаев "стереть сообщение" это просто для удобства общения. И нет особой проблемы если оно на самом деле где-то не стёрлось.
А если проблема реально может быть то всё равно нельзя полагаться на то, что оно реально будет стёрто и от него не останется никаких следов.
PoksPoks
04.01.2025 15:47Интернет вообще помнит всё)
Kanut
04.01.2025 15:47К сожалению нет. Интернет может "запомнить" всё что угодно. Но и тут гарантии нет и кучу вещей даже в архивах уже не найти.
omgiafs
04.01.2025 15:47Найди приватные фотографии из аккаунтов знаменитостей в iCloud, которые утекли в сеть пять или оклло того лет назад. Как сейчас помню, там актриса, исполняющая роль Пенни в ТБВ, играла на мясной флейте. Но интернет "забыл" эти фото. И архив с этими фото. И его копии. Вот так. Так что Интернет очень даже может и уже давно цензурируется.
exTvr
04.01.2025 15:47TL:DR:
Сначала думай, потом пиши.
Говно не пиши - удалять не приде́тся.
Хорошее пиши - удалять не приде́тся.
Вывод:
Хорошее пиши, плохое не пиши.
С уважением, Пух.
xSVPx
04.01.2025 15:47Можно еще добавить:
Не пиши одним одно, а другим другое - не спалишься перепутав адресатов. Итд итп.
ЗЫ. Сообщения разве в пуше не приходят? Толку их тогда удалять...
RTFM13
04.01.2025 15:47Тут может быть бесконечное количество дополнений вроде "не веди интимную переписку с подругами если в контактах есть начальник на работе".
Вообще именно возможность удаления сообщений делает телегу и прочие непригодными для деловой переписки.
xSVPx
04.01.2025 15:47В чем проблема с начальником то ? Ну т.е. если он нормальный, то чтобы ты ему случайно не прислал - это не проблема, а если не нормальный, то это проблема сама по себе.
Деловая переписка в мессенджерах - такое себе. Но в целом не вижу проблемы. Если вы хотите зафиксировать что-то существенное, то договор должен быть на бумаге или подписан электронно. Какие-то мелочи могут быть устно или в мессенджерах утрясены.
Если потом контрагент задним числом что-то удалит и будет к этому апеллировать, то договор с ним просто будет расторгнут. Ну т.е. нет смысла с такими дела иметь какие-то. Это наоборот отлично, что он себя таким образом "вскроет".
RTFM13
04.01.2025 15:47В чем проблема с начальником то ?
А вдруг согласится на предложение интимного характера?
договор должен быть на бумаге или подписан электронно.
Где-то так и есть, но вообще это как правило перебор. Электронной почты для 99% случаев достаточно. Тем более что она даже юридически далеко не пустое место.
А удаление сообщений просто дезорганизует когда пытаешься найти какую-то несущественную мелочь, а её зачем-то потерли. Особенно если за давностью ты уже сам не уверен, что оно именно так было.
xSVPx
04.01.2025 15:47Ну попадаются 1 на 100 уникумы. Некоторые вон присылают голосовые сообщения. Так с ними потом просто не работаешь в следующий раз и всё. Крупного вреда от этого нету, а если человек тупой или сознательно тебе неудобства создает, то лучше от него бежать.
Kovurr
04.01.2025 15:47В городских группах и барахолках все мошенники и спамеры со звездочками, т.к так их реже телеграм банит. Уже стойкая ассоциация, что если юзер со звездочкой, то это подозрительный товарищ.
MaFrance351
04.01.2025 15:47Уверен, у любого владельца публичного чатика девушки модельной внешности с премиумом уже вызывают рефлекс нажатия кнопки "Заблокировать пользователя". Потому что этот премиум, считай, IDDQD для аккаунта, продлевает его жизнь сильно дольше.
Aquahawk
04.01.2025 15:47Я то думал, не уж то премиум не жалко на спам, а вон оно как.
MaFrance351
04.01.2025 15:47Если хоть раз попадались на спам (обычно это бывает, если кто-то обиделся и вас забанил, жмякнув галочку "Пожаловаться"), то даже официальный спам-бот говорит, что ограничения снимут быстрее, если у вас есть премиум.
Temakan
04.01.2025 15:47Когда-то писали, что ИИ очень любят нумерованные и маркированные списки. Боюсь считать, сколько тут в статье пунктов, хотя мысль всё равно так и осталась одна: кто-то может увидеть ваше удалённое сообщение. Вас при публикации не смутило, что вместо одного предложения у Вас тонны текста? Или в наш век кто-то до сих пор платит за количество слов в статье? Стоило бы хоть пробежать текст разок до публикации и понять, что здесь совсем уж много воды. Если, конечно, не весь процесс целиком был выполнен ИИ.
DennisP
04.01.2025 15:47странные списки стали маркером поискового спама задолго до широкого распространения ИИ, почему-то считалось, что их любит Гугл.
edogs
04.01.2025 15:47Мы привыкли, что если удалили — значит, всё
Возникает вопрос кто это "мы" и где эти "мы" были последние... ну лет 20, не меньше.
Потому что последние лет 20 все уже давно привыкли, что всё что отправлено в интернет - может быть доступно кому угодно.
Правда последнее время из этого есть исключения - когда было отправлено что-то нужное и это надо найти, вот тут сложности бывают. Но это другое.SkywardFire
04.01.2025 15:47Плюсую.
Да и вообще, подобные
Мы привыкли, что если удалили — значит, всё
Всегда у меня вызывали вопросы -- кто это "мы" и почему аффтар опять говорит за всех.
WhiteApfel
04.01.2025 15:47Бедный человек, не знал, что сетевые запросы приложения можно перехватывать и вообще взаимодействовать с сервером любого сервиса не только через официальное приложение, но и "руками". Telethon, который позволяет управлять личным тг аккаунтом, существует уже девять лет. Примерно с тех же времён на гитхабе лежат уже готовые проекты, чтобы пересылать всё в канал.
И особенно, что у телеги открытое API.
DennisP
04.01.2025 15:47ну вот именно, что у телеги открытое API, попробуйте перехватить HTTPS траффик взаимодействия со своим API какого-нить случайного приложения.
WhiteApfel
04.01.2025 15:47Тинькофф банк подойдёт?
DennisP
04.01.2025 15:47да, интересно было бы почитать про это
WhiteApfel
04.01.2025 15:47https://github.com/WhiteApfel/neolegoff_bank
DennisP
04.01.2025 15:47Вы уверены, что этот проект - это результат реверса или перехвата API тинька? У банка вполне есть официальное API, которое интегрируется во всякие 1C и тому подобное
WhiteApfel
04.01.2025 15:47Да, уверен) Потому что сам это делал. Это API физлиц и никаких 1С с ним нет, можете погуглить эндпоинты, на них не ссылается ни одна дока тиньки, ни один openapi.json
WhiteApfel
04.01.2025 15:47Более того, делал аналогичные штуки непублично с мтс банком, озон банком, монобанком, рокетбанком, авито, тиндером, вкусно и точка, яндекс лавкой и приложением самоката для сотрудников. Ревёрсинг — не такая уж и сложная вещь, даже несмотря на все попытки компаний защитить API от анализа и вмешательств
DennisP
04.01.2025 15:47Ну в принципе да, если апи доступно из браузера, а не только из приложения, то ничто не мешает его отреверсить или даже использовать headless chrome чтобы на ходу вылавливать изменения эндпоинтов и тп
WhiteApfel
04.01.2025 15:47Браузерное api не интересно, оно почти всегда сильно ограничено, я ревёршу приложения
vikarti
04.01.2025 15:47И как же это интересно у ДзенМани работает интеграция с кучей банков ( в том числе тех у кого публичного API - нет, и предприняты меры по защите от перехвата трафика))
daledale
04.01.2025 15:47а) Рекламная статья
б) Никакого премиума не нужно, чтобы видеть удалённые сообщения. Можно установить просто правильный клиент тг. Всё.
grucshetsky_aleksei
04.01.2025 15:47Никакой правильный клиент тг не нужен
Без всякого премиума можно каким-нибудь telethon или pyrogram настроить все то же самое.
Андроид (по крайней мере, на пикселях) и так сохраняет все уведомления
Статью писал вроде грамотный человек, но почему-то к нему в голову не пришло, что никакой премиум для логгирования и не нужен. Статье однозначно минус
NeyroEntuziast
04.01.2025 15:47Представьте, что вы отправили коллеге или другу длинное сообщение (которое потом сами бы стёрли из памяти), а затем резко удалили. В обычном мире оно исчезает без следа, и можно сделать вид, что ничего не было. Но! Если у собеседника есть Telegram Premium с активным «Business Mode», то за кулисами может стоять хитрый бот, который:
Люди привыкли к анонимности в интернете, а в телеге - что можно на пьяную голову написать гадости, а потом удалить все без следа - и быть белым и пушистым. Но всегда надо стараться думать перед тем, как что-то писать, тогда и боты не будут страшны )
dimars08
04.01.2025 15:47...подобного бота можно поставить и на обычный акк без премиума + есть давно клиенты которые сохраяют переписки и редачки сообщений. Наверно еще в 2020 сделали такие. Вопрос в студию: в чем тут открытие я не понимаю?
ivantgam
04.01.2025 15:47Есть и модифицированные мобильные клиенты телеги, которые логируют удаленные сообщения без премиумов и дополнительных ботов
AcckiyGerman
04.01.2025 15:47В обычном мире сообщение исчезает без следа
У меня для вас плохие новости...
AidenDev
04.01.2025 15:47Интересно получается, не успела пройти неделя после выхода моей статьи о том, как написать логгер через бизнес-режим, появляется такой же пост, но с добавлением ChatGPT
SkiperX
04.01.2025 15:47В андроиде есть журнал уведомлений, где фиксируется то же самое. Там видно историю редактирования и удалённые сообщения. Для любых юзеров и без према
Rukh
04.01.2025 15:47Не знаю как вы, но я редактирую (или удаляю с переотправкой) сообщения только если допустил опечатку / придумал лучшую формулировку. Почти всегда это для того что бы лучше донести мысль до собеседника или исправить грамматику.
Не понимаю как можно использовать эти знания. На любую отсылку к удаленным / измененным сообщениям я просто скажу: «я не это хотел написать», и это будет чистая правда)
KivApple
04.01.2025 15:47Мне всегда казалось, что удаление сообщения это просто мессадж получателю "я не хочу обсуждать эту тему". Гарантий, что он не увидел нет никаких. Но шанс ответа объективно понижается.
Во-первых, сообщение вылазит в шторке уведомлений и можно прочитать не заходя в телегу. Во-вторых, даже официальный клиент иногда глючит и оставляет последнее сообщение в списке диалогов, даже если его удалили (при заходе в диалог сообщения там не будет).
В-третьих, даже без особых технических навыков, есть простые решения для логгирования сообщений. Например, бесплатные приложения на Android логгирующие все уведомления. Или неофициальные клиенты Telegram с функцией сохранения всего.
В-четвертых, в групповых чатах все действия включая удаления и изменения доступны для просмотра админам в течении 48 часов. Никакого уведомления об этом нет, авторами телеги предполагается, что юзер не удивится.
В-пятых, как верно заметили, для технически продвинутых и мотивированных есть Telethon, с помощью которого можно реализовать всё это без премиума и внешних признаков. И логгирование, и ИИ ответы.
Насчёт законодательства не уверен, что можно распространять правила записи телефонных разговоров на правила записи переписок, которые так и так по умолчанию записываются. Много раз слышал уведомление о записи звонка, но ни разу о записи переписки. А вот маркировка ИИ контента в некоторых странах обязательна, да.
Насчёт этичности удаления можно выкрутить наоборот "а какое право ты имеешь право удалять данные с моего устройства?". Аналогия: если подарить человеку подарок, а потом передумать и незаметно вытащить из кармана одаренного, это скорее всего встретит непонимание. Понятное дело это лишь мысленный эксперимент, я не защищаю какую-то одну позицию и просто считаю, что можно и удалять, и сохранять, это личный выбор каждого.
askv
04.01.2025 15:47Дарение можно отменить в определённых случаях, если по закону. А по поводу удаления данных с чужих устройств: «мы вам случайно выслали файл, вышлите его нам, пожалуйста, обратно»...
Noizefan
это всё конечно страшно, но не очень.
под каждым сообщением с tg business bot есть вполне различимая надпись "Бот Автоответчик". Наведёт подозрения даже на самого легкомысленного.
Представляю штуку ещё страшнее:
Требует входа через серверный неофициальный клиент, и даёт возможность делать такое:
Разные варианты ответа, вариант - последовательность сообщений, из которой по клику можно отправить любой кусочек, а не одно большое целиком
ChatGPT плохо справляется с мимикрией под стиль общения (провёл исследование, позволяющее так заявлять), а 25 сообщений - не лучшее количество для качественного контекста
без глубокого анализа переписки, например такого:
автоответчик может лишь подстраховать, но быстро вызовет подозрения и обрушит репутацию у отдельно взятого человека. У себя я это планирую лишь как фичу, а не как основной функционал.
Рассказать об этом обо всём полноценной статьёй, что ли...
rsmag
Расскажите.
Мне тут особенно интересно про анализ переписки. Хочется лучше понимать людей, с которыми общаюсь :) А в групповом чате такое сработает?
Moog_Prodigy
В теории должно. На каждого уникального пользователя заводится свой "инстанс" для ИИ (контекстное окно), и с каждым работать индивидуально.
Noizefan
Подход интересный. Имеет место быть в полилогах, в которых все друг к другу обращаются и не обсуждают некий один объект все вместе. Потому пока не торопимся - нужен тщательный анализ
Noizefan
Сработает без каких-либо проблем, однако, полноценную обработку групповых чатов добавим несколько позже. Сейчас и варианты ответа и анализ там неполноценны - не видят, что в чате есть несколько людей, хотя несколько "полевых экспериментов" там у меня сработали без каких-либо подозрений =)) т.е. работает не сказать что плохо уже сейчас, но можно (и будет) лучше.
Уже готовлю материал!