Мне нельзя в Бельдяжки...
..., которая сможет отомстить только так)))
Есть возможности договориться у этого надутого аккаунта https://pikabu.ru/@KATIKET.366? Решалы, вы где, спите шоле?
..., которая сможет отомстить только так)))
Есть возможности договориться у этого надутого аккаунта https://pikabu.ru/@KATIKET.366? Решалы, вы где, спите шоле?
Примеры кода — на C#/.NET, потому что так написан наш прод. Но вся статья — про механику Telegram, а не про язык: то же самое собирается на Node, Python или Go без изменений. Именно ради переносимой механики статья и написана.
О чём статья? Это вторая часть серии о том, как мы вайб-кодингом построили GoosleeBot — мост из Telegram в Google Meet, Zoom и другие сервисы видеовстреч. Здесь — самая недокументированная часть разработки под Telegram: механизм сессий, который связывает чат, miniapp и внешний браузер в одно приложение. Вот что внутри:
как передать параметры из инлайн-бота в miniapp, если кнопка в чате одна на всех участников;
как аутентифицировать пользователя miniapp за один запрос — с готовым скелетом валидации initData;
как сохранить состояние там, где переменные Telegram не работают вовсе — во внешнем браузере;
как доставлять изменения из чата в miniapp мгновенно (спойлер: WebSocket в telegram-webview работает);
как редактировать сообщения в чате асинхронной очередью и не словить бан от Bot API;
и другие.
А это вся серия:
Часть 1 — история продукта и честный вердикт Telegram как платформе: правила для памяти агента, функция «где я?», туннели.
Часть 2 (вы здесь) — механизм сессий: параметры, аутентификация, обратная связь, редактирование без бана.
Часть 3 — UX-хаки: бот, который «звонит» как телефон, онбординг-воронка одним JSON-файлом и почему ссылки надо готовить до клика.
Наш главный сценарий выглядит невинно: в чате лежит сообщение бота с кнопкой «Присоединиться к звонку». Но у этой кнопки три неприятных свойства, о которых не пишут в туториалах:
Первое: кнопка одна на всех. Сообщение в чате общее — его видят все участники. Нажать может любой, и для каждого miniapp должен открыться со «своим» контекстом: кто ты, в каком звонке, что тебе можно. А кнопка умеет ровно одно — открыть ссылку. Одинаковую для всех.
Второе: нужна аутентификация и обратная связь. Мало открыть страницу — надо понять, кто её открыл (и не поверить на слово), а потом вернуть результат действий обратно: в сообщение в чате, другим участникам, в их miniapp.
Третье, самое коварное: часть флоу уходит во внешний браузер. OAuth-авторизация у Google или Zoom по правилам провайдеров происходит в системном браузере — и в момент, когда пользователь туда перешёл, все переменные miniapp перестают существовать. Нет `Telegram.WebApp`, нет initData, нет ничего. Из всего контекста Telegram остаётся ровно то, что вы сами успели положить в URL.
Три проблемы — одно решение: серверные сессии. И сразу важная рамка: это не трюк для проброса параметров. Это полноценный аналог классической веб-сессии — серверный объект с временем жизни и типизированным хранилищем значений, на котором держится вся серверная логика. Если в вашем продукте есть хотя бы сценарий «выйти из miniapp наружу и вернуться» — механизм сессий обязателен, без вариантов.
Скелет предельно простой (напоминаю, здесь C#, но это словарь с TTL — он есть в любом языке):
```csharp
public sealed class Session
{
public string Key { get; init; } // Guid без дефисов — едет в URL
public SessionType SessionType { get; set; } // RequestCall | MiniAppRoute | AccessToken | ...
public TimeSpan SessionLifeTime { get; set; }
public bool IsExpired => UtcNow - CreatedDate > SessionLifeTime;
public T? GetData<T>() where T : class { ... } // типизированные данные сценария
public void SetData<T>(T? value) where T : class { ... }
}
```
Хранилище — обычный `ConcurrentDictionary<string, Session>` в памяти процесса, фоновый воркер выметает протухшие. Ключ — случайный Guid: он непредсказуем, поэтому сам по себе работает как секрет.
Главное здесь — `GetData<T>()`. У каждого типа сессии свой класс данных, и это данные не «для передачи», а рабочее состояние, на которое опирается серверная логика. Например, у сессии инлайн-звонка внутри лежит: кто создал звонок, список пользователей, нажимавших кнопки, выбранный провайдер, статус звонка, id инлайн-сообщения в чате, последний отрисованный текст этого сообщения. Сервер читает и меняет это состояние на каждом шаге сценария — ровно как классическая сессия в вебе, просто ключ к ней приезжает не в cookie (помните правило из части 1: cookies в webview ненадёжны), а в URL и токенах.
Теперь само решение — цепочка из трёх сессий. Звучит громоздко, на деле — три словарных записи и два редиректа:
```text
[чат] RequestCall-сессия ─── общая, одна на звонок
│ ключ уезжает в кнопку: t.me/MyBot/app?startapp= {key}
▼
[miniapp] роутер-страница: собирает Telegram.WebApp.initData → POST /init
│ сервер валидирует подпись, находит RequestCall по ключу
▼
[сервер] AccessToken-сессия ── персональная, у каждого пользователя своя,
│ внутри ссылка на общую OriginalSession
▼
[страница] редирект на целевую страницу с персональным токеном в URL
```
По шагам:
1. Создание. Когда пользователь вызывает бота в чате, сервер создаёт `RequestCall`-сессию — общую для этого звонка. Ключ уходит в кнопки. Для callback-кнопок мы кодируем его прямо в payload (`{key}@@@{команда}`), для кнопки miniapp — в параметр `startapp` диплинка. Это единственный канал: Telegram не даст кнопке передать ничего, кроме этой строки.
2. Роутер. Кнопка открывает не целевую страницу, а лёгкую страницу-роутер. Её JS собирает `initData` и шлёт на сервер:
```js
const tg = window.Telegram.WebApp;
const resp = await fetch('/miniapp/init', {
method: 'POST',
body: JSON.stringify({
initData: tg.initData, // подписанная строка — для проверки
startParam: tg.initDataUnsafe.start_param, // ключ RequestCall-сессии
platform: tg.platform, // помните «где я?» из части 1
}),
});
const { redirectUrl } = await resp.json();
location.replace(redirectUrl);
```
3. Проверка и обмен. Сервер валидирует подпись initData (следующий раздел), находит общую сессию по ключу из `start_param` — и выпускает персональную `AccessToken`-сессию: «пользователь X в контексте звонка Y». Внутри неё — ссылка на общую:
```csharp
var accessSession = SessionService.Create(SessionType.AccessToken, lifeTime);
accessSession.SetData(new AccessTokenSessionData {
UserId = user.Id,
OriginalSession = requestCallSession, // общий контекст звонка — один на всех
});
return RedirectUrlFor(page, accessSession.Key); // токен — в URL целевой страницы
```
Одна общая сессия звонка — много персональных токенов поверх неё. Любой запрос с целевой страницы несёт персональный токен, и сервер за один lookup знает и «кто», и «в каком звонке». Проблема «кнопка одна на всех» решена.
4. Внешний браузер. А теперь то, ради чего это всё. Когда пользователь уходит на OAuth к Google и возвращается на наш callback-URL — он приходит в обычном браузере, без единой переменной Telegram. Но токен-то мы положили в URL заранее. Сервер достаёт по нему AccessToken-сессию → из неё OriginalSession → и продолжает сценарий, как будто никто никуда не уходил. Состояние пережило переход чат → miniapp → внешний браузер → обратно, потому что оно никогда и не покидало сервер.
Telegram кладёт в miniapp данные пользователя двумя способами: `initDataUnsafe` (удобный распарсенный объект) и `initData` (сырая строка с криптографической подписью). Слово «Unsafe» в названии — не кокетство: эти данные каждый умеет подделать, отправив вам любой user_id. Использовать их для UI — можно, для серверных решений — только после проверки подписи сырой строки.
Алгоритм проверки описан в доках Telegram, вот его скелет целиком — это один статический метод:
```csharp
public static bool Validate(string initData, string botToken)
{
var parsed = ParseQuery(initData); // initData — это query string
var receivedHash = parsed["hash"];
var dataCheckString = string.Join('\n', // все поля кроме hash,
parsed.Where(kv => kv.Key != "hash") // отсортированы по ключу
.OrderBy(kv => kv.Key, StringComparer.Ordinal)
.Select(kv => $"{kv.Key}={kv.Value}"));
var secretKey = HMACSHA256(key: "WebAppData", message: botToken);
var expected = HMACSHA256(key: secretKey, message: dataCheckString);
if (!FixedTimeEquals(expected, receivedHash)) return false; // константное время!
return UtcNow - FromUnix(parsed["auth_date"]) < MaxAge; // и свежесть: у нас 1 час
}
```
Три детали, которые агент при вайб-кодинге стабильно упускает — проверьте руками:
Сортировка полей ordinal, не culture-зависимая — иначе подпись «иногда не сходится».
Сравнение хэшей в константное время (`FixedTimeEquals`), а не `==` — защита от timing-атак на подбор подписи.
Проверка `auth_date`. Подпись без срока годности — это вечный пропуск: перехваченная один раз строка initData работала бы годами.
После валидации `user_id` из initData можно считать доказанным — Telegram расписался. Заметьте, что получилось: регистрация, логин и восстановление пароля в вашем приложении не существуют как задачи. Это одна из главных причин строить бизнес-приложения на Telegram вообще.
Да, наши сессии — in-memory, `ConcurrentDictionary`, без Redis. Это осознанный трейдофф, и вот его границы:
Когда это нормально: один инстанс приложения; сессии короткоживущие (минуты-часы) и по природе восстановимые — пользователь в худшем случае нажмёт кнопку ещё раз; критичное для бизнеса состояние (звонки, пользователи, настройки) и так живёт в PostgreSQL, сессия лишь оркестрирует сценарий.
Когда сломается: рестарт или деплой обнуляет живые сценарии (у нас это «кнопка перестала отвечать, вызовите меню заново»); второй инстанс за балансировщиком не увидит чужих сессий — привет, sticky sessions или внешний стор.
Для вайб-кодера мораль такая: начинайте со словаря в памяти — это ноль инфраструктуры и вся механика статьи работает как есть. Но заведите интерфейс хранилища сессий с первого дня, чтобы Redis, когда понадобится, был заменой одного класса, а не переписыванием.
Осталась последняя стрелка: изменения должны лететь обратно. Собеседник выбрал провайдера в своём miniapp — у вас на странице должен обновиться статус; кто-то подключился к встрече — сообщение в чате должно это показать.
В части 1 я уже спойлерил: SignalR (WebSocket) внутри telegram-webview работает штатно на всех платформах. Схема такая:
При открытии страницы клиент вступает в группу по ключу общей сессии звонка: все участники одного звонка — в одной комнате.
Когда серверное состояние меняется, сервер шлёт в группу голое событие `StateChanged` — без данных.
Клиент, получив сигнал, сам запрашивает актуальное состояние обычным HTTP-запросом со своим персональным токеном.
```csharp
// сервер: состояние изменилось → пнуть группу (с debounce, см. ниже)
await hub.Clients.Group(callSessionKey).SendAsync("StateChanged");
// клиент: сигнал — не данные, а приглашение спросить
connection.on('StateChanged', () => refreshState()); // GET со своим токеном
```
Почему сигнал пустой? Три причины: не надо думать о правах в push-канале (каждый забирает состояние своим токеном — сервер сам решит, что ему видно); потерянный сигнал ничего не ломает (следующий `refreshState` всё выровняет); и события можно дебаунсить — при шквале изменений группа получает один пинок в N миллисекунд, а не очередь устаревших снапшотов. Плюс дешёвая страховка: редкий фоновый poll на случай, если WebSocket всё-таки умер.
Обратная связь долетает не только до miniapp, но и до того самого инлайн-сообщения в чате: «Готово. Подключились: Аня, Дмитрий». И вот здесь вайб-кодеры массово наступают на грабли: наивный код дёргает `editMessageText` на каждое изменение состояния. Два участника нажали кнопки одновременно — два edit'а; шквал событий — шквал edit'ов. А у Bot API на это две реакции: ошибка `400: message is not modified` (текст совпал с текущим) и flood-лимиты вплоть до временной блокировки бота — для продукта, который живёт в чужих чатах, это смерть.
Решение — не редактировать сообщение из бизнес-логики вообще. Вместо этого:
```text
логика: «состояние сессии X изменилось» → пометка X в очереди (дедупликация по ключу)
воркер: берёт ключ → строит текст и клавиатуру ИЗ ТЕКУЩЕГО состояния сессии
→ сравнивает с последним отправленным текстом (он хранится в сессии!)
→ совпало: молча пропустить | изменилось: editMessageText, запомнить текст
```
Три свойства, ради которых всё затевалось: дедупликация — десять изменений за секунду дают одно редактирование, потому что пометки схлопываются по ключу сессии, а текст строится по финальному состоянию; идемпотентность — сравнение с `LastInlineMessageText` из сессии гарантирует, что мы никогда не пошлём Telegram то, что у него уже есть (заметьте: это ещё одна работа для серверного состояния сессии); асинхронность — бизнес-логика не ждёт Telegram API и не падает от его ошибок.
Правило в память агента: сообщение в чате — это проекция состояния сессии, обновляемая фоновым воркером. Бизнес-логика сообщений не трогает.
Механика из этой статьи — переиспользуемый каркас для любого бизнес-приложения на miniapp, где есть «общая кнопка» и «выход наружу»: серверная сессия с типизированным состоянием; персональные токены поверх общего контекста; подпись initData как замена всей системе логина; пустые сигналы по WebSocket вместо данных в push; и очередь-проекция для сообщений в чате. Ни один из этих элементов не завязан на C# — это протокол работы с платформой.
В части 3 — фокусы: как бот «звонит» пользователю так, что телефон ведёт себя как при настоящем входящем вызове (спойлер: удаляем и переотправляем сообщение — и почему это работает). Почему в Telegram невозможен привычный веб-паттерн «клик → сервер сформировал ссылку → редирект» и как жить с тем, что конечный URL должен лежать в кнопке до клика. И скрипт-чат: онбординг-воронка целиком в одном JSON-файле — с эффектом печати, слайдами и аналитикой по шагам.
Всё описанное написано для Telegram, но в большей части справедливо и для MAX — механика ботов, miniapp и сессий там строится по тем же принципам. Если есть желание сделать адаптацию под MAX и российские сервисы видеовстреч — велком в личку.
Потрогать сам мост: @GoosleeBot · gooslibot.com
Со мной периодически связываются люди и делятся своим опытом того как их обманули телефонные мошенники. Ситуация примерно одинаковая во всех случаях, но появилось пара НО 😂
Ситуация 1
На самом деле таких ситуаций сразу три:
В первом случае мошенник по неосторожности скинул жертве свой реальный номер телефона.
Во втором случае жертва смогла самостоятельно узнать номер мошенника (человек попросил не раскрывать способ)
В третьем случае жертвой оказался представитель мессенджера в котором все это дело разворачивалось 😂
Пока эти ситуации висят, жертвы запуганы мошенниками и опасаются подать заявление в полицию. Давайте поддержим пострадавших! Возможно они все же соберутся и накатают заявление. Кстати, они читают мои посты и коментарии под ними.
Ситуация 2
Ко мне обратится дальний родственник с просьбой помочь. Как-то так получилось, что он всех учил как защитить свой аккаунт госуслуг от мошенников (и меня в том числе), а тут оказалось что сам своими руками скинул им пароль 🤦
Ну а что тут сделаешь? Кое-как пострадавший сменил пароль от аккаунта. У человека был установлен запрет на получения кредитов и этого всего. В итоге отделался только легким испугом. И вроде бы мошенник отступил и все на этом.
Но тут не все так прозрачно как могло бы показаться, особенно для меня после того как набил шишек на разработке своей системы авторизации и завершении сеансов. У меня начал дергаться глаз от флешбеков того что в этой системе может пойти не так:
Заваривайте чаек, берите закуски, сейчас будет небольшое расследование на человеческом (непрограммистком) языке :)
На самом деле в теме безопасности (хоть какой-то) мне пришлось начать разбираться с момента работы над собственным сервисом для общения. Будучи зарегистрированным на форуме с настоящими профессиональными разработчиками смог довольно плотно с ними пообщаться.
В какой-то момент приступил к разработке собственной системы авторизации, обмена токенами, завершения работы приложения, почитал статеек. Собственно так понял на своей шкуре как весь этот механизм работает и реализовал его надежно у себя.
О токенах
У токенов есть и достоинства и недостатки. Ох, придется заняться нудятиной и рассказывать обывателю что и как работает 😅 Но без этого, к сожалению, для ЛЛ могу заключить так: в госуслугах существует проблема в безопасности, дальше можете не читать.
JWT-токен (JSON Web Token) — это способ передачи информации между двумя сторонами. В случае авторизации пользователя в сервисе, сервер передает пользователю файл в котором, улосвно, написано: можно доверять что это Иванов Иван Иванович до 03.06.2026, до 18:00, подпись сервера.
Ключевым моментом здесь является подпись сервера. Только сервер может подписать документ.
Наглядно это можно представить так: я - сервер, Иван - пользователь. Вы подходите ко мне с паспортом. Я выполняю роль нотариуса, по паспорту смотрю что вы - это вы, составляю бумажку и и ставлю свою подпись и дату до которой считать документ действительным. С этого момента любой человек, который предоставит эту бумажку будет распознан мной как Иван. Если документ устарел, то придется показать паспорт повторно (ввести пароль).
Чтобы постоянно не вводить пароль придумали следующую штуку: при демонстрации паспорта я выписываю сразу 2 бумажки:
- 1 бумажка удостоверяет что вы - это вы и срок ее действия 1 час
- 2 бумажка удостоверяет что вы - это вы и срок ее действия 7 дней
Вторую бумажку можно использовать для обновления первой бумажки. То есть Иван может подойти ко мне и сказать: у меня просрочилась первая бумажка, но у меня есть вторая и мне нужно получить две новые бумажки (первую и вторую) с продленным сроком действия.
В приложениях эти действия делаются сами собой и пользователь их не замечает. Это избавляет пользователя от многократного периодического ввода пароля.
Проблемы токенов
У этого подхода есть плюсы и минусы. Заострим внимание на проблемах и на их решениях.
Очевидный минус - вор похитил бумажку или сделал ее копию. Теперь сервер не знает что бумажка похищена и будет считать мошенника Иваном до момента пока срок действия бумажки не пройдет. Как решается? Разработчики решают эту проблему по-разному:
- кто-то говорит: "хорошо, все равно через условные 5 мин срок действия бумажки пройдет, что программа может успеть сделать за 5 мин?"
- кто-то вводит механизм версионирования. Это значит, что помимо срока действия документа на бумажку записывается версия документа. И если версия ниже, чем версия на сервере, то документ считается недействительным.
Как это работает:
1) Иван получил бумажку с сроком действия, версия 1 и подписью сервера;
2) Вор украл \ скопировал бумажку Ивана;
3) Иван узнал о компроментации, вышел из приложения и снова в него зашел. После этого сервер выдал Ивану бумажку с новым сроком работы и уже версией 2;
4) Вор обратился к серверу, сервер проверил дату, но заметил, что документ устарел и не принял его; Вор остался "за бортом".
Это один из самых простых способов завершения работы и ограничения доступа.
Изучаем сервис Госуслуги
Приглашаю внимательно посмотреть как будет вести себя сервис когда пользователь сменил пароль.
Рассматривать ситуацию когда пользователь вышел из приложения на одном из своих устройств - бессмысленно т.к. в этом случае претензий к сервису нет.
Проводим эксперимент. Каждый может провести его самостоятельно. Для этого потребуется 2 телефона с доступом в интернет и сервис госуслуги (+ номер к которому привязан аккаунт).
Просто заходим в свой аккаунт с двух телефонов:
- телефон 1 пусть принадлежит мошеннику (для ясности подчеркну, вы передали ему код из СМС, он смог с его помощью залогиниться)
- телефон 2 пусть принадлежит владельцу
Данная ситуация имитирует момент кражи JWT-токена.
Теперь вы осознали факт кражи и решили что-то с этим делать. Что вы будете делать, какие ваши действия? Допустим в полицию вы позвонили (как и в моем случае), что дальше?
Смена пароля? Смените пароль на Госуслугах через телефон 2. После успешной смены пароля попробуйте использовать телефон 1 (телефон мошенника). Как видим, мошенник как был в аккаунте, так и продолжает в нем быть, смена пароля не помогла.
Собственно этот момент меня и смутил в данном сервисе. Пошел дальше, закрыл приложение на телефоне мошенника, открыл его через 15 минут зашел в приложение с помощью четырехзначного пароля:
И все зашлось без всяких проблем. Это все, что нужно знать про то, как можно "грамотно" реализовать двухфакторную аутентификацию 😂
Ребят, россиян 120 млн человек, почему я сталкиваюсь с подобными проблемами?
Отмечу, это не первая проблема, которая была зщамечена мной в данном сервисе. Какие-то проблемы (которые подсвечивал сервису) они правили, какие-то - нет. По мере развития своих профнавыков кидаю в сервис репорты. И этот случай скинул:







