<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>zero_tolerance91</title><generator>teletype.in</generator><description><![CDATA[zero_tolerance91]]></description><link>https://teletype.in/@pravda777?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=pravda777</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/pravda777?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/pravda777?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Sat, 27 Jun 2026 15:14:41 GMT</pubDate><lastBuildDate>Sat, 27 Jun 2026 15:14:41 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@pravda777/iUu2jBCUwXI</guid><link>https://teletype.in/@pravda777/iUu2jBCUwXI?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=pravda777</link><comments>https://teletype.in/@pravda777/iUu2jBCUwXI?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=pravda777#comments</comments><dc:creator>pravda777</dc:creator><title>Запилил алерты и АХУЕЛ!!!</title><pubDate>Fri, 09 May 2025 13:29:56 GMT</pubDate><description><![CDATA[<img src="https://img4.teletype.in/files/70/92/7092e5f0-91d6-4897-89d8-4e201d3c5aae.png"></img>Изначально мой бот был тупым калькулятором:]]></description><content:encoded><![CDATA[
  <figure id="EWtz" class="m_original">
    <img src="https://img4.teletype.in/files/70/92/7092e5f0-91d6-4897-89d8-4e201d3c5aae.png" width="514" />
  </figure>
  <p id="XJkn">Изначально мой бот был тупым калькулятором:</p>
  <ul id="ebTz">
    <li id="sBU9">Раз в 10 минут долбил CoinGecko API</li>
    <li id="v39j">Кэшировал курсы, чтобы не задудосили</li>
    <li id="nrgk">Конвертил BTC в USD и обратно — ну просто пиздец как скучно</li>
  </ul>
  <p id="OL7G">Но потом я решил: <strong>«Хочу, чтобы бот орал, когда крипта летит к хуям или в космос!»</strong></p>
  <h3 id="GLV9"><strong>1. Переход на WebSocket Binance</strong></h3>
  <p id="y4V3">CoinGecko — лажа, там нет вебсокетов. Пришлось подключать Binance.</p>
  <p id="8l16"><strong>Что ожидал:</strong></p>
  <ul id="AIcq">
    <li id="5w7n">Красивые алерты в реальном времени</li>
    <li id="g89N">Умный бот, который не спамит</li>
  </ul>
  <p id="fv1Z"><strong>Что получил:</strong></p>
  <ul id="yZFz">
    <li id="rKgH">Говнокод, который падает с синтаксическими ошибками</li>
    <li id="Z9BO">Бесконечные костыли</li>
  </ul>
  <hr />
  <h3 id="ZI2u"><strong>2. Первая жесть: серверный пиздец</strong></h3>
  <p id="rIMX">На компе всё работало, а на сервере — <strong>SyntaxError</strong> в строке:</p>
  <pre id="Mvz8">f&quot;{random.choice(ALERT_TEMPLATES).format(...)}&quot;  # Сервер просто АХУЕЛ</pre>
  <p id="cD0a"><strong>Что сделал:</strong><br />Разбил на две строки, ибо сервер — долбоёб:</p>
  <pre id="xOWp">alert = random.choice(ALERT_TEMPLATES)  # Сначала шаблон  
message = alert.format(...)            # Потом подстановка  </pre>
  <p id="tC06"> </p>
  <p id="JWgT"><strong>Вывод:</strong><br />Локальный тест ≠ продакшен. Сервер — это пиздец.</p>
  <hr />
  <h3 id="rs9A"><strong>3. Пропадающие настройки: пиздец в квадрате</strong></h3>
  <p id="KvzL">Включил алерты на BTC, перешёл в конвертер — <strong>настройки слетели.</strong></p>
  <p id="nYrm"><strong>В чём проблема?</strong><br />Оказалось, конвертер <strong>перезаписывал</strong> всю хуйню:</p>
  <pre id="f9WP">user_data = {
    &quot;alerts&quot;: [&quot;BTC&quot;],  # Это пиздец как неправильно  
    &quot;conversion&quot;: {}    # Конвертер затирал алерты!  
}</pre>
  <p id="6YCj"><strong>Как починил:</strong><br />Сделал нормальную структуру:</p>
  <pre id="CrFT">user_data = {
    &quot;alerts&quot;: {&quot;coins&quot;: [&quot;BTC&quot;]},  # Теперь не перезаписывается  
    &quot;conversion&quot;: {}               # Живёт отдельно  
}</pre>
  <p id="P3fR"><strong>Итог:</strong><br />JSON и datetime — ебучие уёбки.</p>
  <hr />
  <h3 id="glBD"><strong>4. Конфликт ботов: адский пиздец</strong></h3>
  <p id="l0Xv">Запустил нового бота — <strong>старый не хотел умирать.</strong></p>
  <p id="sEGQ"><strong>Логи:</strong></p>
  <pre id="ntZ0">TelegramConflictError: другой экземпляр уже работает!  </pre>
  <p id="F6bJ"><strong>Что пробовал:</strong></p>
  <pre id="CyEq">sudo pkill -f &quot;python.*bot.py&quot;  # Не помогло  
