<?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>3asyPe</title><generator>teletype.in</generator><description><![CDATA[Web2/Web3 Python Developer

Telegram - https://t.me/easypeoff
GitHub - https://github.com/3asyPe]]></description><image><url>https://img4.teletype.in/files/b7/51/b751846d-02b2-412d-99b8-185a4b34a597.png</url><title>3asyPe</title><link>https://teletype.in/@easypeoff</link></image><link>https://teletype.in/@easypeoff?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=easypeoff</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/easypeoff?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/easypeoff?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Thu, 28 May 2026 18:18:25 GMT</pubDate><lastBuildDate>Thu, 28 May 2026 18:18:25 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@easypeoff/scroll-automation</guid><link>https://teletype.in/@easypeoff/scroll-automation?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=easypeoff</link><comments>https://teletype.in/@easypeoff/scroll-automation?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=easypeoff#comments</comments><dc:creator>easypeoff</dc:creator><title>Scroll Automation инструкция к использованию</title><pubDate>Fri, 22 Mar 2024 17:09:16 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/8a/9c/8a9c762e-5cf8-4a2a-9674-27bfeb45f5b7.png"></media:content><description><![CDATA[<img src="https://img1.teletype.in/files/4c/70/4c70dfe5-b9c3-45fa-a579-2b023a08965a.png"></img>Автор статьи - https://t.me/easypeoff]]></description><content:encoded><![CDATA[
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <blockquote id="fidc">Автор статьи - <a href="https://t.me/easypeoff" target="_blank">https://t.me/easypeoff</a></blockquote>
  </section>
  <section style="background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <blockquote id="UI66">Софт - <a href="https://github.com/3asyPe/scroll-automation" target="_blank">https://github.com/3asyPe/scroll-automation</a></blockquote>
  </section>
  <p id="COc5">Ретродропы уже давно никто не крутит руками, и я - не исключение. Однако большинство софтов не подходят для полной автоматизации процесса (okx -&gt; мост на выбор -&gt; модули с отличной рандомизацией и хорошей отказоустойчивостью -&gt; мост на выбор -&gt; okx). </p>
  <p id="K7BI">Поэтому было принято решение дописать уже имеющиеся решения до приемлемого уровня автоматизации, а также добавить недостающие модули.</p>
  <p id="o35D">За основу был взят <a href="https://github.com/czbag/scroll" target="_blank"><strong>софт от SybilWave</strong></a></p>
  <section style="background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="8bWG" data-align="center"><strong>❗️При возникновении проблем, напомню, я не техническая поддержка и писать мне в личку не стоит. Я скорее всего не отвечу.</strong></p>
    <p id="d7iv" data-align="center"><strong> Сначала стоит сделать поиск в Google, потом в ChatGPT, потом поиск по нашему <a href="https://t.me/easypechat" target="_blank">чату</a> и только потом задавать вопрос там же, если проблема до сих пор не решилась</strong></p>
  </section>
  <p id="Eb4A"></p>
  <hr />
  <figure id="Om1q" class="m_column">
    <img src="https://img1.teletype.in/files/4c/70/4c70dfe5-b9c3-45fa-a579-2b023a08965a.png" width="887" />
  </figure>
  <section style="background-color:hsl(hsl(24,  24%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="qAOm">Навигация по гайду</h2>
  </section>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="mnv7"><a href="#nMTD"><strong>1 - Возможности софта</strong></a></p>
    <p id="7Mcv"><a href="#iNjR"><strong>2 - Установка</strong></a></p>
    <p id="BYpD"><a href="#9e7x"><strong>3 - Общие настройки</strong></a></p>
    <p id="1KFU"><a href="#hzuH"><strong>4 - Настройки модулей</strong></a></p>
    <p id="sI3g"><a href="#v3nG"><strong>5 - Автоматизация</strong></a></p>
    <p id="62Nq"><strong><a href="#j1Yp">6 - Настройки автоматизации</a></strong></p>
    <p id="YIQW"><strong><a href="#7lth">7 - Запуск</a></strong></p>
    <p id="bfoI"><a href="/@easypeoff/twitter-farm#rXcU"><strong>8 - Подписаться на меня (Опционально) </strong></a></p>
  </section>
  <p id="nmJ9"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="nMTD">Возможности софта</h2>
  </section>
  <p id="S01h"><strong>Доступные модули</strong></p>
  <p id="e6ql">1. OKX</p>
  <p id="3Fdq">2. Bridge using Orbiter/Nitro/Layerswap or Native</p>
  <p id="UC3l">3. Wrap/Unwrap ETH</p>
  <p id="wuUI">4. Mint Zerius NFT</p>
  <p id="Ba6I">5. Mint any NFT from Nfts2me</p>
  <p id="92ZH">6. Mint ZKStars NFT</p>
  <p id="UV4a">7. Mint L2Pass</p>
  <p id="IuK7">8. Mint and Bridge l2telegraph NFT</p>
  <p id="6GaD">9. Send message l2telegraph</p>
  <p id="Nxn5">10. Deposit and withdraw on Aave and LayerBank</p>
  <p id="v8qj">11. Swaps on Skydrome, SyncSwap, Zebra, XYSwap</p>
  <p id="glKc">12. Create Omnisea Collection</p>
  <p id="3b8X">13. Vote on RubyScore</p>
  <p id="Qi9y">14. Deploy custom contracts</p>
  <p id="pyGW">15. Dmail</p>
  <p id="fXUm">16. Mint Scroll Origin NFT</p>
  <p id="kJ5z"><strong>Ручной режим</strong></p>
  <p id="FULO">Вы можете запустить любой из перечисленных модулей на все аккаунты</p>
  <p id="Juut"><strong>Автоматический режим</strong></p>
  <p id="BEwV">При запуске появляется как отдельный модуль, но является отдельной частью софта и настраивается отдельно.</p>
  <p id="3TKK">Данный режим позволяет прогонять все модули в автоматическом режим. Вы выбираете какие модули и в каком количестве вы хотите, а софт сам их запускает в рандомном режиме.</p>
  <p id="codG">Софт умный, он сам выбирает токены, суммы и модули. </p>
  <p id="fRgU"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="iNjR">Установка</h2>
  </section>
  <p id="ZbUQ"><strong>1</strong> - Установите Python <u>3.9 или выше</u></p>
  <p id="wZ7d"><strong>2</strong> - Скачайте проект:</p>
  <p id="R3kA"><strong>С помощью git:</strong></p>
  <pre id="TVYw">git clone git@github.com:3asyPe/scroll-automation.git</pre>
  <p id="m40d"><strong>Или путем обычного скачивания zip:</strong></p>
  <p id="i28e">Перейдите в <a href="https://github.com/3asyPe/twitter-automation" target="_blank"><strong>репозиторий софта</strong></a> -&gt; зеленая кнопка code -&gt; Download ZIP</p>
  <figure id="EcqJ" class="m_column">
    <img src="https://img3.teletype.in/files/6d/08/6d08e340-4da2-4d7e-a70d-6db889af2e5c.png" width="804" />
  </figure>
  <p id="SsyI"><strong>3</strong> - Перейти в директорию проекта в консоли (PowerShell для пользователей windows)</p>
  <pre id="9Jug">cd &lt;путь куда вы скачали проект&gt;</pre>
  <p id="IpY1">Пример для Windows:</p>
  <pre id="SsHT">cd D:/scroll-automation</pre>
  <p id="nwR7">Пример для Mac/Linux:</p>
  <pre id="Gqvf">cd ~/scroll-automation</pre>
  <p id="HTwx"><strong>4 </strong>- Установите зависимости</p>
  <h3 id="fsD7"><strong>Способ 1</strong></h3>
  <p id="XTOb">- Создать виртуальное окружение</p>
  <pre id="px7C">python -m venv venv</pre>
  <p id="N9fV">- Активировать виртуальное окружение (нужно будет делать каждый раз перед запуском софта)</p>
  <p id="68K2">Для пользователей Windows:</p>
  <pre id="e7qk">venv/Scripts/activate</pre>
  <p id="ERJc">Для пользователей Mac и linux:</p>
  <pre id="GzHV">source venv/Scripts/activate</pre>
  <p id="ll95">- Установить зависимости</p>
  <pre id="3yBG">pip install -r requirements.txt</pre>
  <h3 id="fndw">Способ 2</h3>
  <p id="b1aO">- Установить <strong><a href="https://python-poetry.org/docs/" target="_blank">poetry</a></strong></p>
  <p id="TRsm">- Активировать виртуальное окружение (нужно будет делать каждый раз перед запуском софта)</p>
  <pre id="axD3">poetry shell</pre>
  <p id="cX2N">- Установить зависимости</p>
  <pre id="FkP9">poetry install</pre>
  <p id="79QE"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="9e7x">Общие настройки</h2>
  </section>
  <p id="weEO"><u>Приватные ключи вписывать в data/wallets.txt</u></p>
  <p id="TuBj"><u>OKX адреса вписывать в data/okx_addresses.txt</u></p>
  <p id="CbF1">Основные настройки находятся в файле settings.py. Пройдемся быстро по ним:</p>
  <p id="MJvx"><em>LAYERSWAP_API_KEY - </em>если собираетесь использовать этот мост, то создайте API ключ у них на сайте и вставьте сюда</p>
  <p id="Kw5I"><em>ENABLE_ERROR_TRACEBACK</em> - включить Traceback при возникновении ошибок. Нужен в основном для дебага. Если у вас возникает ошибка и вы хотите скинуть ее в <a href="https://t.me/easypechat" target="_blank">чат</a> с вопросом почему, то включение этой настройки обязательно</p>
  <p id="QCjV"><em>RANDOM_WALLET</em> - кошельки будут запускаться в рандомном порядке</p>
  <p id="3m9f"><em>RETRIES</em> - количество попыток при возникновении ошибки</p>
  <p id="MAkN"><em>RETRY_DELAY_MIN</em> - минимальная задержка перед следующей попыткой</p>
  <p id="f5Rn"><em>RETRY_DELAY_MAX</em> - максимальная задержка перед следующей попыткой</p>
  <p id="R3aL"><em>SLEEP_MIN</em> - минимальная задержка перед выполнением следующего модуля в автоматическом режиме</p>
  <p id="V1Jx"><em>SLEEP_MAX</em> - максимальная задержка перед выполнением следующего модуля в автоматическом режиме</p>
  <p id="H2aZ"><em>MIN_SLEEP_BEFORE_ACCOUNT_START</em> - минимальная задержка перед запуском следующего аккаунта</p>
  <p id="LkZt"><em>MAX_SLEEP_BEFORE_ACCOUNT_START</em> - максимальная задержка перед запуском следующего аккаунта</p>
  <p id="9VYH"><em>CHECK_GWEI</em> - дожидаться ли пока упадет gwei в сети Ethereum до значения <em>MAX_GWEI</em></p>
  <p id="blZG"><em>MAX_GWEI</em> - максимальный gwei при котором делать транзакции</p>
  <p id="MsFY"><em>THREADS</em> - количество потоков</p>
  <p id="ojsq"><em>GAS_MULTIPLIER</em> - умножение газа, просчитанного для выполнения транзакции, чтобы она не фейлилась</p>
  <p id="GT1r"><em>MIN_ALL_AMOUNT_ETH_PERCENT</em> - минимальное значение в процентах при использовании настройки all_amount (об этом позже)</p>
  <p id="guRZ"><em>MAX_ALL_AMOUNT_ETH_PERCENT</em> - максимальное значение в процентах при использовании настройки all_amount (об этом позже)</p>
  <p id="qkFp"><em>BRIDGE_FEES</em> - настройка комиссии для мостов. Нужно менять при желании бриджить всю сумму</p>
  <p id="tBoA"><em>OKX_CREDENTIALS</em> - данные API ключа OKX</p>
  <p id="XJdZ"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="hzuH">Настройки модулей</h2>
  </section>
  <p id="4tqs">Все настройки модулей производятся в modules_settings.py в переменной MODULES_CONFIG</p>
  <p id="pOGi">Каждый модуль, который требует настройки, настраивается отдельно. <u>Но не все настройки влияют на его выполнение при работе в автоматическом режиме</u>. Например при свапах не влияет выбранный amount, токен или при бридже выбранные сети. Это все настраивается отдельно в модуле автоматизации (об этом позже).</p>
  <p id="xcen">Пройдемся по ключевым модулям, которые послужат примерами. <u>Остальные модули настраиваются также и везде есть комментарии, объясняющие за что отвечает та или иная настройка.</u></p>
  <section style="background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="E0hz"><strong><a href="#JITJ">1 - OKX Withdraw</a></strong></p>
    <p id="z6hW"><strong><a href="#lDfC">2 - OKX Deposit</a></strong></p>
    <p id="x7Gm"><a href="#4uiB"><strong>3 - Native Bridge в Scroll</strong></a></p>
    <p id="PYsf"><a href="#SvTL"><strong>4 - Orbiter Bridge</strong></a></p>
    <p id="6jwL"><strong><a href="#tyzz">5 - Swap Skydrome</a></strong></p>
    <p id="nQKJ"><strong><a href="#mTCa">6 - Остальное</a></strong></p>
  </section>
  <p id="JITJ"><strong>OKX Withdraw</strong></p>
  <p id="aghn">Модуль для вывода токенов <u>С OKX НА EVM</u> </p>
  <figure id="9ejF" class="m_column">
    <img src="https://img4.teletype.in/files/ff/07/ff073619-f0bf-4934-a4de-855933be0236.png" width="1016" />
  </figure>
  <p id="BjpM"><u>В ручном режиме используются все настройки. В автоматическом, все, кроме dst_chain</u></p>
  <p id="YxWL">dst_chain - сеть, куда вы хотите вывести</p>
  <p id="lQMu">min_amount - минимальное количество токенов для вывода</p>
  <p id="NiRD">max_amount - максимальное количество токенов для вывода</p>
  <p id="UcLt">token - токен, который вы хотите вывести</p>
  <p id="FA1i">transfer_from_subaccounts - софт сначала проверит суб-аккаунты OKX на наличие баланса и переведет его на основной аккаунт, а только потом выведет</p>
  <p id="hatj">credentials - ваш OKX API ключ (настраивается в settings.py)</p>
  <p id="lDfC"><strong>OKX Deposit</strong></p>
  <p id="0mvX">Модуль для вывода токенов <u>С EVM НА OKX</u> </p>
  <figure id="sCud" class="m_column">
    <img src="https://img3.teletype.in/files/e6/c6/e6c6b419-4a6e-4989-b249-7ba9aae31472.png" width="980" />
  </figure>
  <p id="4WT4"><u>В ручном режиме используются все настройки. В автоматическом, все, кроме src_chain</u></p>
  <p id="kBnB">src_chain - сеть, откуда вы хотите вывести</p>
  <p id="VmC6">min_amount_left - минимальное количество токенов ETH, которые вы хотите <u>ОСТАВИТЬ</u></p>
  <p id="dQ8C">max_amount_left - максимальное количество токенов ETH, которые вы хотите <u>ОСТАВИТЬ</u></p>
  <p id="VxWD">credentials - ваш OKX API ключ. (настраивается в settings.py)</p>
  <p id="4uiB"><strong>Native Bridge в Scroll</strong></p>
  <p id="1xAA">Модуль для бриджа токенов из сети Ethereum в Scroll</p>
  <figure id="33Pl" class="m_column">
    <img src="https://img3.teletype.in/files/28/8c/288c6745-59f7-468b-9b34-bda058407f7c.png" width="806" />
  </figure>
  <p id="nK64"><u>И в ручном, и в автоматическом режиме используются все настройки данного модуля</u></p>
  <p id="PqlX">min_amount - минимальное количество токенов ETH, которые вы хотите перевести</p>
  <p id="zAC8">max_amount - максимальное количество токенов ETH, которые вы хотите перевести</p>
  <p id="tc8S">decimal - до скольки цифр после запятой округлять рандомное значение amount</p>
  <p id="OfvK">all_amount - игнориует min_amount и max_amount и переводит от min_percent до max_percent от всего баланса</p>
  <p id="gFGD">min_percent - минимальный процент для перевода при использовании настройки all_amount</p>
  <p id="0xIV">max_percent - максимальный процент для перевода при использовании настройки all_amount</p>
  <p id="SvTL"><strong>Native Bridge из Scroll</strong></p>
  <p id="1xUv">Модуль для бриджа токенов из сети Scroll в Ethereum через нативный мост</p>
  <figure id="zmwI" class="m_column">
    <img src="https://img2.teletype.in/files/90/51/9051119a-506a-41fe-92b3-c29b3ec9e349.png" width="806" />
  </figure>
  <p id="FznE"><u>В ручном режиме используются все настройки модуля, в автоматическом только decimal</u></p>
  <p id="yVL9">min_amount - минимальное количество токенов ETH, которые вы хотите перевести</p>
  <p id="LflG">max_amount - максимальное количество токенов ETH, которые вы хотите перевести</p>
  <p id="qNcV">decimal - до скольки цифр после запятой округлять рандомное значение amount</p>
  <p id="aSNN">all_amount - игнориует min_amount и max_amount и переводит min_percent до max_percent от всего баланса</p>
  <p id="7BiL">min_percent - минимальный процент для перевода при использовании настройки all_amount</p>
  <p id="SnvS">max_percent - максимальный процент для перевода при использовании настройки all_amount</p>
  <p id="M0hv"><u>В автоматическом режиме скрипт выбирает сумму вывода опираясь на другие параметры (об этом позже)</u></p>
  <p id="6HpF"><strong>Orbiter Bridge</strong></p>
  <p id="zxTm">Модуль для бриджа токенов через Orbiter</p>
  <figure id="xM2a" class="m_column">
    <img src="https://img3.teletype.in/files/e9/94/e9942a72-84a6-41d2-b265-76e6eaf5f1a3.png" width="810" />
  </figure>
  <p id="PfZ2"><u>В ручном режиме используются все настройки модуля, в автоматическом игнорируются from_chain и to_chain</u></p>
  <p id="8V4O">from_chain - сеть из которой перевести деньги. На выбор: ethereum/arbitrum/optimism/zksync/base/scroll/linea</p>
  <p id="WEEq">to_chain - сеть в которую перевести деньги. На выбор: ethereum/arbitrum/optimism/zksync/base/scroll/linea</p>
  <p id="zjR1">min_amount - минимальное количество токенов ETH, которые вы хотите перевести</p>
  <p id="GBYQ">max_amount - максимальное количество токенов ETH, которые вы хотите перевести</p>
  <p id="czGl">decimal - до скольки цифр после запятой округлять рандомное значение amount</p>
  <p id="WZsY">all_amount - игнориует min_amount и max_amount и переводит от min_percent до max_percent от всего баланса</p>
  <p id="flhL">min_percent - минимальный процент для перевода при использовании настройки all_amount</p>
  <p id="rAJK">max_percent - максимальный процент для перевода при использовании настройки all_amount</p>
  <p id="UZAY"><u>В автоматическом режиме скрипт выбирает сети опираясь на другие параметры (об этом позже)</u></p>
  <p id="tyzz"><strong>Swap Skydrome</strong></p>
  <p id="dYgD">Модуль для свапа токенов через SkyDrome</p>
  <figure id="dPN5" class="m_column">
    <img src="https://img1.teletype.in/files/86/51/8651906a-d45f-424b-908b-92ef952b326b.png" width="878" />
  </figure>
  <p id="rTKt"><u>В ручном режиме используются все настройки модуля, в автоматическом игнорируются from_chain и to_chain</u></p>
  <p id="KtQz">from_token - токен, который нужно поменять (свапнуть). На выбор: ETH/USDC</p>
  <p id="Diib">to_token - токен, на который нужно поменять. На выбор: ETH/USDC</p>
  <p id="bhhd">min_amount - минимальное количество токенов ETH, которые вы хотите перевести</p>
  <p id="xCKM">max_amount - максимальное количество токенов ETH, которые вы хотите перевести</p>
  <p id="wsKn">decimal - до скольки цифр после запятой округлять рандомное значение amount</p>
  <p id="GjIN">all_amount - игнориует min_amount и max_amount и переводит от min_percent до max_percent от всего баланса</p>
  <p id="WjHv">min_percent - минимальный процент для перевода при использовании настройки all_amount</p>
  <p id="0wWW">max_percent - максимальный процент для перевода при использовании настройки all_amount</p>
  <p id="jlAI">slippage - проскальзывание</p>
  <p id="YSyq"><u>В автоматическом режиме скрипт выбирает токены и суммы опираясь на другие параметры (об этом позже)</u></p>
  <p id="mTCa"><strong>Остальное</strong></p>
  <p id="Q6jc">Остальные модули настраиваются по тому же принципу. Читайте внимательно комментарии и смотрите на примеры выше</p>
  <p id="FfCT"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="v3nG"><strong>Автоматизация</strong></h2>
  </section>
  <p id="wxPB">Главная цель модуля автоматизации - позволить пользователям один раз настроить скрипт, запустить и не беспокоиться о своих аккаунтах долгое время.</p>
  <p id="WPdK">Достигается цель путем рандомизации модулей с предварительными и последующими выводами с OKX и мостами на выбор. Получается следующая схема:</p>
  <p id="uXG1">OKX (если включен) -&gt; Ethereum/Arbitrum/Optimism/ZkSync/Base/Linea -&gt; Мост (если включен) Native/Orbiter/Nitro/LayerSwap -&gt; Scroll основные модули (конкретнее далее) -&gt; Мост (если включен) Native/Orbiter/Nitro/LayerSwap -&gt; Ethereum/Arbitrum/Optimism/ZkSync/Base/Linea -&gt; OKX (если включен)</p>
  <section style="background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="HS6X"><a href="#FNed"><strong>1 - Как работает Withdraw и Deposit OKX?</strong></a></p>
    <p id="yyYx"><a href="#WcDA"><strong>2 - Как работают мосты?</strong></a></p>
    <p id="kU5o"><strong><a href="#KDU9">3 - Как работает рандомизация основных модулей (не обязательно к прочтению)?</a></strong></p>
    <p id="Qc0D">    <strong><a href="#1Jzt">4 - AutomaticModules.swaps</a></strong></p>
    <p id="CTdP">    <strong><a href="#sQty">5 - AutomaticModules.wrap_unwrap_eth</a></strong></p>
    <p id="FK7U">    <strong><a href="#gL3R">6 - AutomaticModules.aave и AutomaticModules.layerbank</a></strong></p>
    <p id="ixSc">    <a href="#8ZBK"><strong>7 - Остальные модули</strong></a></p>
  </section>
  <p id="FNed"><strong>Как работает Withdraw и Deposit OKX?</strong></p>
  <p id="0j2A">Данные модули можно, также как и остальные, включать и выключать, но их особенность в том, что они идут первым и последним соответственно, и только один раз.</p>
  <p id="Zvx4"><em>AutomaticModules.okx_withdraw -</em>берет сеть, из которой будет бридж<em>AutomaticModules.bridge_in</em>, и выводит туда сумму и токен, указанную в настройках модуля <em>MODULES_NAMES.okx_withdraw</em></p>
  <p id="5Zgv"><em>AutomaticModules.okx_deposit</em><strong> - </strong>берет сеть, в которую бриджил токены<em>AutomaticModules.bridge_out</em>, и выводит оттуда ETH так, чтобы осталось не менее, чем указано в настройках модуля <em>MODULES_NAMES.okx_deposit</em></p>
  <p id="WcDA"><strong>Как работают мосты?</strong></p>
  <p id="SaeY">Данные модули, также как и остальные, включать и выключать, но их особенность в том, что они идут после OKX Withdraw перед основными модулями, и перед OKX Deposit после основных модулей, и только один раз.</p>
  <p id="nqD8"><em>AutomaticModules.bridge_in</em> - позволяет выбрать, какой мост использовать и из какой сети выводить токены</p>
  <p id="tect"><em>AutomaticModules.bridge_out</em> - позволяет выбрать, какой мост использовать и в какую сеть выводить токены</p>
  <p id="KDU9"><strong>Как работает рандомизация основных модулей (не обязательно к прочтению)?</strong></p>
  <p id="K0D1">В автоматизации были предусмотрены саб-модули. В случае простых модулей, таких как mint нфт или, например, Dmail - это тоже самое, что и обычный модуль, но есть и более сложные модули - Свапы, лендинги, wrap/unwrap.</p>
  <p id="2shN">Каждый модуль имеет параметр <em>quantity -</em> сколько раз его выполнить. </p>
  <p id="M687">В начале запуска модуля скрипт генерирует список всех саб-модулей, добавляя в него модули в количестве соответствующему количеству транзакций, которые будут выполнены в данном модуле. Далее скрипт запускает эти саб-модули, удаляя записи из списка.</p>
  <p id="ZrPa">Таким образом, реализуется отличная рандомизация, при которой шанс того, что модули будут много раз повторяться, уменьшается.</p>
  <p id="1Jzt"><strong>AutomaticModules.swaps</strong></p>
  <p id="43Pr">Этот модуль позволяет автоматизировать свапы.</p>
  <p id="FkgD">Модуль работает по алгоритму, который сам выбирает токены и включенные свапалки.</p>
  <p id="OVzA">Скрипт выполняет от 2 до любого количества свапов, деля их на группы. Таким образом может выполниться, к примеру, сначала 2 свапа, потом еще 2 и в конце 3, вместо 8 сразу. </p>
  <p id="DhDk">Каждый раз скрипт будет пытаться вернуть всю сумму в ETH, чтобы остальные модули могли с эффективностью использовать токены.</p>
  <p id="sQty"><strong>AutomaticModules.wrap_unwrap_eth</strong></p>
  <p id="Atej">Модуль для wrap&#x27;ов и unwrap&#x27;ов.</p>
  <p id="qiP3">Особенность данного модуля в том, что он попытается врапнуть ETH, а если не выйдет, то пропустит unwrap. </p>
  <p id="3y9a">Если не удался unwrap, то запишет, что сделал только wrap, и потом попытается еще раз анврапнуть.</p>
  <p id="gL3R"><strong>AutomaticModules.aave и AutomaticModules.layerbank</strong></p>
  <p id="SxIJ">Модули для использования лендинг сервисов - основные пути набивания объема.</p>
  <p id="5G8j">Особенность данных модулей в том, что они попытаются депозитнуть ETH, а если не выйдет, то пропустит withdraw. </p>
  <p id="O8eT">Если не удался withdraw, то запишет, что сделал только deposit, и потом попытается еще раз сделать withdraw.</p>
  <p id="8ZBK"><strong>Остальные модули</strong></p>
  <p id="adLJ">Некоторые из оставшихся модулей также имеют свои особенности, но в основном это просто запуск своей основной функции.</p>
  <p id="746d"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="j1Yp">Настройки автоматизации</h2>
  </section>
  <p id="Sxp7">Автоматизация - отдельный модуль, у которого есть отдельный настройки.</p>
  <p id="e5MH">Модуль может сам выбирать токены, суммы и сети опираясь на собственные настройки, не обращая внимания на настройки отдельных модулей.</p>
  <p id="Qdfc">Все настройки находятся в переменной AUTOMATIC_CONFIG в файле modules_settings.py</p>
  <section style="background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="VE5s"><strong><a href="#pVeP">1 - Основные настройки</a></strong></p>
    <p id="nNwt"><strong><a href="#9JKe">2 - OKX Withdraw</a></strong></p>
    <p id="XLoN"><a href="#KRRL"><strong>3 - OKX Deposit</strong></a></p>
    <p id="cx84"><a href="#Ei8o"><strong>4 - Минимальные балансы</strong></a></p>
    <p id="iu7U"><a href="#7SVa"><strong>5 - AutomaticModules.bridge_in</strong></a></p>
    <p id="K9T5"><strong><a href="#Aaz8">6 - AutomaticModules.bridge_out</a></strong></p>
    <p id="RG2X"><a href="#vZuA"><strong>7 - AutomaticModules.swaps</strong></a></p>
    <p id="sIf4"><strong><a href="#e3ih">8 - AutomaticModules.wrap_unwrap_eth</a></strong></p>
    <p id="Vz5x"><strong><a href="#x5lR">9 - AutomaticModules.send_email</a></strong></p>
    <p id="yb2k"><strong><a href="#bcjR">10 - Остальные модули</a></strong></p>
    <p id="wXu4"><strong><a href="#q7wf">11 - Включение и выключение модулей</a></strong></p>
  </section>
  <p id="pVeP"><strong>Основные настройки</strong></p>
  <p id="N7ja">sleep_at_start - засыпать ли скрипту после <em>AutomaticModules.bridge_in</em>, перед началом выполнения модулей</p>
  <p id="ssvR">swap_all_tokens_to_eth_before_withdraw - после выполнения всех модулей и перед <em>AutomaticModules.bridge_out</em> свапнуть все токены в ETH</p>
  <p id="SIHr">skip_if_failed - Если саб-модуль фейлится, после всех ретраев скрипт засчитает его как сделанный. Лучше ставить True, иначе, если что-то не так с модулем, скрипт может застрять, постоянно пытаясь сделать данный модуль</p>
  <p id="9JKe"><strong>OKX Withdraw</strong></p>
  <p id="PY1H">okx_withdraw_enabled - включение вывода с OKX на EVM</p>
  <p id="RomU">Amount и токен настраиваются в MODULES_CONFIG в MODULES_NAMES.okx_withdraw</p>
  <p id="s4eQ">Сеть берется из <em>AutomaticModules.bridge_in</em></p>
  <p id="KRRL"><strong>OKX Deposit</strong></p>
  <p id="6JvS">okx_deposit_enabled - включение вывода с EVM на OKX</p>
  <p id="RdPc">Amount left (сколько оставить в сети) настраивается в MODULES_CONFIG в MODULES_NAMES.okx_deposit</p>
  <p id="fMrC">Сеть берется из <em>AutomaticModules.bridge_out</em></p>
  <p id="Ei8o"><strong>Минимальные балансы</strong></p>
  <p id="Pq3G">min_balance_eth - минимальный баланс в ETH. Всегда будет оставляться при свапах на комиссии</p>
  <p id="gaV4">min_balance_usdc - минимальный видимый баланс в usdc. Свапы не будут  использовать токен, если баланс ниже этого</p>
  <p id="BSWg">min_balance_usdt - минимальный видимый баланс в usdt. Свапы не будут  использовать токен, если баланс ниже этого</p>
  <p id="ukrH">min_balance_weth - минимальный видимый баланс в weth. Свапы не будут  использовать токен, если баланс ниже этого</p>
  <p id="Zpyo">min_amount_leave_on_scroll - минимальный баланс в ETH, который AutomaticModules.bridge_out оставит на scroll&#x27;е</p>
  <p id="eua0">max_amount_leave_on_scroll -максимальный баланс в ETH, который AutomaticModules.bridge_out оставит на scroll&#x27;е</p>
  <p id="7SVa"><strong>AutomaticModules.bridge_in</strong></p>
  <p id="hV2B">bridge_in_enabled - включает бридж в Scroll</p>
  <p id="OkNp">bridge_in_service - какой мост использовать. Варианты &quot;native&quot;, &quot;orbiter&quot;, &quot;layerswap&quot;, &quot;nitro&quot;</p>
  <p id="1a6P">bridge_in_chain - из какой сети делать мост. Включайте ту сеть, которую поддерживает мост. К примеру, Native поддерживает только Ethereum, поэтому при использовании его, вписываем сюда &quot;ethereum&quot; и так далее. ВАЖНО: Эта сеть будет использоваться при выводе с OKX, если OKX включен.</p>
  <p id="Aaz8"><strong>AutomaticModules.bridge_out</strong></p>
  <p id="nNbu">bridge_out_enabled - включает бридж из Scroll</p>
  <p id="zzDG">bridge_out_service - какой мост использовать. Варианты &quot;native&quot;, &quot;orbiter&quot;, &quot;layerswap&quot;, &quot;nitro&quot;</p>
  <p id="yTUX">bridge_out_chain - в какую сеть делать мост. Включайте ту сеть, которую поддерживает мост. К примеру, Native поддерживает только Ethereum, поэтому при использовании его, вписываем сюда &quot;ethereum&quot; и так далее. ВАЖНО: Эта сеть будет использоваться при выводе на OKX, если OKX включен.</p>
  <p id="vZuA"><strong>AutomaticModules.swaps</strong></p>
  <p id="9dMD">first_swap_from_eth - первый свап всегда будет из ETH. Я всегда ставлю эту настройку False, потому что софт и так будет делать свапы только из токенов с балансами, но может быть кому-то понадобится</p>
  <p id="OlaD">services - список свапалок, которые скрипт будет использовать</p>
  <p id="oyc0">min_quantity - сколько минимум раз выполнить модуль (в данном случае - минимум 2)</p>
  <p id="aoPb">max_quantity - сколько максимум раз выполнить модуль</p>
  <p id="brPA">decimal - до скольки цифр после запятой округлять рандомное значение amount</p>
  <p id="pNJD">min_amount - минимальная сумма ETH, на которую делать свап. Если будет больше баланса, то софт автоматически свапнет меньше</p>
  <p id="bWZe">max_amount - максимальная сумма ETH, на которую делать свап. Если будет больше баланса, то софт автоматически свапнет меньше</p>
  <p id="e3ih"><strong>AutomaticModules.wrap_unwrap_eth</strong></p>
  <p id="u76o">min_quantity - сколько минимум раз выполнить модуль. В данном случае 1 quantity = 2 транзакции (wrap и unwrap)</p>
  <p id="uGHl">max_quantity - сколько максимум раз выполнить модуль. В данном случае 1 quantity = 2 транзакции (wrap и unwrap)</p>
  <p id="x5lR"><strong>AutomaticModules.send_email</strong></p>
  <p id="ITAg">min_quantity - сколько минимум раз выполнить модуль</p>
  <p id="Vwsk">max_quantity - сколько максимум раз выполнить модуль</p>
  <p id="bcjR"><strong>Остальные модули</strong></p>
  <p id="XQ2c">Остальные модули настраиваются похожим образом. Читайте комментарии и никаких проблем возникнуть не должно</p>
  <p id="q7wf"><strong>Включение и выключение модулей</strong></p>
  <p id="A5ba">Модулям (всем, кроме <em>AutomaticModules.swaps</em>) можно поставить quantity 0, но проще включать и выключать модули в функции automatic в переменной modules. Это список включенных модулей. Модули можно удалить из данного списка или просто закомментировать</p>
  <figure id="7cHP" class="m_column">
    <img src="https://img2.teletype.in/files/d9/f7/d9f7e725-cbf6-4720-83c4-749638050cd0.png" width="710" />
  </figure>
  <p id="xbcw"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="7lth">Запуск</h2>
  </section>
  <p id="inSO">Чтобы запустить скрипт достаточно ввести команду</p>
  <p id="fgBZ"><code>python main.py</code></p>
  <p id="o0fd">У вас появится выбор модулей:<br /></p>
  <figure id="OSX3" class="m_column">
    <img src="https://img4.teletype.in/files/73/b2/73b29eb0-2e8e-4923-b8af-3fae37e273cd.png" width="756" />
  </figure>
  <p id="9h3X">Первым идет запуск автоматического режима</p>
  <p id="H4ib">Остальное - запуск конкретного модуля (ручной режим)</p>
  <p id="7Q1S"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="tvk9">Мои контакты</h2>
  </section>
  <p id="STkI"><strong><a href="https://t.me/easypeoff" target="_blank">Telegram канал</a></strong> - тут я пишу про новые статьи, новости и про выход нового софта</p>
  <p id="dPFt"><a href="https://t.me/easypechat" target="_blank"><strong>Наш чат</strong></a> - тут можно задать вопрос и и просто пообщаться</p>
  <p id="Nes2"><strong><a href="https://github.com/3asyPe" target="_blank">GitHub</a></strong> - тут я пишу код</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@easypeoff/notcoin-farm</guid><link>https://teletype.in/@easypeoff/notcoin-farm?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=easypeoff</link><comments>https://teletype.in/@easypeoff/notcoin-farm?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=easypeoff#comments</comments><dc:creator>easypeoff</dc:creator><title>NotCoin ферма с минимальными усилиями</title><pubDate>Mon, 08 Jan 2024 07:54:24 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/ed/ec/edec303f-e910-4116-a0a7-7bae28bef1d5.png"></media:content><category>Ферма для абуза</category><description><![CDATA[<img src="https://img4.teletype.in/files/7d/c9/7dc99841-8a4e-4a63-9e4b-43d3d7aa18af.png"></img>Автор статьи - https://t.me/easypeoff]]></description><content:encoded><![CDATA[
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <blockquote id="9zdz">Автор статьи - <a href="https://t.me/easypeoff" target="_blank">https://t.me/easypeoff</a></blockquote>
  </section>
  <p id="7aFg">NotCoin - новая игра в Telegram из экосистемы TON, набравшая 3 млн пользователей за 1 неделю. Вы явно уже про нее слышали.</p>
  <p id="GEXP">Написано уже не мало постов и статей по поводу того как эта игра приведет в мир крипты новую пачку хомяков, когда те за простые клики по кнопке получат какое-то количество центов или даже долларов. </p>
  <p id="eYPg"><strong>Но как получить больше?</strong></p>
  <p id="92Xk">В этой статье я напишу по пунктам самый эффективный и быстрый способ настройки и поддержки фермы в NotCoin.</p>
  <p id="XuHS"><strong>BTW, вот моя <a href="https://t.me/notcoin_bot?start=r_4_1661487" target="_blank">рефка</a></strong></p>
  <figure id="IjJT" class="m_column">
    <img src="https://img4.teletype.in/files/7d/c9/7dc99841-8a4e-4a63-9e4b-43d3d7aa18af.png" width="1920" />
  </figure>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="bgk6">Основы игры</h2>
  </section>
  <p id="1fOG">Я могу расписать все правила и базовые механики, но скорее всего вы и так их знаете. А если нет, то вот отличная статья на эту тему:</p>
  <p id="IJXm"><a href="https://teletype.in/@cryptocholy/research.notcoin" target="_blank">https://teletype.in/@cryptocholy/research.notcoin</a></p>
  <p id="27CN"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="mLKI">Основной аккаунт</h2>
  </section>
  <p id="b04s">Есть много вариантов как развивать основной аккаунт. Я сделал следующим образом:</p>
  <p id="bxuC">1) Ставите автокликер</p>
  <p id="LZSE"><strong>Если у вас Android</strong></p>
  <p id="UXpS">Подойдет любой автокликер из Google Play</p>
  <p id="CSph"><strong>Если у вас iOS или нет желания использовать основной телефон</strong></p>
  <p id="WR0R">Ставите на компьютер <a href="https://developer.android.com/studio" target="_blank">Android Studio</a> и <a href="https://developer.android.com/studio/run/emulator-launch-without-app" target="_blank">запускаете эмулятор</a>. </p>
  <p id="76ES">Ставите туда Telegram и любой автокликер из Google Play</p>
  <p id="dvaR">2) Прокликиваете все ракеты и восполнители энергии раз в день автокликером с задержкой между нажатиями 40-50 мс</p>
  <p id="tl0W">3) Запускаете автокликер с задержкой равной:</p>
  <p id="IjTn">Количество монет, что вы получаете за один клик / Количество энергии у вас восстанавливается за секунду</p>
  <p id="5r8C">Пример:</p>
  <p id="NzLh">У меня за один тап собирается 10 монет и восстанавливается 4 энергии в секунду, соответственно нужно поставить задержку на автоклик = 10 / 4 = 2.5 секунды</p>
  <p id="Nwzy"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="ywLn">Прокачка</h2>
  </section>
  <p id="2pK3">Для основного аккаунты имеет смысл прокачать:</p>
  <ul id="hUvl">
    <li id="LW1Z">MultiTap до 6 лвла (максимум 7)</li>
    <li id="mDT2">EnergyLimit до 6 лвла (максимум 7)</li>
    <li id="XLja">Recharging speed на максимум</li>
    <li id="xBZN">TapBot</li>
  </ul>
  <p id="iuIr">Дальше качаться слишком дорого. Вы будете слишком долго отбивать вложения.</p>
  <p id="st6g">Мультам Recharging Speed на максимум, все остальное на 1 уровень при использовании <a href="#qwcH">этой</a> стратегии</p>
  <p id="uSzv"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="qwcH">Ферма с минимальными усилиями</h2>
  </section>
  <p id="j146">Переходим к самому главному. Если у вас уже есть ферма Telegram аккаунтов, то на текущий момент этот подход является самым эффективным:</p>
  <p id="TDdB">Берем реферальную ссылку с нашего основного аккаунта и заходим по ней на все мульты по очереди. На каждом выполняем следующие действия:</p>
  <p id="ydxG">1) Прокачиваем все улучшения на 1 уровень</p>
  <p id="iJZf">2) Используем ракеты для того, чтобы набить 5000 монет. Нужно их именно накликать, а не получить от заданий</p>
  <p id="0EZm">3) Обновляем страницу, чтобы получить Silver лигу</p>
  <p id="8N0B">4) Заходим во вкладку Earn и выполняем все таски из Web3.</p>
  <p id="FPuf"><strong>Как выполнять таски</strong></p>
  <p id="BdLQ">Все, что связанно с тг - выполняете (подписки, зайти в чаты и т.д.). </p>
  <p id="fihn">Все что не связано (дискорды, твиттеры, посещение сайтов и т.д.) - нажимаете на задание и сразу закрываете открывшуюся таску. Там нет проверок действительно ли вы выполнили задание.</p>
  <p id="BuIX">5) Забираем награды за Web3 таски, Silver лигу, присоединение в сквад и первые 1000 монет.</p>
  <p id="rjON">6) Прокачиваем TapBot&#x27;а и Recharging speed на максимум</p>
  <p id="6Ovy"><strong>Как работает TabBot</strong></p>
  <p id="5eqM">Через 1 час после того как вы не заходили в NotCoin он начинает кликать 12 часов подряд.</p>
  <p id="VyA8"><u>Единственное улучшение, которое влияет на бота, это Recharging speed, поэтому его обязательно нужно вкачать на максимум</u></p>
  <p id="c08O">7) Заходим в NotCoin раз в 12-13 часов собрать награды. </p>
  <p id="jB7b">На данный момент за 12 полных часов  фарма это 172800 монет, то есть при идеальных таймингах за день вы будете собирать по 345600 монет на полном пассиве. </p>
  <p id="FZkY">Таким образом вы на основном аккаунте набьете себе рефералов, и будете собирать монеты без особых усилий со своих мультов, постепенно прокачивая их по лигам вверх. Чем выше лига, тем больше вы получаете за реферала.</p>
  <p id="hs5W"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="rXcU">Мои контакты</h2>
  </section>
  <p id="STkI"><strong><a href="https://t.me/easypeoff" target="_blank">Telegram канал</a></strong> - тут я пишу про новые статьи, новости и про выход нового софта</p>
  <p id="dPFt"><strong><a href="https://github.com/3asyPe" target="_blank">GitHub</a></strong> - тут я пишу код</p>
  <p id="mkuE"><strong><a href="https://teletype.in/@easypeoff" target="_blank">Другие мои статьи</a></strong></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@easypeoff/twitter-automation</guid><link>https://teletype.in/@easypeoff/twitter-automation?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=easypeoff</link><comments>https://teletype.in/@easypeoff/twitter-automation?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=easypeoff#comments</comments><dc:creator>easypeoff</dc:creator><title>Автоматическое управление Twitter фермой софтом</title><pubDate>Thu, 30 Nov 2023 22:38:39 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/91/6f/916f3089-1c1d-41d2-82f5-fef7d06d919e.png"></media:content><description><![CDATA[<img src="https://img1.teletype.in/files/4b/f4/4bf4bd1d-d53c-48dc-a82a-c6ebd2091567.png"></img>Автор статьи - https://t.me/easypeoff]]></description><content:encoded><![CDATA[
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <blockquote id="HGGh">Автор статьи - <a href="https://t.me/easypeoff" target="_blank">https://t.me/easypeoff</a></blockquote>
  </section>
  <section style="background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <blockquote id="e6Gh">Софт - <a href="https://github.com/3asyPe/twitter-automation" target="_blank">https://github.com/3asyPe/twitter-automation</a></blockquote>
  </section>
  <p id="uubm">В <strong><a href="https://teletype.in/@easypeoff/twitter-farm" target="_blank">этой статье</a></strong> мы разбирали как создавать ферму и управлять ей руками, тут разберем как автоматизировать ее управление.</p>
  <p id="9jKM">Для этого я буду использовать мой <a href="https://github.com/3asyPe/twitter-automation" target="_blank"><strong>бесплатный софт</strong></a></p>
  <p id="xO11">Для человека не знакомого с кодом, настройка будет довольно тяжелой, но значительно упростит вам жизнь :)</p>
  <p id="ShzH">Если возникают проблемы, можете написать в <a href="https://t.me/easypechat" target="_blank"><strong>наш чат</strong></a>, велик шанс, что вам помогут.</p>
  <section style="background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="e1QF">❗️<strong>Пользуйтесь софтом очень аккуратно, при слишком частых и повторяющихся действиях возможны массовые баны аккаунтов </strong></p>
  </section>
  <figure id="Rdbh" class="m_column">
    <img src="https://img1.teletype.in/files/4b/f4/4bf4bd1d-d53c-48dc-a82a-c6ebd2091567.png" width="1200" />
  </figure>
  <section style="background-color:hsl(hsl(24,  24%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="3OWS">Навигация по гайду</h2>
  </section>
  <section style="background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="n4Fm"><strong><a href="#goJS">1 - Возможности софта</a></strong></p>
    <p id="ci4O"><strong><a href="#Ms3Q">2 - Установка</a></strong></p>
    <p id="TqJP"><strong><a href="#0l0u">3 - Общие настройки</a></strong></p>
    <p id="UH5X"><strong><a href="#SfZ7">4 - Модуль подписок</a></strong></p>
    <p id="LPyM"><a href="#ECeR"><strong>5 - Модуль отписок</strong></a></p>
    <p id="gvJo"><a href="#rTcL"><strong>6 - Модуль твитов</strong></a></p>
    <p id="1hgh"><a href="#W9om"><strong>7 - Модуль лайков</strong></a></p>
    <p id="nIJP"><strong><a href="#cK2a">8 - Модуль ретвитов</a></strong></p>
    <p id="3w30"><strong><a href="#rXcU">9 - Подписка на меня (Опционально)</a></strong></p>
  </section>
  <p id="nQvi"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="goJS">Возможности софта</h2>
  </section>
  <p id="zidL">Следить за обновлениями можно <a href="https://t.me/easypeoff" target="_blank"><strong>здесь</strong></a></p>
  <p id="U87E">На данный момент софт может:</p>
  <p id="AgVU"><a href="#SfZ7"><strong>1 - Подписки</strong></a></p>
  <ul id="kU5Q">
    <li id="vamb">Подписать аккаунты на конкретного пользователя по @username</li>
    <li id="oX1M">Подписать аккаунты на пользователей из файла, состоящего из списка @username</li>
    <li id="iR1Z">Подписать аккаунты между собой</li>
  </ul>
  <p id="QQy0"><a href="#ECeR"><strong>2 - Отписки</strong></a></p>
  <ul id="kpPG">
    <li id="n25L">Отписать аккаунты от конкретного пользователя по @username</li>
    <li id="kv6V">Отписать аккаунты от пользователей из файла, состоящего из списка @username</li>
  </ul>
  <p id="YIH7"><a href="#rTcL"><strong>3 - Твиты</strong></a></p>
  <ul id="5vjg">
    <li id="E4Ch">Написать конкретный твит с каждого аккаунта (в консоли нужно будет вписать конкретный твит для конкретного аккаунта)</li>
    <li id="SrZJ">Написать рандомные твиты из файла сгенерированных заранее твитов</li>
  </ul>
  <p id="maVW"><strong><a href="#W9om">4 - Лайки</a></strong></p>
  <ul id="vpP3">
    <li id="CXTJ">Поставить лайк рандомным постам из файла</li>
  </ul>
  <p id="t06f"><strong><a href="#cK2a">5 - Ретвиты</a></strong></p>
  <ul id="LMQg">
    <li id="jLu1">Ретвитнуть рандомные посты из файла</li>
  </ul>
  <p id="mVGg">Также он поддерживает:</p>
  <ul id="8Psz">
    <li id="x76W">Асинхронный запуск (очень много аккаунтов сразу)</li>
    <li id="IHMr">Прокси под каждый аккаунт</li>
    <li id="4gJo">UserAgent (индетификатор браузера) под каждый аккаунт</li>
    <li id="GYOO">Если аккаунт банится, то софт об этом напишет и запишет в файл</li>
    <li id="fUIM">Все нужные задержки между запросами и попытками повторов</li>
  </ul>
  <p id="TAJJ"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="Ms3Q">Установка</h2>
  </section>
  <p id="ZbUQ"><strong>1</strong> - Установите Python <u>3.11 или выше</u></p>
  <p id="wZ7d"><strong>2</strong> - Скачайте проект:</p>
  <p id="R3kA"><strong>С помощью git:</strong></p>
  <pre id="vnCp">git clone git@github.com:3asyPe/twitter-automation.git</pre>
  <p id="m40d"><strong>Или путем обычного скачивания zip:</strong></p>
  <p id="i28e">Перейдите в <a href="https://github.com/3asyPe/twitter-automation" target="_blank"><strong>репозиторий софта</strong></a> -&gt; зеленая кнопка code -&gt; Download ZIP</p>
  <figure id="SJmp" class="m_retina">
    <img src="https://img4.teletype.in/files/fa/83/fa835135-bdc0-4213-8109-bc4458e7f2d3.png" width="399" />
  </figure>
  <p id="SsyI"><strong>3</strong> - Перейти в директорию проекта в консоли (PowerShell для пользователей windows)</p>
  <pre id="nmvB">cd &lt;путь куда вы скачали проект&gt;</pre>
  <p id="IpY1">Пример для Windows:</p>
  <pre id="el8B">cd D:/twitter-automation</pre>
  <p id="nwR7">Пример для Mac/Linux:</p>
  <pre id="7VUx">cd ~/twitter-automation</pre>
  <p id="HTwx"><strong>4 </strong>- Установите зависимости</p>
  <h3 id="fsD7"><strong>Способ 1</strong></h3>
  <p id="XTOb">- Создать виртуальное окружение</p>
  <pre id="k7nX">python -m venv venv</pre>
  <p id="N9fV">- Активировать виртуальное окружение (нужно будет делать каждый раз перед запуском софта)</p>
  <p id="68K2">Для пользователей Windows:</p>
  <pre id="mLak">venv/Scripts/activate</pre>
  <p id="ERJc">Для пользователей Mac и linux:</p>
  <pre id="eJm4">source venv/Scripts/activate</pre>
  <p id="ll95">- Установить зависимости</p>
  <pre id="5hb8">pip install -r requirements.txt</pre>
  <h3 id="fndw">Способ 2</h3>
  <p id="b1aO">- Установить <strong><a href="https://python-poetry.org/docs/" target="_blank">poetry</a></strong></p>
  <p id="TRsm">- Активировать виртуальное окружение (нужно будет делать каждый раз перед запуском софта)</p>
  <pre id="9aN4">poetry shell</pre>
  <p id="cX2N">- Установить зависимости</p>
  <pre id="zRKF">poetry install</pre>
  <p id="hjxj"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="0l0u">Общие настройки</h2>
  </section>
  <h3 id="2q6Y">config.py</h3>
  <blockquote id="19Yz">Файл с общими настройками скрипта.</blockquote>
  <figure id="xWNC" class="m_column">
    <img src="https://img1.teletype.in/files/4a/7d/4a7d332b-9b35-40dc-bef2-2842a87f4030.png" width="992" />
  </figure>
  <p id="xA2q"><em>PATH_TO_WRITE_SUSPENDED_ACCOUNTS</em> - путь к файлу, куда записывать suspended аккаунты</p>
  <p id="hKZz"><em>PATH_TO_WRITE_LOCKED_ACCOUNTS</em> - путь к файлу, куда записывать locked аккаунты</p>
  <p id="ZWJ8"><em>PATH_TO_WRITE_INVALID_TOKENS</em> - путь к файлу, куда записывать аккаунты с не валидным токеном авторизации</p>
  <p id="d0mu"><em>THREADS</em> - количество потоков (сколько аккаунтов делать одновременно)</p>
  <p id="0auU"><em>MIN_RETRIES</em> - минимальное количество попыток повторить запрос при ошибке</p>
  <p id="SjGy"><em>MAX_RETRIES</em> - максимальное количество попыток повторить запрос при ошибке</p>
  <p id="V2V9"><em>RANDOMIZE_ACCOUNTS</em> - Если True, то перемешать аккаунты, если False, оставить в той последовательности, как они записаны</p>
  <p id="WxUO"><em>MIN_RETRY_DELAY</em> - минимальная задержка между попытками повторных запросов</p>
  <p id="hUnA"><em>MAX_RETRY_DELAY</em> - максимальная задержка между попытками повторных запросов</p>
  <p id="V3Er"><em>MIN_SLEEP_BEFORE_NEXT_ACCOUNT</em> - сколько минимально ждать перед запуском следующего аккаунта в текущем потоке (<strong>рекомендуется ставить как можно больше</strong>)</p>
  <p id="t0ok"><em>MAX_SLEEP_BEFORE_NEXT_ACCOUNT</em> - сколько максимально ждать перед запуском следующего аккаунта в текущем потоке (<strong>рекомендуется ставить как можно больше</strong>)</p>
  <p id="jK0v"><em>MIN_SLEEP_BEFORE_NEXT_REQUEST</em> - сколько минимально ждать перед следующим запросом на текущем аккаунте (<strong>рекомендуется ставить как можно больше</strong>)</p>
  <p id="YRWH"><em>MAX_SLEEP_BEFORE_NEXT_REQUEST</em> - сколько максимально ждать перед следующим запросом на текущем аккаунте (<strong>рекомендуется ставить как можно больше</strong>)</p>
  <h3 id="qcR2">data/accounts.txt</h3>
  <blockquote id="c7zY">Файл с auth_token&#x27;ами от аккаунтов. Каждый токен с новой строки</blockquote>
  <p id="57bQ"><strong>Как получить токен от аккаунта</strong></p>
  <p id="HipU">1) Ставим расширение <a href="https://chromewebstore.google.com/detail/fngmhnnpilhplaeedifhccceomclgfbg?hl=en-GB&utm_source=ext_sidebar" target="_blank"><strong>EditThisCookie</strong></a></p>
  <p id="Ypkf">2) Заходим в твиттер</p>
  <p id="5Cgc">3) Нажимаем на расширение и копируем значение auth_token</p>
  <figure id="4Z7R" class="m_column">
    <img src="https://img2.teletype.in/files/99/d5/99d5b57b-c7ca-4c0f-a6eb-106c111f92cf.png" width="1094" />
  </figure>
  <h3 id="8mxn">data/proxies.txt</h3>
  <blockquote id="zd6N">Файл с прокси. Каждая прокси с новой строки по примеру из data/proxies.example.txt</blockquote>
  <h3 id="TvSP">data/user_agent.txt</h3>
  <blockquote id="IUGe">Файл с идентификаторами браузера (user agent)</blockquote>
  <p id="su3w"><strong>Как получить user_agent</strong></p>
  <p id="D0zF">Гуглите свой user_agent запросом, например my user agent</p>
  <p id="5yTh">Или </p>
  <p id="k5ki">Гуглите разные существующие user_agent&#x27;ы, и каждый раз исплользуете их для конкретных аккаунтов (как с прокси, 1 user_agent - 1 аккаунт)</p>
  <h3 id="VtWl">module_settings.py</h3>
  <p id="pQup">Файл для настройки конкретных модулей</p>
  <section style="background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="UOKk"><strong><a href="#SfZ7">Модуль подписок</a></strong></p>
    <p id="DFrj"><a href="#ECeR"><strong>Модуль отписок</strong></a></p>
    <p id="nxsg"><a href="#rTcL"><strong>Модуль твитов</strong></a></p>
  </section>
  <p id="B0mh"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="SfZ7">Модуль подписок</h2>
  </section>
  <p id="feEH">Модуль для массовых подписок. Существует 3 режима работы:</p>
  <p id="Gk6R"><strong>1 - Подписка на конкретного пользователя</strong></p>
  <p id="PARm">Пример работы:</p>
  <p id="dQu9">Вы запускаете пачку аккаунтов -&gt; все аккаунты подписываются на введенного вами в настройках пользователя</p>
  <p id="Hoor"><strong>2 - Подписка на пользователей из файла</strong></p>
  <p id="00GX">Пример работы:</p>
  <p id="1hNG">Вы вводите @username&#x27;ы пользователей в файл -&gt; запускаете пачку аккаунтов -&gt; аккаунты подписываются на 1 или нескольких пользователей (в зависимости от настроек) из файла</p>
  <p id="1NwG"><strong>3 - Подписка аккаунтов между собой</strong></p>
  <p id="eGBh">Пример работы:</p>
  <p id="5wnp">Вы запускаете пачку аккаунтов -&gt; аккаунт подписываются на 1 или несколько аккаунтов из запущенных вами (в зависимости от настроек)</p>
  <hr />
  <p id="Pjtp">Настраивается в module_settings.py в переменной MODULES_SETTINGS под ключом TwitterModulesNames.FOLLOW</p>
  <figure id="ZGgI" class="m_column">
    <img src="https://img2.teletype.in/files/db/88/db88f646-f0c3-4f5c-92d3-af37fe75f40c.png" width="1338" />
  </figure>
  <p id="zZsI"><em>mode</em> - На выбор 3 варианта:</p>
  <ul id="bNHI">
    <li id="t9LI">TwitterFollowModes.FOLLOW_ONE_USER - подписаться на одного пользователя по @username</li>
    <li id="YuCN">TwitterFollowModes.FOLLOW_USERS_FROM_FILE - подписаться на пользователей из файла, состоящего из списка @username&#x27;ов</li>
    <li id="Jj8T">TwitterFollowModes.FOLLOW_ACCOUNTS_BETWEEN_EACH_OTHER - подписать запущенные аккаунты между собой</li>
  </ul>
  <p id="IERU"><em>username</em> - если у вас выбран mode = TwitterFollowModes.FOLLOW_ONE_USER, то здесь указывается @username пользователя, на который нужно подписать аккаунты</p>
  <p id="7YVV"><em>users_file</em> - если у вас выбран mode = TwitterFollowModes.FOLLOW_USERS_FROM_FILE, то здесь указывается путь к файлу, состоящего из @username&#x27;ов пользователей, на которые нужно подписать аккаунты. Каждый @username с новой строки</p>
  <p id="JfwJ"><em>min_number_of_accounts</em> - если у вас выбран mode = TwitterFollowModes.FOLLOW_USERS_FROM_FILE или mode = TwitterFollowModes.FOLLOW_ACCOUNTS_BETWEEN_EACH_OTHER, то здесь указывается минимальное количество пользователей, на которое нужно подписать ваши аккаунты</p>
  <p id="PO7G"><em>max_number_of_accounts</em> - если у вас выбран mode = TwitterFollowModes.FOLLOW_USERS_FROM_FILE или mode = TwitterFollowModes.FOLLOW_ACCOUNTS_BETWEEN_EACH_OTHER, то здесь указывается максимальное количество пользователей, на которое нужно подписать ваши аккаунты</p>
  <p id="xom3"><em>all_accounts - </em>если у вас выбран mode = TwitterFollowModes.FOLLOW_USERS_FROM_FILE или mode = TwitterFollowModes.FOLLOW_ACCOUNTS_BETWEEN_EACH_OTHER, то если стоит значение True, софт подпишет аккаунты на всех пользователей, иначе только на рандомное значение от <em>min_number_of_accounts</em> до <em>max_number_of_accounts</em></p>
  <p id="nCxA"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="ECeR">Модуль отписок</h2>
  </section>
  <p id="IDcm">Модуль для массовых отписок. Существует 2 режима работы:</p>
  <p id="IVZi"><strong>1 - Отписка от конкретного пользователя</strong></p>
  <p id="m5D7">Пример работы:</p>
  <p id="PvEh">Вы запускаете пачку аккаунтов -&gt; все аккаунты отписываются от введенного вами в настройках пользователя</p>
  <p id="dIrp"><strong>2 - Отписка от пользователей из файла</strong></p>
  <p id="ewsO">Пример работы:</p>
  <p id="Shyi">Вы вводите @username&#x27;ы пользователей в файл -&gt; запускаете пачку аккаунтов -&gt; аккаунты отписываются от 1 или нескольких пользователей (в зависимости от настроек) из файла</p>
  <hr />
  <p id="MFmU">Настраивается в module_settings.py в переменной MODULES_SETTINGS под ключом TwitterModulesNames.UNFOLLOW</p>
  <figure id="NDCb" class="m_column">
    <img src="https://img2.teletype.in/files/df/52/df52e995-e872-4101-9aff-0ca390dc1a5f.png" width="1274" />
  </figure>
  <p id="eiWJ"><em>mode</em> - На выбор 2 варианта:</p>
  <ul id="bNHI">
    <li id="CMR6">TwitterUnfollowModes.UNFOLLOW_ONE_USER - отписаться от одного пользователя по @username</li>
    <li id="vlX7">TwitterUnfollowModes.UNFOLLOW_USERS_FROM_FILE - отписаться от пользователей из файла, состоящего из списка @username&#x27;ов</li>
  </ul>
  <p id="qXPq"><em>username</em> - если у вас выбран mode = TwitterUnfollowModes.UNFOLLOW_ONE_USER, то здесь указывается @username пользователя, от которых нужно отписать ваши аккаунты</p>
  <p id="EeZh"><em>users_file</em> - если у вас выбран mode = TwitterUnfollowModes.UNFOLLOW_USERS_FROM_FILE, то здесь указывается путь к файлу, состоящего из @username&#x27;ов пользователей, от которых нужно отписать ваши аккаунты. Каждый @username с новой строки</p>
  <p id="hpM4"><em>min_number_of_accounts</em> - если у вас выбран mode = TwitterUnfollowModes.UNFOLLOW_USERS_FROM_FILE, то здесь указывается минимальное количество пользователей, от которых нужно отписать ваши аккаунты</p>
  <p id="yyWj"><em>max_number_of_accounts</em> - если у вас выбран mode = TwitterUnfollowModes.UNFOLLOW_USERS_FROM_FILE, то здесь указывается максимальное количество пользователей, от которых нужно отписать ваши аккаунты</p>
  <p id="JaRu"><em>all_accounts - </em>если у вас выбран mode = TwitterUnfollowModes.UNFOLLOW_USERS_FROM_FILE, то если стоит значение True, софт отпишет аккаунты от всех пользователей, иначе только на рандомное значение от <em>min_number_of_accounts</em> до <em>max_number_of_accounts</em></p>
  <p id="Q5xc"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="rTcL">Модуль твитов</h2>
  </section>
  <p id="kTCq">Модуль для выставления публикаций. Существует 2 режима работы:</p>
  <p id="kc2q"><strong>1 - Твитнуть конкретный твит на конкретном аккаунте</strong></p>
  <p id="M6Lp">Пример работы:</p>
  <p id="BDZr">Вы запускаете пачку акаунтов -&gt; как только очередь доходит до какого-то из них, выведется лог с просьбой ввести твит</p>
  <figure id="HUhp" class="m_column">
    <img src="https://img2.teletype.in/files/59/89/5989a174-e872-4a3d-a123-244f604a2758.png" width="1140" />
  </figure>
  <p id="1daN"><strong>2 - Твитнуть рандомный твит из заранее написанных в файле. <u>Рекомендуется выставить как можно больше задержку между запросами (минимум несколько часов) и не выставлять слишком много твитов, чтобы не твитить слишком часто с одного аккаунта, иначе шанс бана крайне велик.</u></strong></p>
  <p id="i7BO">Пример работы:</p>
  <p id="nQ8b">Вы просите ChatGPT сгеренировать вам много различных твитов (например связанных с темой крипты) -&gt; вводите их в файл по примеру data/tweets.example.json -&gt; запускаете пачку акаунтов -&gt; софт постит рандомный твит или несколько (в зависимости от настроек) -&gt; (опционально, в зависимости от настроек) удаляет выложенный текст твита из файла</p>
  <hr />
  <p id="MWnk">Настраивается в module_settings.py в переменной MODULES_SETTINGS под ключом TwitterModulesNames.TWEET</p>
  <figure id="qrjS" class="m_column">
    <img src="https://img4.teletype.in/files/f6/b3/f6b31aad-29d1-4dd4-be51-bc5d25bf8512.png" width="1028" />
  </figure>
  <p id="m4BR"><em>mode</em> - На выбор 2 варианта:</p>
  <ul id="bNHI">
    <li id="fNFc">TweetModes.TWEET_FROM_INPUT - написать твит с каждого аккаунта вписывая по очереди в консоль (более подробное описание выше)</li>
    <li id="ZTly">TwitterTweetModes.TWEET_TWEETS_FROM_FILE - написать рандомные твиты из файла на каждом из аккаунтов</li>
  </ul>
  <p id="VOeb"><strong>Все настройки дальше относятся к mode = TwitterTweetModes.TWEET_TWEETS_FROM_FILE:</strong></p>
  <p id="3KUh"><em>min_number_of_tweets</em> - наименьшее количество твитов на один аккаунт</p>
  <p id="RghI">max_number_of_tweets - наибольшее количество твитов на один аккаунт</p>
  <p id="cbQV">all_tweets - если True, твитнуть все твиты из файла, иначе рандомное количество от <em>min_number_of_tweets </em>до<em> max_number_of_tweets</em></p>
  <p id="9kZH">tweets_file - путь до файла с твитами. Файл должен быть в json формате по примеру data/tweets.example.json</p>
  <p id="NXpx">post_only_unique_tweets_on_all_accounts - если True, то софт не будет твитить уже выложенный твит на текущем или другом аккаунте</p>
  <p id="jY5s">delete_written_tweets_from_file - если True и post_only_unique_tweets_on_all_accounts = True, то после завершения работы скрипта удалит из файла с твитами уже выложенные тексты</p>
  <p id="IndV"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="W9om">Модуль лайков</h2>
  </section>
  <p id="KEgo">Модуль для лайка публикаций. Режим работы:</p>
  <p id="ysic"><strong>Лайкнуть рандомные твит или неколько из записаных в файле. <u>Рекомендуется выставить как можно больше задержку между запросами (минимум несколько часов) и не лайкать слишком много твитов, чтобы не твитить слишком часто с одного аккаунта, иначе шанс бана крайне велик.</u></strong></p>
  <p id="lc2E">В файле должны быть TweetID по примеру data/likes.example.txt</p>
  <p id="XERy"><strong>Где взять TweetID</strong></p>
  <p id="d4Mw">1) Перейти на нужный твит</p>
  <p id="EAb7">2) Взять id из ссылки.</p>
  <p id="ni49">Пример твита: <br /><a href="https://twitter.com/dopex_io/status/1727334269973143901" target="_blank">https://twitter.com/dopex_io/status/1727334269973143901</a><br /><br />Где id = <a href="https://twitter.com/dopex_io/status/1727334269973143901" target="_blank">1727334269973143901</a></p>
  <hr />
  <p id="Japw">Настраивается в module_settings.py в переменной MODULES_SETTINGS под ключом TwitterModulesNames.LIKE</p>
  <figure id="hVq2" class="m_column">
    <img src="https://img4.teletype.in/files/f5/55/f555068a-91ed-4890-bc92-378c6b572da6.png" width="986" />
  </figure>
  <p id="E3Eh"><em>mode</em> - На данный момент единственно возможное значение:</p>
  <ul id="bNHI">
    <li id="3SGk">TwitterLikeModes.LIKE_TWEETS_FROM_FILE - лайкнуть рандомные твиты из файла на каждом из аккаунтов</li>
  </ul>
  <p id="cVz1"><em>min_number_of_likes</em> - наименьшее количество лайков на твиты на один аккаунт</p>
  <p id="IYsQ">max_number_of_likes - наибольшее количество лайков на твиты на один аккаунт</p>
  <p id="H9ay">all_tweets - если True, лайкнуть все твиты из файла, иначе рандомное количество от <em>min_number_of_likes </em>до<em> max_number_of_tweets</em></p>
  <p id="bPxW">tweets_file - путь до файла с твитами, которые нужно лайкнуть. Файл должен быть в txt формате и состоять из <a href="#XERy">TweetID</a> по примеру data/likes.example.json.</p>
  <p id="USgn"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="cK2a">Модуль ретвитов</h2>
  </section>
  <p id="Z1MY">Модуль для ретвита публикаций. Режим работы:</p>
  <p id="wqD5"><strong>Ретвитнуть рандомные твит или неколько из записаных в файле. <u>Рекомендуется выставить как можно больше задержку между запросами (минимум несколько часов) и не ретвитать слишком много твитов, чтобы не твитить слишком часто с одного аккаунта, иначе шанс бана крайне велик.</u></strong></p>
  <p id="z6aS">В файле должны быть TweetID по примеру data/retweets.example.txt</p>
  <p id="yuTn"><strong>Где взять TweetID</strong></p>
  <p id="pXop">1) Перейти на нужный твит</p>
  <p id="iU5O">2) Взять id из ссылки.</p>
  <p id="c3Fa">Пример твита: <br /><a href="https://twitter.com/dopex_io/status/1727334269973143901" target="_blank">https://twitter.com/dopex_io/status/1727334269973143901</a><br /><br />Где id = <a href="https://twitter.com/dopex_io/status/1727334269973143901" target="_blank">1727334269973143901</a></p>
  <hr />
  <p id="24zR">Настраивается в module_settings.py в переменной MODULES_SETTINGS под ключом TwitterModulesNames.RETWEET</p>
  <figure id="AMNb" class="m_column">
    <img src="https://img3.teletype.in/files/6c/70/6c700127-e876-4c1e-af76-512cf5508468.png" width="1046" />
  </figure>
  <p id="85gE"><em>mode</em> - На данный момент единственно возможное значение:</p>
  <ul id="bNHI">
    <li id="xVVM">TwitterRetweetModes.RETWEET_TWEETS_FROM_FILE - ретвитнуть рандомную публикацию из файла на каждом из аккаунтов</li>
  </ul>
  <p id="zcyJ"><em>min_number_of_retweets</em> - наименьшее количество ретвитов на один аккаунт</p>
  <p id="fGrH">max_number_of_retweets - наибольшее количество ретвитов на один аккаунт</p>
  <p id="LdMp">all_tweets - если True, ретвитнуть все публикации из файла, иначе рандомное количество от <em>min_number_of_retweets </em>до<em> max_number_of_retweets</em></p>
  <p id="9J4Y">tweets_file - путь до файла с твитами, которые нужно ретвитнуть. Файл должен быть в txt формате и состоять из <a href="#XERy">TweetID</a> по примеру data/retweets.example.json.</p>
  <p id="qYDn"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="rXcU">Мои контакты</h2>
  </section>
  <p id="STkI"><strong><a href="https://t.me/easypeoff" target="_blank">Telegram канал</a></strong> - тут я пишу про новые статьи, новости и про выход нового софта</p>
  <p id="dPFt"><strong><a href="https://github.com/3asyPe" target="_blank">GitHub</a></strong> - тут я пишу код</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@easypeoff/twitter-farm</guid><link>https://teletype.in/@easypeoff/twitter-farm?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=easypeoff</link><comments>https://teletype.in/@easypeoff/twitter-farm?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=easypeoff#comments</comments><dc:creator>easypeoff</dc:creator><title>Twitter ферма за копейки</title><pubDate>Sat, 18 Nov 2023 14:33:14 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/15/ba/15ba5a99-17d7-48d2-984d-dc111ced01b9.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/6c/14/6c14d289-af99-4da7-a9d0-c8d0714153cc.png"></img>Автор статьи - https://t.me/easypeoff]]></description><content:encoded><![CDATA[
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <blockquote id="fL8W">Автор статьи - <a href="https://t.me/easypeoff" target="_blank">https://t.me/easypeoff</a></blockquote>
  </section>
  <p id="mmmL">Каждый криптан рано или поздно сталкивается с вопросом создания фермы твиттер аккаунтов. В этой статье будет описан, думаю, самый дешевый способ ее создания, процесс прогрева и развития аккаунтов Twitter. </p>
  <p id="bvX8">Вместе мы создадим ферму на <strong>100 аккаунтов</strong> заплатив только за <strong>20 прокси, </strong>для остальных расходников хватит бесплатных тарифов.</p>
  <p id="m6Rh">Также я расскажу про основные правила прогрева фермы, а уже в <a href="https://teletype.in/@easypeoff/twitter-automation" target="_blank"><strong>следующей статье</strong></a> про ее автоматизацию.</p>
  <p id="sY9m"><u>В статье будет множество ссылок. Это не реклама, а то, чем пользуюсь я</u></p>
  <figure id="t1PM" class="m_column">
    <img src="https://img3.teletype.in/files/6c/14/6c14d289-af99-4da7-a9d0-c8d0714153cc.png" width="1840" />
  </figure>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="rto5">Зачем нужна ферма</h2>
  </section>
  <p id="rXES">Многие из вас, даже те, кто в крипте недавно, явно сталкивались с активностями, где нужны твиттеры. Квесты на разных площадках, проекты по типу MEME, различные конкурсы.</p>
  <p id="ECXM">Учитывая количество участников в таким эвентах, а также количество мультиаккаунтов, вынос проекта с 1 или с нескольки аккаунтов будет крайне небольшой. Мы приходим к выводу, что нам нужна ферма. На бычке таких проектов становится еще в разы больше, но готовится лучше заранее, поэтому сейчас самое время этим заняться.</p>
  <p id="wDnX"><strong>Что нам нужно для успешного создания и поддержания фермы</strong></p>
  <section style="background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="mnv7"><a href="#u24T"><strong>1 - Почты</strong></a></p>
    <p id="7Mcv"><a href="#6Jrq"><strong>2 - Прокси</strong></a></p>
    <p id="1KFU"><a href="#pCV4"><strong>3 - Профили анти-детект браузера</strong></a></p>
    <p id="sI3g"><a href="#yOO7"><strong>4 - Создать аккаунт</strong></a></p>
    <p id="RSnn"><a href="#Dexd"><strong>5 - Прогреть аккаунт</strong></a></p>
    <p id="7ysS"><a href="#rUsw"><strong>6 - Развить аккаунт</strong></a></p>
    <p id="bfoI"><a href="#rXcU"><strong>7 - Подписаться на меня (Опционально) </strong></a></p>
  </section>
  <p id="hFuk"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="u24T">Почты</h2>
  </section>
  <p id="Hn8f">Создать почты можно и бесплатно руками, однако Gmail часто просит телефон, Outlook тоже не самый лучший вариант. </p>
  <p id="9ztG"><strong>Самый дешевый и простой вариант</strong> - купить подписку на iCloud на 50GB на 1 месяц за 1$, которая даст возможность создать <strong>до 750 почт</strong> @iCloud.com.</p>
  <p id="M6oV">Для этого залогиньтесь на их <a href="https://www.icloud.com/icloudplus/" target="_blank">сайте</a> и оформите подписку на 1 месяц. Продлевать не обязательно.</p>
  <p id="rIC5">Зайти на такие почты нельзя, т.к. это всего лишь alias&#x27;ы, а не полноценные почты. Они будут пересылать все мейлы на вашу основную почту, тем самым можно получить коды подтверждения для твиттера.</p>
  <p id="aZDq">Создавать можно до 5 почт каждые 30 минут - час.</p>
  <p id="qqU3">По моим наблюдениям эти почты достаточно трастовые. К примеру, дискорд при попытке регистрации с gmail почтой попросил телефон, а сразу после с iCloud почтой телефон не просил.</p>
  <p id="peCW">Также можно создать эти почты софтом - <a href="https://github.com/rtunazzz/hidemyemail-generator" target="_blank">https://github.com/rtunazzz/hidemyemail-generator</a></p>
  <p id="A76K">Тот же самый софт, только слегка модифицированный и переведенный на русский -  <a href="https://github.com/zrxmax/icloud-hidemyemail-generator" target="_blank">https://github.com/zrxmax/icloud-hidemyemail-generator</a></p>
  <p id="fR3x"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="6Jrq">Proxy</h2>
  </section>
  <p id="fh8h">Прокси нужны для того, чтобы скрывать ваш ip адрес и использовать другой. </p>
  <p id="Mg3M"><strong>По правилам твиттера на один ip адрес можно создать до 5 аккаунтов твиттер. </strong></p>
  <p id="n6MH">Однако стоит быть осторожным. Ведь, если ваш аккаунт забанят, то есть шанс, что отлетят сразу все аккаунты привязанные к этому прокси и придется покупать другой.</p>
  <p id="RmbR">Покупать прокси желательно европейские. Можно и другие, но точно не Россия, Беларусь, Украина, США, Китай.</p>
  <p id="YV1c"><strong>Я покупаю <a href="https://proxys.io/ru" target="_blank">тут</a> </strong><br />Промокод на первую покупку на 5% <strong>luferness</strong> (не мой)</p>
  <p id="HeJk"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="pCV4">Anty-detect браузеры</h2>
  </section>
  <p id="QxHC">Нужны для создания уникальных отпечатков пользователя для имитации уникального устройства. Без анти-детект браузера шанс бана аккаунтов гораздо выше.</p>
  <p id="1GLm">Два самых популярных - ADS Power и Dolphin Anty, однако есть и другие, например Incogniton (работает хуже, но работает) </p>
  <p id="yrO1">ADS Power - 2 профиля бесплатно</p>
  <p id="25Ix">Dolphin Anty - 10 профилей бесплатно</p>
  <p id="GfTm">Incogniton - 10 профилей бесплатно</p>
  <p id="QZ4f">Для создания 100 аккаунтов нам понадобятся только 20 профилей</p>
  <p id="dVez"><a href="https://help.adspower.com/ru/docs/J9Y8AC" target="_blank"><strong>Гайд по созданию профиля в ADS Power</strong></a></p>
  <p id="R65D"><strong><a href="https://vc.ru/u/1067425-dolphin-team/377492-kak-nastroit-brauzernyy-profil-dolphin-anty" target="_blank">Гайд по созданию профиля в Dolphin Anty</a></strong></p>
  <p id="prAB"><a href="https://incogniton.com/ru/knowledge%20center/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE-%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BF%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D1%8F/" target="_blank"><strong>Гайд по созданию профиля в Incogniton</strong></a></p>
  <p id="GCQa">Из важных вещей:</p>
  <ul id="hZV5">
    <li id="VYIq">Выбирайте в настройках операционную систему вашего устройства. Если сидите на Windows, выбирайте Windows, если Mac OS, то Mac OS и т.д.</li>
    <li id="0OTN">Не забудьте создать новый уникальный отпечаток, нажав на кнопку его генерации.</li>
    <li id="X4v7">Не забудьте ввести свой прокси</li>
  </ul>
  <p id="eFZZ"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="yOO7">Процесс создания</h2>
  </section>
  <p id="zoeh"><strong>1</strong> - Покупаем прокси</p>
  <p id="fBqW"><strong>2</strong> - Генерируем новый iСloud email софтом или руками</p>
  <p id="6n9Z"><strong>3</strong> - Создаем профиль в Dolphin Anty (или любом другом антике)</p>
  <p id="OD1r"><strong>4</strong> - Заходим на профиль и создаем твиттер используя новый email</p>
  <p id="IjB5"><strong>5</strong> - Немного активничаем на нем и оставляем данный профиль на какое-то время. <strong>Не стоит создавать сразу все твиттер аккаунты за раз на одном профиле</strong></p>
  <p id="UTe9"><strong>6</strong> - Повторяем действия 1-5 на всех доступных профилях, создавая до 5 твиттеров на профиль</p>
  <p id="LThM"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="Dexd">Прогрев аккаунтов</h2>
  </section>
  <p id="9FIS">Прогревать аккаунты обязательно, потому что проекты обычно бреют совсем новые аккаунты, а если вы начнете сразу активничать без прогрева, то и сам твиттер может забанить. Например, у многих отлетели аккаунты после массового спама MEME.</p>
  <p id="X7h2">Прогрев аккаунтов может быть разным, но вот общие правила:</p>
  <p id="ngTk"><strong>1</strong> - Первое время (около недели) выкладываем обычные посты:</p>
  <p id="npS1">&quot;Hi, I&#x27;m new here. What&#x27;s up?&quot; и тому подобное.</p>
  <p id="BhOs">Стараемся ничего особо не репостить. Также можно добавлять хэштеги #Crypto, #nft и т.д. Но не перебарщивайте с количеством</p>
  <p id="O5eo"><strong>2</strong> - Через примерно неделю можно начинать репостить, подписываться на другие аккаунты. Не подписываемся сразу на 100 аккаунтов и не репостим розыгрыши, а делаем все постепенно и понемногу. </p>
  <p id="aTSp"><strong>3</strong> - Время от времени можно менять никнейм, аватарку, описание и т.д.</p>
  <p id="CVPW">Через пару недель такого прогрева, твиттер будет готов</p>
  <hr />
  <p id="4eHo">Для автоматического управления аккаунтами я написал написал <a href="https://github.com/3asyPe/twitter-automation" target="_blank"><strong>софт</strong></a> и <strong><a href="https://teletype.in/@easypeoff/twitter-automation" target="_blank">статью-инструкцию</a></strong> к нему.</p>
  <p id="Gyj7">Софт позволяет делать многое, от массовых подписок, до массовых постов. А также к нему выходят постоянные обновления. Следить за обновлениями можно <strong><a href="https://t.me/easypeoff" target="_blank">тут</a></strong>.</p>
  <p id="d0yO"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="rUsw">Как развивать аккаунт</h2>
  </section>
  <p id="CX8i">После прогрева можно начинать развитие аккаунта. Набор подписчиков, ведение и т.д. Так как аккаунтов много, у вас вряд ли получится сделать их идеальными, но время от времени стоит уделять время их развитию.</p>
  <p id="sQVK"><strong>1</strong> - Выбираем сферу для аккаунта. Желательно выбирать что-то близкое к крипте, чтобы абузные посты не выглядели странно.</p>
  <p id="gS9p"><strong>2</strong> - Ставим осмысленное описание</p>
  <p id="8tO6"><strong>3</strong> - Время от времени делаем посты от себя</p>
  <p id="AI1o"><strong>4</strong> - Набираем аудиторию от алгоритмов твиттера и по взаимным подпискам. </p>
  <p id="U5WI">Можно пользоваться группами по взаимным подпискам. Это не идеальный метод, ведь лайков, комментов на свои посты вы сильно больше не получите, но для быстрого набора количества подписчиков сойдет.</p>
  <p id="Juew"><a href="https://t.me/friendboost" target="_blank">Одна из групп для взаимных подписок</a></p>
  <p id="0POJ"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="qRn2">Эпилог</h2>
  </section>
  <p id="fE43">Описанный способ, является определенно не самым быстрым, но одним из самых дешевых и качественных точно.</p>
  <p id="OAb4">Осталось только пожелать вам удачи в создании вашей фермы и попрощаться. GL</p>
  <p id="TdVl"></p>
  <hr />
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="rXcU">Мои контакты</h2>
  </section>
  <p id="STkI"><strong><a href="https://t.me/easypeoff" target="_blank">Telegram канал</a></strong> - тут я пишу про новые статьи, новости и про выход нового софта</p>
  <p id="dPFt"><strong><a href="https://github.com/3asyPe" target="_blank">GitHub</a></strong> - тут я пишу код</p>

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