Госуслуги могут замять мое обращение и ответить что все "соответствует ТЗ и проблем у нас нет". Собственно так они и отвечают, когда не хотят ничего менять. И будут в какой-то мере правы так как если вы разбираетесь в тонкостях работы системы авторизации, то вы наверняка знаете что можно завершить сессию вора в каком-то разделе госуслуг. Вот только попробуйте найти куда они спрятали этот раздел. И кто у нас разбирается в этих тонкостях?
Рядовой пользователь не знает тонкостей, не имеет представления чем авторизация отличается от аутентификации, а на мой вопрос про "вышел из сессий?" спросил "что это такое и с чем едят?":
Надеюсь пост был полезен и вы узнали немного больше о безопасности. А Госуслуги, надеюсь, сделают что-то с ответственным за безопасность сервиса. Например, кинут его "в костер" 😂
--
По вечерам разрабатываю сервис для общения. Кому интересен сервис для общения, можете подписаться куда-нибудь на меня, попробуете его в числе первых.
Постепенно буду продолжать делиться успехами разработки.
У вас было такое, что на каком-то сайте зарегистрирован один номер телефона, вы его вводите и запрашиваете код, а он приходит на другой ваш номер, который на этом сайте не палился?
За последний месяц замечаю всё больше такого, при том, что симки даже физически стоят в разных телефонах и симка с номером на который зарегистрированы аккаунты никогда не была в телефоне с симкой, на которую в итоге приходят смс. Как это вообще работает?
Зачем нужен СНИЛС есть есть ИНН?
Я так понимаю, что это просто вариант двухфакторной аутентификации.
Legit Check или Легит чек - термин пришедший к нам с запада, означающий проверку брендовых товаров на оригинальность / подлинность. По сути это процедура, которая помогает понять, является ли вещь оригинальной или же это хорошо выполненная подделка. Эта услуга приобрела особую значимость среди ресейлеров и покупателей в последнее время, поскольку вторичный рынок становится всё более популярным, а количество подделок неимоверно растёт.
Представьте: вы собираетесь купить оригинальную сумку Louis Vuitton на всеми известной торговой площадке. Вы находите именно то, что искали: цена отличная, а продавец клянётся, что сумка оригинальная, куплена в европейском бутике, и даже показывает чек. Вы доверяете, оплачиваете покупку.
На первый взгляд всё выглядит идеально — сумка кажется подлинной, сделка прошла успешно. Но со временем вы замечаете тревожные детали: где-то шов выполнен неаккуратно, серийный номер не соответствует стране производства, сумка плохо держит форму, а фирменный паттерн слегка «плывёт» и выглядит кривовато.
Тогда вы решаете проверить подлинность онлайн — например, через Legit Check сервис ResaleHub.ru — и… вот оно. Вердикт: подделка.
Вы выбросили на ветер больше 100 000 рублей. А мошенник к этому моменту уже исчез, и вернуть всё назад практически невозможно.
Чтобы такого с вами точно не произошло, всегда пользуйтесь онлайн-сервисом проверки подлинности перед покупкой. Всё просто: запросите у продавца дополнительные фотографии лота по инструкции и закажите проверку — так вы заранее убедитесь, что вещь действительно оригинальная.
Зайдите в личный кабинет на сайте, ИЛИ ЧЕРЕЗ ТЕЛЕГРАМ БОТА @RESALEHUB_BOT
В каталоге услуг выберите категорию «Сумки» и бренд вашего изделия.
Загрузите фото по чек-листу (5-10 качественных кадров: паттерна, фурнитуры, производственного штампа, серийника, швов и т.д).
Оплатите услугу аутентификации.
Ожидайте уведомление на e-mail: мы пришлём сообщение о готовности результата.
Зайдите в раздел «Мои проверки» — там появится статус Legit/Fake с обоснованием от наших экспертов
В среднем стоимость онлайн проверки люксовых сумок на оригинальность варьируется в районе 1500-3000 рублей, в зависимости от бренда.
Дорого ли это? Если вы покупаете сумку дороже 30 000 рублей, то очевидно - нет. Ибо купив подделку вы потеряете в десятки раз больше.
I.
Понимание того, что реально кроме моего собственного «Я» ничего нет, пришло ко мне, сразу же меня буквально ошеломив, в один из осенних дней в возрасте 13-ти лет.
Просто я неожиданно осознал, что то Нечто, которое воспринимает мир во всей доступной моему тогдашнему возрасту сложности; со всеми цветами, запахами, ощущениями, звуками и идеями не может не существовать. То есть, либо существует Оно (моё «Я») – либо не существует ничего!..
Эта мысль действительно тогда, помню, сразила меня именно своей простотой, простотой при этом обезоруживающей. И по всей видимости, допустить, что возможно существование ВСЕГО вне контекста восприятия НЕЧТО – или даже лучше сказать НЕКТО – значит ставить знак равенства между Бытием и Небытием.
Это самое ОНО (оно же – НЕКТО и НЕЧТО), которое воспринимает мир существующим, не может ни начинаться, ни заканчиваться по самой своей природе, каковая природа и есть, собственно, Единое, Неделимое и вневременное СУЩЕЕ…
Я осознал это тем относительно заурядным вечером своего отрочества и совершенно спокойно уснул. Да, именно тогда же сразу и было понятно, что всякие частности, вроде конкретных имени, фамилии, да и пола – не есть нечто существенное, в сравнении с, простите за каламбур, СУЩИМ, которое я в тот день ощутил так ярко впервые, но что, в общем-то, осталось с тех пор со мной навсегда.
Это с одной стороны. С другой – отрицать факт существования собственных родителей, детей или прочих близких тоже довольно затруднительно, но… их существование, увы именно объективно, что невольно делает его существованием всё же второго уровня – в сравнении с нашим собственным, каковое субъективно для нас и, одновременно с этим, объективно для всех, кроме нас, то есть для других, а следовательно, является бытием второго уровня уже для них. И мы можем тут сколько угодно негодовать, расстраиваться и переживать, когда нас не понимают, а то и принципиально не хотят понимать, но в этой диспозиции никогда ничего не изменится; по крайней мере, до тех пор, пока наше бытие будет оставаться для тех, кто нас не понимает или не хочет понять, бытием именно второго уровня, то есть бытием неких объектов, находящихся внутри спектра восприятия изначально самодостаточного Субъекта; то есть до тех пор, пока… наше «Я» не станет «Я» Другого.
Только в этом случае наши проблемы войдут в Его Область Бытия Первого Уровня, то есть станут уже Его проблемами, то есть… общими.
Наши отцы и матери могут сколь угодно пламенно говорить о любви к нам, но реально конфликтов удалось бы избежать только в том случае, если бы либо мы перестали быть для них объектами, или если бы… они перестали воспринимать себя как Субъектов. То же верно, увы, и для наших отношений с собственными детьми, ибо, похоже, лучшее, что мы можем для них сделать – это… не препятствовать экспансии их «Я» в наше, что, разумеется, мягко говоря, затруднительно, не говоря уже о подобных шагах с их стороны, каковых, в свою очередь, с нашей стороны грешно и безнравственно от них требовать (что, в свою же очередь, было бы весьма нелишним помнить и понимать и нашим родителям тоже, от которых между тем мы не вправе требовать растворения в себе).
То есть реально существует только один конфликт, который ещё в 1995-м году, в своей работе «Слово о практическом искусстве», я со всем пафосом самоуверенной молодости, пожалуй, действительно довольно удачно назвал МЕТАКОНФЛИКТОМ, то есть конфликтом между «Я» и «не-Я», между Субъектом и Объектом, между самим действием и наблюдением чьего-либо действия со стороны. Словом, МЕТАКОНФЛИКТ – это конфликт, лежащий в основе всех остальных конфликтов – от сопротивления структуры древесины вгоняемому в неё гвоздю до семейных ссор и войн с применением самых последних технических достижений.
Но первый же вопрос, что может возникнуть в тех счастливых и довольно редких случаях, когда МЕТАКОНФЛИКТ реально осознан как таковой – то есть как корень всех бед – это вопрос о том, не является ли он конструктивным!..
Не есть ли то, что всё устроено столь безысходно печально – некое не то «необходимое зло», не то и вовсе лучший вариант в сравнении с остальными?
Предположим, что «Я» едино. Предположим, что в мире нет ничего, что не являлось бы нами, и при этом сие – ИСТИНА, которую невозможно оспорить (хотя бы уже потому, что оспаривать её… просто некому)) ). Какую картину мира получаем мы в этом случае? Мира, который абсолютно тождественен нашему «Я» и которым это наше «Я» и является, а кроме этого НИЧЕГО НЕТ.
Первое, что приходит в голову при подобном моделировании – это понимание, что в таком мире, полностью тождественном нашему «Я», отсутствует что-либо, что можно соотнести с тем миром, к которому все мы привыкли.
В таком гипотетическом мире, каковой можно смело, вслед за братьями Стругацкими, назвать МОНОКОСМОМ, нет объектов вообще, но существование СУБЪЕКТА также становится весьма расплывчатым, потому как отсутствие чего-либо, кроме «Я», препятствует осознанию этого самого «Я», поскольку нет ничего, относительно чего можно было бы себя обособить и выделить.
Плюс к этому, скорее всего, ввиду отсутствия объектов, в МОНОКОСМЕ не может существовать и ВРЕМЯ! Хотя бы уже потому, что в монокосме не существует ПРОСТРАНСТВА, для существования которого необходимы объекты, или, точнее сказать, наличие субъектно-объектной дихотомии.
Таким образом, получается, что к монокосму вообще довольно трудно применить такое слово как БЫТИЕ.
Судите сами, пространственно-временного континуума не существует, субъектно-объектных отношений не существует – что же тогда существует? Ответ простой: наше «Я»! Но при этом… оно равно «нулю». То есть оно как бы и существует и не существует одновременно.
А теперь давайте задумаемся… А не так ли это и для нашей привычной реальности?..
Однако, как ни крути, всё выходит, что сам выбор наш весьма невелик: либо мы не существуем (в привычном смысле слова), либо мы существуем в страдании, постоянно ощущая (то довольно остро, то более-менее умеренно) своё тотальное одиночество.
Ведь в каком-то смысле любую человеческую жизнь можно рассмотреть как историю болезни под названием «одиночество и бессилие что-либо изменить». Эта болезнь, как и всякая иная, имеет свои кризисы, периоды ослабления, ремиссии; как улучшения, так и ухудшения самочувствия.
Никакому человеку не дано делать того, чего он только ни пожелает – по крайней мере, в полном объёме. Уже в первые годы жизни нам приходится усвоить, что если слишком активно интересоваться миром, находящимся за пределами наших кроваток, можно в совершенно буквальном смысле расшибить себе голову, и в некоторых случаях даже погибнуть.
Далее, в течение длительного периода, неприятные открытия льются как из рога изобилия – и в конце концов мы вынуждены признать, что, по тем или иным причинам, никто из нас не может позволить себе делать то, чего больше всего и желает.
В этот и последующий, уже школьный и студенческий, период нам внушают мысль о том, что якобы, если мы будем делать то, что от нас настоятельно требуется, постепенно мы как бы заработаем, купим, заслужим, завоюем себе право делать то, что нам хочется, хотя бы иногда. Некоторое время мы верим в это. Потом следует новый удар!
Однажды, как бы случайно, всплывают однозначные факты, указывающие на то, что практически все из тех, кто учил нас правилам поведения в «реальном» мире, довольно редко соблюдают их сами. Иногда «они» начинают оправдываться; иногда их оправдания вполне убедительны; иногда мы просто прощаем их, поняв (по аналогии с самими собой), что «они» ведут себя так тоже, в общем-то, не по своей воле, а, как правило, под воздействием так называемых «обстоятельств непреодолимой силы»…
Поняв и усвоив это и, в общем-то, вполне искренне «их» простив, мы тем не менее параллельно делаем для себя и ещё кое-какие выводы и начинаем видеть эти самые «обстоятельства непреодолимой силы» практически при каждом удобном для себя случае.
Потом у нас рождаются дети, и мы, желая им лучшей участи, чем та, что выпала нам, начинаем учить их тому же, чему учили нас наши родители и чему ВСЕ РОДИТЕЛИ УЧАТ СВОИХ ДЕТЕЙ – то есть всё повторяется сначала. Дети вырастают, обнаруживают некий подлог, и вот уже «обстоятельства непреодолимой силы» становятся ИХ оружием. Традиция передана!.. (Достигнув пика в знаке Весов, Зодиак начинает спускаться к той точке в знаке Овна, откуда он из разу в раз начинает один и тот же Круг, полный удивительных приключений, набор которых, в сущности, всегда при этом один и тот же… )) )
Однако всё это касается такой модели мира, в которой существует пространственно-временной континуум и субъектно-объектная дихотомия; то есть такого мира, в котором, как принято считать, все мы живём; мира, существование в коем какого-либо Сознания, кроме нашего собственного, всё-таки не доказано и вряд ли вообще доказуемо, о чём мы вполне пространно говорили в первом параграфе.
Если же Истинный Мир устроен иначе, то получается, что все наши несчастья весьма условны, и даже наша физическая боль – до некоторой степени есть нечто, нами же и надуманное, как и всё прочее, включая собственных предков, да и всю мировую историю. Может ли так быть, сразу возникает вопрос...
А вслед за ним сразу же возникает вопрос, а почему, собственно, этого быть не может?..
И вот уже тогда, когда мы ищем ответ на него, на вопрос второй, становится довольно отчётливо ясно, что, в общем-то, «этого не может быть» только потому, что… «это не укладывается у нас в голове», а в ней, в свою очередь, оно плохо укладывается лишь потому, что непривычной выглядит уже сама постановка вопроса.
Но… достаточно ли это веская причина, чтобы утверждать, что этого не может быть? )) Для меня лично… нет.
ПРОДОЛЖЕНИЕ СЛЕДУЕТ...
P. S.
- А Вас вообще интересует чужое мнение о Вашем творчестве?
- Хорошее - да, плохое - нет...))
P. P. S.
Когда заглянув ради интереса в профайл какого-нибудь мудака, поместившего здесь какой-то негативный ответ-коммент, я вижу, что количество поставленных им минусов превышает количество поставленных им плюсов, мне сразу становится ясно, что передо мной просто туповатый тролль, заведомо озлобленный и несостоявшийся в так называемой реальной жизни… Сразу отлегает от сердца, типа, а-а, ну ладно, обычный мудак , каких тьмы и тьмы, тупая серая быдломасса, не было пичальки и всё такое…)) Всем хорошего дня .!. ))
VI.
Вот и подошло время подвести некоторые итоги нашим с вами размышлениям в течение первых пяти главок, да и сделать из них, наших с вами размышлений, некоторые выводы.
Главный из них, пожалуй, такой: мы по-прежнему ничего ни о чём не знаем, поскольку существование кого-либо и чего-либо, кроме нашего «Я», совершено недоказуемо, поскольку доказательством здесь могло бы служить только то, что являлось бы таковым и за пределами нашего восприятия, но… это невозможно, так как если бы такое Доказательство и существовало, то оно бы ничего не доказывало лично нам, потому что Доказательством может служить лишь то, что воспринимаем таковым Мы.
Отсюда следует, что всё, что мы называем своими знаниями и чем порою кичимся, если и являются таковыми, то в сущности ничуть не превосходят наши же знания правил игры в «морской бой», в «казаки-разбойники» и в прочие жмурки-пряталки. Просто есть разные игры!
Одни играют в научную картину мира, другие играют в религии и духовные практики; кто-то предпочитает химию, кто-то физику; «кто-то любит погорячее»; кто-то больше доверяет своим глазам, а кто-то ушам; кто-то больше верит врачам, а кто-то гадалкам – но всё это, в общем-то, в одинаковой мере НЕПРАВДА, так как невозможно доказать Истинность чего-либо, пока люди живут в мире, разделённом на «себя» и «не-себя».
Хотя более-менее Правдой выглядит то, что фактор Веры во что-либо играет определяющую роль в достижении какого-либо Результата, но это доказывает скорее всемогущество именно нашего «Я», но никак не всемогущество той картины мира, где наше «Я» – лишь одно из многих и равнозначных.
Иначе говоря, как можно строить коллайдер, когда само существование физической Вселенной по-прежнему требует доказательств!
Все вроде знают, что такое Субъект и Объекты. Но что именно нам об этом известно? В общем, ничего, что могло бы вывести нас из Дантевского «сумрачного леса» и дать наконец ясный ответ, существует ли в этом мире что-либо и кто-либо, кроме каждого из нас.
Это только множит вопросы, которые большинство людей просто предпочитают не замечать. Нет-нет, люди предпочитают, опять же, строить коллайдер, хотя ещё неизвестно, существует ли, извиняюсь, «объективно» физическая Вселенная. Люди предпочитают искать инопланетян, хотя ещё неизвестно, существуют ли «объективно» наши близкие и друзья, равно как и враги. Как можно искать Внеземной Разум, когда нет ответа на вопрос, существует ли вообще какой-либо Разум, кроме нашего собственного?
Нет, ответа на этот вопрос нет. Более того, само существование этого вопроса для многих сомнительно. Но это так – что интересно – лишь до тех пор, пока мы его всерьёз себе не зададим! Стоит его задать, как и сразу становится ясно, что доказать, что в мире существует что-либо и кто-либо, кроме нашего восприятия, невозможно.
Субъект и объект. Субъект и Объект. Кто из них существует? Можно ли говорить об Объекте, используя местоимение «кто», или же это не «объективно»? Может ли существовать Объект без Субъекта, объектом восприятия Коего любой объект и является? Стоит начать задавать себе эти вопросы, как немедленно с ужасом понимаешь, что ответа нет ни на один из них…
Вообще, это очень характерно для современной стадии развития нашего общества: строить коллайдер, искать инопланетян, зарабатывать деньги и ходить по психоаналитикам или частным чародеям – при том, что двух последних отличает друг от друга только терминология и манера речи, да и даже эти различия в наше время минимальны.
В сущности, невозможно доказать и то, что мы вообще существуем, потому что не-бытие и не-существование не может стать фактом нашего восприятия, а следовательно, мы никогда не будем иметь возможности сравнить одно и другое, потому как, выходит, что ничего другого, в общем-то, нет. И вообще, доказывать, что «небытие» существует – абсурд уже на уровне постановки задачи. И, казалось бы, раз это абсурд, так и зачем я вообще говорю об этом? Но… всё дело в том, что, при определённом угле зрения, так же затруднительно сказать, а что вообще не абсурд!..
Мне интересно «Я» Другого, конечно же, в первую очередь потому, что мне интересно «Я» моё собственное. Но это так потому, что моё «Я» - Единственное, с чем всю жизнь я имею дело. Всё, чем я только ни занят в жизни – это моё «Я», за пределы которого я не выходил никогда. И если всё-таки правы те, кто говорит, что Смерти нет – во всяком случае, как Прекращения Бытия – то я не смогу, таким образом, выйти за собственные пределы и после смерти.
Но даже если Смерть – как полное прекращение Бытия, а не переход его в иную форму – всё-таки есть, то и это не позволит мне выйти за рамки моего «Я», и я, выходит, так никогда и не смогу узнать, есть ли что-либо Там, за моими пределами, так как если Смерть – Абсолютное Небытие, то она, следовательно, никак не может быть мною замечена и как-либо зафиксирована. И в этом смысле становится понятно, что наша Смерть и так всегда, извиняюсь, Существует… параллельно нашей Жизни – с одной стороны; а с другой – Смерти нет вообще и не может быть, как не может быть небытия, что очевидно, в первую очередь, с точки зрения Логики Языка. Слово «ЕСТЬ» может быть применено только к тому, что ЕСТЬ.
Если же Смерть не является Небытием, то тогда правы те, кто твердит нам об этом тысячелетиями, но если постжизненное состояние (назовём это так) является именно состоянием, а не небытием, то тогда получается, что само по себе «Я», которому вообще свойственно испытывать различные состояния – в том числе, постжизненное – ВЕЧНО.
Впрочем, вывод, что «Я» – Вечно, вытекает и в том случае, если Смерть – небытие, поскольку тогда… её просто нет…
И я уж молчу о том, что всем известная фраза «Я ЕСТЬ!» (и далее «Я есть Тот, Кто Я Есть!») именно об этом.
Однако все эти необыкновенные приключения ума, увы, всё так же не дают мне ответа на главный интересующий меня вопрос: существует ли какое-либо «Я», кроме нашего собственного (в данном случае, моего J)? Можно ли это выяснить? И даже если можно, то стоит ли игра свеч? Хочется ли «мне» это знать в действительности? И изменится ли что-либо в «моей» жизни, если подтвердится одно или другое?
Этому и попытаемся посвятить следующий параграф…
ПРОДОЛЖЕНИЕ СЛЕДУЕТ...
P. S.
- А Вас вообще интересует чужое мнение о Вашем творчестве?
- Хорошее - да, плохое - нет...))
P. P. S.
Когда заглянув ради интереса в профайл какого-нибудь мудака, поместившего здесь какой-то негативный ответ-коммент, я вижу, что количество поставленных им минусов превышает количество поставленных им плюсов, мне сразу становится ясно, что передо мной просто туповатый тролль, заведомо озлобленный и несостоявшийся в так называемой реальной жизни… Сразу отлегает от сердца, типа, а-а, ну ладно, обычный мудак , каких тьмы и тьмы, тупая серая быдломасса, не было пичальки и всё такое…)) Всем хорошего дня .!. ))