kill -9 &lt;PID&gt;                   # Тоже мимо  
systemctl restart mybot         # Зомби оживал  </pre>
  <p id="Nu7B"><strong>Решение:</strong><br />Добавил в systemd:</p>
  <pre id="CZl1">KillMode=process  </pre>
  <p id="wgjm">И просто <strong>подождал 2 минуты</strong> — Telegram API тормознутое говно.</p>
  <hr />
  <h3 id="eYGJ"><strong>5. Спам-апокалипсис: бот ебнулся</strong></h3>
  <p id="gv5r">Когда ETH подскочила на 7%, бот <strong>начал нести хуйню:</strong></p>
  <pre id="09WE">[12:00] ОХУЕТЬ! SOL +5%!  
[12:01] ОХУЕТЬ! SOL +5.1%!  
[12:02] ОХУЕТЬ! SOL +4.9%!  </pre>
  <p id="Z94X"><strong>Как пофиксил:</strong><br />Добавил <strong>дебаунсинг</strong> и <strong>порог срабатывания:</strong></p>
  <pre id="RFaK">def need_alert(crypto, change):
    return (
        abs(change) &gt; 5.0               # Не меньше 5%  
        and (time.time() - last_alert) &gt; 300  # Раз в 5 минут  
    )</pre>
  <p id="aqvp"><strong>Вывод:</strong><br />Без ограничений бот превращается в <strong>еблана-спамера.</strong></p>
  <hr />
  <h2 id="KUer"><strong>Итог: что получилось</strong></h2>
  <p id="u7hz">✅ <strong>Алерты в реальном времени</strong> — WebSocket рулит<br />✅ <strong>Яркие уведомления</strong> <br />✅ <strong>Стабильная работа</strong> — после тонны костылей</p>
  <h2 id="94Kt"><strong>Выводы:</strong></h2>
  <ol id="MqFn">
    <li id="Vtci"><strong>Логируй всё</strong> — без логов ты в жопе.</li>
    <li id="NFQX"><strong>Тестируй на сервере</strong> — локально ≠ продакшен.</li>
    <li id="aqYr"><strong>Не доверяй datetime</strong> — JSON его ненавидит.</li>
    <li id="HJso"><strong>systemd — мразь</strong> — убивать процессы надо жёстко.</li>
  </ol>
  <blockquote id="D1F5"><strong>Главный урок:</strong><br /><em>«Если код работает с первого раза — значит, ты что-то забыл.»</em></blockquote>
  <p id="dkKK"><strong>Гитфлик:</strong> [https://gitflic.ru/project/system_develop/kripto_bot] | <strong>ТГ-канал:</strong> [https://t.me/system_develop]</p>
  <p id="1H8F"><strong>P.S.</strong> Если найдёте баги — пишите в комменты🚀</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@pravda777/2upxaqwJQlY</guid><link>https://teletype.in/@pravda777/2upxaqwJQlY?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=pravda777</link><comments>https://teletype.in/@pravda777/2upxaqwJQlY?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=pravda777#comments</comments><dc:creator>pravda777</dc:creator><title>Криптобот: от говнокода до монолита</title><pubDate>Thu, 24 Apr 2025 06:43:30 GMT</pubDate><description><![CDATA[Каждый новый этап — это новая фича, которую выбирают  юзеры. Голосуют в опросах на канале, пишут комменты — а мне потом это допиливать.]]></description><content:encoded><![CDATA[
  <figure id="fna8">
    <iframe src="https://t.me/system_develop/472?embed=1&userpic=1"></iframe>
  </figure>
  <p id="wJSS">Каждый новый этап — это новая <strong>фича</strong>, которую выбирают <strong> юзеры</strong>. Голосуют в опросах на канале, пишут комменты — а мне потом это <strong>допиливать</strong>.</p>
  <h4 id="MIzw"><strong>Как это работает:</strong></h4>
  <ol id="PKqE">
    <li id="To2Y"><strong>Вы предлагаете</strong> фичи.</li>
    <li id="Q4z2"><strong>Голосуете</strong> за самый отбитый вариант.</li>
    <li id="oNpz"><strong>Я страдаю</strong>, пытаясь это закодить.</li>
  </ol>
  <p id="w0zu">И вот что из этого вышло...</p>
  <p id="4nIr"></p>
  <p id="DJlq"><strong>v1.0 — пиздец как стыдно</strong></p>
  <p id="Vayz"><strong>API CoinGecko</strong> — дергали как дегенераты:</p>
  <pre id="NdMw" data-lang="python">def get_price(coin: str) -&gt; float:
    resp = requests.get(f&quot;https://api.coingecko.com/api/v3/price?ids={coin}&amp;vs_currencies=usd&quot;)
    return resp.json()[coin][&quot;usd&quot;]  # если CoinGecko сдох — бот тоже</pre>
  <p id="TkTW"><em>Проблемы:</em></p>
  <ul id="Bxrm">
    <li id="kbWk">Нет таймаутов → бот зависал на 10+ секунд.</li>
    <li id="UBor">Лимиты? <em>«Да кому они нужны»</em> → через час IP в бане.</li>
  </ul>
  <p id="3fls"><strong>Хранение состояний</strong> — в оперативке:</p>
  <pre id="5idA" data-lang="python">user_states = {}  # {&quot;user123&quot;: {&quot;step&quot;: &quot;input_amount&quot;}}</pre>
  <p id="7xGS"><em>Итог:</em> после рестарта — все сессии в мусорку.</p>
  <p id="gneR"><strong>Валидация ввода</strong> — <em>«ну введи цифры, долбаёб»</em>:</p>
  <pre id="ZUD9" data-lang="python">@dp.message_handler()
async def handle_retard(message: Message):
    if not message.text.isdigit():
        await message.answer(&quot;Чё за хуйню ты ввёл?&quot;)</pre>
  <p id="KgQC"><em>Юзеры всё равно вводили:</em> <code>&quot;BTC,-100&quot;</code>, <code>&quot;1,,,,5&quot;</code>, <code>&quot;миллион долларов&quot;</code>.</p>
  <hr />
  <h3 id="3C3P"><strong>v2.0 — чуть меньше позора</strong></h3>
  <p id="xuyD"><strong>🔥 Таймауты запросов</strong> — 5 секунд и нахуй:</p>
  <pre id="Lowt" data-lang="python">try:
    async with async_timeout.timeout(5):
        price = await get_price(&quot;bitcoin&quot;)
except asyncio.TimeoutError:
    await message.answer(&quot;API сдохло. Иди нахуй.&quot;)</pre>
  <p id="7mia"><strong>🚨 Алерты админам</strong> — <em>«Сервис опять лежит, пидорасы»</em>:</p>
  <pre id="OI89" data-lang="python">if api_is_dead:
    await bot.send_message(ADMIN_ID, &quot;API — мудак. Чини.&quot;)</pre>
  <h3 id="RVJK"><strong>Грабли, в которые въебались лицом</strong></h3>
  <p id="pOtk"><strong>1. API — нестабильная хуйня</strong></p>
  <ul id="qOXG">
    <li id="31f4">502 Bad Gateway</li>
    <li id="eTh4">Rate limits</li>
    <li id="H3Hu">Ответ через 15 секунд</li>
  </ul>
  <p id="bLrf"><strong>Костыль:</strong></p>
  <pre id="3y3Y" data-lang="python">@retry(max_retries=3, delay=1)
async def fetch_price():
    # Три попытки перед сдачей</pre>
  <p id="HxWV"><strong>2. Дебилы</strong><br /><em>Примеры ввода:</em></p>
  <ul id="I6i1">
    <li id="snRL"><code>&quot;1...5 BTC&quot;</code></li>
    <li id="NGxg"><code>&quot;0.0000000001 DOGE to USD&quot;</code></li>
    <li id="dOtx"><code>&quot;а можно в рублях???&quot;</code></li>
  </ul>
  <p id="oF5V"><strong>Фикс:</strong></p>
  <pre id="pWY0" data-lang="python">amount = amount.replace(&quot;,&quot;, &quot;.&quot;).strip()
if not amount.replace(&quot;.&quot;, &quot;&quot;).isdigit():
    await message.answer(&quot;Ты че, долбаёб? Это не число!&quot;)</pre>
  <p id="aic7"><strong>3. Состояния после деплоя</strong><br /><em>Костыль:</em> JSON-файл вместо Redis:</p>
  <pre id="lwZr" data-lang="python">def save_states():
    with open(&quot;shitty_db.json&quot;, &quot;w&quot;) as f:
        json.dump(user_states, f)  # крики души</pre>
  <h3 id="iWnO"><strong>Что будет (если не забьем)</strong></h3>
  <p id="h2sU"><strong>🔔 Алерты</strong> — <em>«Блядь, Bitcoin просел на 10%!»</em>:</p>
  <pre id="uMUG" data-lang="python">if price_change &lt; -0.1:
    await notify_all(&quot;ПАНИКА! BTC ЛЕТИТ В ПРОПАСТЬ!&quot;)</pre>
  <p id="U9mC"><strong>📉 Графики</strong> — кривые линии в Paint:</p>
  <pre id="HC3W" data-lang="python">plt.plot(prices)  # выглядит как кардиограмма после бухла</pre>
  <p id="uQKH"><strong>💸 Портфель</strong> — <em>«Сколько я проебал?»</em>:</p>
  <pre id="EsqS" data-lang="python">def calculate_losses():
    return &quot;Всё.&quot;</pre>
  <hr />
  <h3 id="E3Xr">Исходник - <a href="https://gitflic.ru/project/system_develop/kripto_bot" target="_blank">https://gitflic.ru/project/system_develop/kripto_bot</a><br /><br />Голосование: <br /></h3>
  <figure id="aHu6">
    <iframe src="https://t.me/system_develop/478?embed=1&userpic=1"></iframe>
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@pravda777/waD0OqZ1b9O</guid><link>https://teletype.in/@pravda777/waD0OqZ1b9O?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=pravda777</link><comments>https://teletype.in/@pravda777/waD0OqZ1b9O?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=pravda777#comments</comments><dc:creator>pravda777</dc:creator><title>Web 3.0: Переход к Децентрализованному Интернету</title><pubDate>Tue, 10 Dec 2024 11:25:24 GMT</pubDate><description><![CDATA[<img src="https://img2.teletype.in/files/10/bd/10bd1b28-c51a-482f-b5f9-45befd79803d.jpeg"></img>Web 3.0, также известный как &quot;семантический веб&quot; или &quot;децентрализованный веб&quot;, представляет собой следующую эволюцию интернета, которая обещает изменить способ взаимодействия пользователей с данными и приложениями. В отличие от Web 2.0, где пользователи в основном являются потребителями контента, Web 3.0 предлагает более активное участие пользователей в создании и управлении данными.]]></description><content:encoded><![CDATA[
  <h1 id="bkl3">Web 3.0: Переход к Децентрализованному Интернету</h1>
  <figure id="jdYT" class="m_original">
    <img src="https://img2.teletype.in/files/10/bd/10bd1b28-c51a-482f-b5f9-45befd79803d.jpeg" width="216" />
  </figure>
  <h2 id="wFNE">Введение</h2>
  <p id="XWwh">Web 3.0, также известный как &quot;семантический веб&quot; или &quot;децентрализованный веб&quot;, представляет собой следующую эволюцию интернета, которая обещает изменить способ взаимодействия пользователей с данными и приложениями. В отличие от Web 2.0, где пользователи в основном являются потребителями контента, Web 3.0 предлагает более активное участие пользователей в создании и управлении данными.</p>
  <h2 id="NWTS">Основные Принципы Web 3.0</h2>
  <h3 id="BZh3">1. Децентрализация</h3>
  <p id="GCtU">Одним из ключевых аспектов Web 3.0 является децентрализация. Это означает, что данные не хранятся на централизованных серверах, а распределяются по сети. Технологии блокчейн и пиринговые сети (P2P) играют важную роль в этом процессе, позволяя пользователям контролировать свои данные и взаимодействовать напрямую друг с другом.</p>
  <h3 id="L3FD">2. Семантический Веб</h3>
  <p id="Asx9">Web 3.0 стремится сделать данные более &quot;умными&quot; и доступными для машинного анализа. Это достигается с помощью семантических технологий, таких как RDF (Resource Description FrameworResource Description Framework) и OWL (Web Ontology Language), которые позволяют описывать данные и их взаимосвязи. Это, в свою очередь, улучшает поиск и обработку информации.</p>
  <h3 id="G01r">3. Идентичность и Аутентификация</h3>
  <p id="SrHJ">В Web 3.0 пользователи имеют возможность управлять своей цифровой идентичностью. Технологии, такие как децентрализованные идентификаторы (DIDs) и протоколы аутентификации, позволяют пользователям контролировать, кто и как может получить доступ к их данным. Это повышает уровень конфиденциальности и безопасности.</p>
  <h3 id="upuj">4. Умные Контракты</h3>
  <p id="ypxi">Умные контракты — это самовыполняющиеся контракты с условиями, записанными в коде. Они позволяют автоматизировать процессы и устранять необходимость в посредниках. Умные контракты играют ключевую роль в децентрализованных приложениях (dApps), обеспечивая прозрачность и надежность транзакций.</p>
  <h2 id="sJgT">Применение Web 3.0</h2>
  <h3 id="X7k0">1. Децентрализованные Финансовые Системы (DeFi)</h3>
  <p id="cm9g">DeFi — это экосистема финансовых приложений, построенных на блокчейне. Она позволяет пользователям получать доступ к финансовым услугам, таким как кредитование, заимствование и торговля, без необходимости в традиционных финансовых учреждениях.</p>
  <h3 id="HMSL">2. Невзаимозаменяемые Токены (NFT)</h3>
  <p id="EuZo">NFT представляют собой уникальные цифровые активы, которые могут представлять искусство, музыку, видео и другие формы контента. Они обеспечивают возможность владения и торговли цифровыми активами, что открывает новые горизонты для креативных индустрий.</p>
  <h3 id="d4TC">3. Децентрализованные Социальные Сети</h3>
  <p id="HWFs">Web 3.0 также предлагает альтернативу традиционным социальным сетям, позволяя пользователям контролировать свои данные и получать вознаграждение за создание контента. Это создает более справедливую экосистему для создателей контента.</p>
  <h2 id="lkV1">Заключение</h2>
  <p id="OhxW">Web 3.0 представляет собой захватывающую эволюцию интернета, которая обещает изменить способ, которым мы взаимодействуем с данными и друг с другом. С децентрализацией, семантическим вебом и новыми технологиями, такими как умные контракты и NFT, Web 3.0 открывает новые возможности для разработчиков и пользователей. Переход к децентрализованному интернету может занять время, но его потенциал для изменения нашего цифрового опыта неоспорим.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@pravda777/N0bYZP4nd5q</guid><link>https://teletype.in/@pravda777/N0bYZP4nd5q?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=pravda777</link><comments>https://teletype.in/@pravda777/N0bYZP4nd5q?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=pravda777#comments</comments><dc:creator>pravda777</dc:creator><title>Что такое даркнет.</title><pubDate>Mon, 11 Nov 2024 16:35:53 GMT</pubDate><description><![CDATA[Сегодня уже каждая собака &quot;знает&quot;, что такое даркнет. Но большинство обывателей на самом деле имеет весьма ограниченное и поверхностное представление об этом явлении.]]></description><content:encoded><![CDATA[
  <p id="oXsc">Сегодня уже каждая собака &quot;знает&quot;, что такое даркнет. Но большинство обывателей<a href="https://t.me/+xUVDfe3fms9jNzcy" target="_blank"> на с</a>амом деле имеет весьма ограниченное и поверхностное представление об этом явлении.</p>

]]></content:encoded></item></channel></rss>