From 12b865ea0dd756bfb3eaa6b7dce71965d39837bb Mon Sep 17 00:00:00 2001 From: Vladislav Lisitsyn <114032530+Vladless@users.noreply.github.com> Date: Sat, 26 Oct 2024 16:05:58 +0300 Subject: [PATCH 1/4] Update trial_key.py --- handlers/trial_key.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/handlers/trial_key.py b/handlers/trial_key.py index db3388d2..08034abf 100644 --- a/handlers/trial_key.py +++ b/handlers/trial_key.py @@ -21,7 +21,7 @@ async def create_trial_key(tg_id: int): session = await login_with_credentials(server_id, ADMIN_USERNAME, ADMIN_PASSWORD) current_time = datetime.utcnow() - expiry_time = current_time + timedelta(days=30, hours=3) + expiry_time = current_time + timedelta(days=1, hours=3) expiry_timestamp = int(expiry_time.timestamp() * 1000) client_id = str(uuid.uuid4()) From 0ae3d27532b685e8622ea5102fe98ac81a9337d8 Mon Sep 17 00:00:00 2001 From: Vladislav Lisitsyn <114032530+Vladless@users.noreply.github.com> Date: Sun, 27 Oct 2024 03:20:45 +0300 Subject: [PATCH 2/4] Delete handlers/__pycache__ directory --- handlers/__pycache__/admin.cpython-310.pyc | Bin 1287 -> 0 bytes .../__pycache__/backup_handler.cpython-310.pyc | Bin 859 -> 0 bytes handlers/__pycache__/balance.cpython-310.pyc | Bin 555 -> 0 bytes handlers/__pycache__/commands.cpython-310.pyc | Bin 5510 -> 0 bytes handlers/__pycache__/expiry.cpython-310.pyc | Bin 1547 -> 0 bytes .../__pycache__/instructions.cpython-310.pyc | Bin 1163 -> 0 bytes .../__pycache__/key_management.cpython-310.pyc | Bin 7125 -> 0 bytes handlers/__pycache__/keys.cpython-310.pyc | Bin 12799 -> 0 bytes .../__pycache__/notifications.cpython-310.pyc | Bin 7813 -> 0 bytes handlers/__pycache__/pay.cpython-310.pyc | Bin 8199 -> 0 bytes handlers/__pycache__/profile.cpython-310.pyc | Bin 3258 -> 0 bytes handlers/__pycache__/start.cpython-310.pyc | Bin 4356 -> 0 bytes handlers/__pycache__/stats.cpython-310.pyc | Bin 1907 -> 0 bytes handlers/__pycache__/texts.cpython-310.pyc | Bin 9316 -> 0 bytes handlers/__pycache__/trial_key.cpython-310.pyc | Bin 1774 -> 0 bytes handlers/__pycache__/utils.cpython-310.pyc | Bin 1169 -> 0 bytes 16 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 handlers/__pycache__/admin.cpython-310.pyc delete mode 100644 handlers/__pycache__/backup_handler.cpython-310.pyc delete mode 100644 handlers/__pycache__/balance.cpython-310.pyc delete mode 100644 handlers/__pycache__/commands.cpython-310.pyc delete mode 100644 handlers/__pycache__/expiry.cpython-310.pyc delete mode 100644 handlers/__pycache__/instructions.cpython-310.pyc delete mode 100644 handlers/__pycache__/key_management.cpython-310.pyc delete mode 100644 handlers/__pycache__/keys.cpython-310.pyc delete mode 100644 handlers/__pycache__/notifications.cpython-310.pyc delete mode 100644 handlers/__pycache__/pay.cpython-310.pyc delete mode 100644 handlers/__pycache__/profile.cpython-310.pyc delete mode 100644 handlers/__pycache__/start.cpython-310.pyc delete mode 100644 handlers/__pycache__/stats.cpython-310.pyc delete mode 100644 handlers/__pycache__/texts.cpython-310.pyc delete mode 100644 handlers/__pycache__/trial_key.cpython-310.pyc delete mode 100644 handlers/__pycache__/utils.cpython-310.pyc diff --git a/handlers/__pycache__/admin.cpython-310.pyc b/handlers/__pycache__/admin.cpython-310.pyc deleted file mode 100644 index cf20990ebb70b2d0bf0e486a022cab8d1ca94f4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1287 zcmZ8h&u<$=6rP#==^shjQrdz*TBKYoA^X-tiJ~G>i5!{(k*KgLtu~&qv+4e@W_R1T zvQc7Jf&(0SrHV+!iJPe!+O#AbIB=c4&Xp7Y0+;e;oDz$*_RZ|u@B7~S#xt8PEL0I( ze|A6YJvI^gOFhhAkV7}&&L{+mD2`B!+c+j|g4HvLjM!|OdTvBkY`5*$X*;poc6H8- zDsi=4#faevYS&opu+B_sP4H7pZANw$x`aB^ePm8>dy!T)QKR}dR6-3R?Jv?IXIxtO zpwF@fmd7n-Cp1D*VkliPDna2%d()yI#{)Ec3Cj0HTnbY3{0baJVZNa2j}FT!7mQc zp+UjTI;_U$NO|5w4{rj(JhYyoyT%BQ$jHd;p)tWQI=MR}6FfP?XV*2K49OEjjRWIc z=Z;p&D>FQ>$=eE=VQPjoG=OIxSpVmlD6bB{hWcr|bB_2*D+8i7*u!W9|J}n&8siSl zC+L8jBkv%E9hqO7%GGT406##D%0}@CEQk2X6VJr7-1o$ZI4Z}UcrH%M{c>DR#P4G2 ziC13veK{7V;uz*I{3fP=d@hcf#XE}sgLo}oiX(9XTu@nG^K@RzsW27C3N22W#Rm%i z7&5PwhAR2$oD8*!s{rtz@H4=JYWa=gX%Vk*X78G+@LeVJBQ*1?5(C1q>R3!a_JFhx zeV;=1JMlul8H*#Yd<3TURPW{ZhS!?gFy6{+-}xb3^;Uv7Es}h-_(&H3#wmDv0o-p@ z&z_#V6u&^<(;Hr+E-PK0#(t5(7AGO)F3_aKSw9*`GiSTGw6cB_!qAPN_oINe z*4X{lW*VjbR+_iA;e17mXJ9i9lV*P)mpU=^=S-_Uvt zRzX|0;UIUz-fW$0uD=a4v(D|=vDL-2zq#<97F~%`T10GB9qeoo!Ua^vm!Vag)X5e6 EFQ71@^8f$< diff --git a/handlers/__pycache__/backup_handler.cpython-310.pyc b/handlers/__pycache__/backup_handler.cpython-310.pyc deleted file mode 100644 index f1b59aae8ecfa95396a4abd4ea89563d3e4a4573..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 859 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 RZ74w}Q30aV(?|;t-#@%i))W8$ diff --git a/handlers/__pycache__/instructions.cpython-310.pyc b/handlers/__pycache__/instructions.cpython-310.pyc deleted file mode 100644 index 2c08c45fb072a91e2c542012e57f540ffbc16952..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1163 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 diff --git a/handlers/__pycache__/keys.cpython-310.pyc b/handlers/__pycache__/keys.cpython-310.pyc deleted file mode 100644 index 9a473f5a1b7d67f99cc8019b46e47c4ee9fac464..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12799 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 Sj%_%$r{vH<&4;V>sQkaVJHbEz diff --git a/handlers/__pycache__/notifications.cpython-310.pyc b/handlers/__pycache__/notifications.cpython-310.pyc deleted file mode 100644 index 3cb08f10c27a718cfc9c9b1f548afa71faa43140..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7813 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 VRiwcwTuw-Fxo==NI6N}E^*_OjoPhuU diff --git a/handlers/__pycache__/pay.cpython-310.pyc b/handlers/__pycache__/pay.cpython-310.pyc deleted file mode 100644 index e1e3da10ccbb084d8646406d93d68cbbf14dafdb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8199 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 QdcI<&l0yS572U%A2dv|uX8-^I diff --git a/handlers/__pycache__/profile.cpython-310.pyc b/handlers/__pycache__/profile.cpython-310.pyc deleted file mode 100644 index 6ead0c4267ff8b9231241ed392b861788475496b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3258 zcmZuz-H#hr6`y-O9*@UkuXoo;H=(JF00j$(p@5LkvZM(iiITNSgFuXshFRZPuXpET zduJxwt;SV0-cqDCil9PNDoIlz9wLFXO#@xJ5FYvuj9>3#c;X2p#0#n@=Um&n-X*r~ znRCzmI`@41&JD|DLxJD#lT)3=ilY1tJCnaWbk0JH9s^+tBc9?Di}=){1pCy>`KqN# zKIi3q&C>jWRgitv)BU1V^bO09{k&K5OIAtpnrHfDtL#^-ia%vdNm;?G`qS35KV!}K zv(~I%vuZ@Ss4$%sw-r`&3;mpR%q4xrI?fE2u0F*|uDYx;la;qsYtB7>?*yx`scq$5 zG8|u~tjeah)jqLK%F&t0(b4KzR+BS6#g1K58pr<*_f#5GXfK3G>~fKhH`m>$L4@($ zYm4W@Aa-AhVK{#+c4AkQI6l@^Lf4m^Ol_U z8ffYAO_4`iyKM^7#=j|GFj+o=7M%qb5=Tn%O=2Nw=_Ow)EG}hi$Snf{l8w&JQM%F0*I>=S*#|4&W8Y|qQ zy#nx%5R%t{H&{vXMc^S3ByRu@i6HqB@Q?(OH)B05q^lAsv;?+#H?3n?&hVi1Koo&8C&Nl{>VjF$Kqe1o!GyUa16d6Z~$F4F&FQ+$+7S4DU>o z*jz2c%`{d^%k0=Kbu3SndzFJ(Ou=MpaSXSl1!R6{A-kKsH@KaBknId^W`D@`25)44 z$sX0Szh;lJhd_4+KZ6ECgRQ|Ebr{>JXCG!e$Ygu-&83CPO#y!l=|`!$@r`=s-BMDcpp-N0R<M9lA zL!%A0#55o0@ECuR6LRg(e+z5D7`xf~uyzORAXf`*2r;8sZ@yK}-olO0aD#sK;ozsR zVpo{mAc}d?##D{|jh=Y?yI23Qd%G^p4(`n!3RC7<974ti$$cWGx)M3@0unltE4b{= zujI13=y=c^oDI={dJThO4=n#0L<%|yL=W*=pwH`rSBKLc4YpxqZ*cpYb)jDR{^Hg9 zswlKqoY?L%ehLl{#=65JfXtA&!bEFq+Wrupr$lj?hrXRePy}d~K{xR{iEJDZgd-I2 zG7DmTqq|+oM0kckFi^50DT)SZ%lEtJwJ&v@^J@L z6gnP`h$)H(C801b6;ns5fS6vA^~OGkC{Z1W_Jc#rjU@l)dQl#Y41FwS_qzwq6s3_6 zy(jdsvjlMu0GVUBi&LOn8>*ANAIegNk;)ho(eps)4V~zO(h8}-S0!eSenM4)sGsPn zPE2Z&@t;x+#<7_nR|*EH68#4KZ&g((CBwh@@l1g~2b;DLRK`E#5yj6#`xp8Qu^Q18 zt5}PF8YB>YDkd6yN&DzU^m)(mmzc94H^7|?gMses2CXj-_ZA7Ex&Ts2YxwIL7asvSbs z3H+7FT4?dlfEL1>v^swpMEr9|P9ym|kcP>>i2Rq3RFRlS;3+r}()`QV{R$EcVE!zU zuL5ZlhC%x^;6-`=oq`VwQQ7axXN#yDexC3J+~nIx_G|etbjA}$^&9OT)qy~)P@Pn$ z4l!b?6;h=~e7^{j4tZtL_xv1;qQ@`8m*b}V0+PdrOV9oo<(GgQD*x#E9JG(1MaO|` zkr;vroJz+fPMV&y8bpR+gC1n`kz+({(l7Strg(0o0--l*lw(nBHJ%m)ryF*-<8xGi zqXuGjBs#Mk`Dfr^ghhknLNPr#BA+nwsl_oiMR`0ZpR@;vHAE#HQ((yf#F5A*F%Dxv zRK^dfGk8uk#5@@w68L1$U_uKGUcvZeE}tL0rM`zxDQSzLCD1|gUK8e!_Lq>M&krAq h3+T28W3{T7kmpsvff|`3)tsi*sQK&+G3QQ_{{f;j=Ar-q diff --git a/handlers/__pycache__/start.cpython-310.pyc b/handlers/__pycache__/start.cpython-310.pyc deleted file mode 100644 index 4db96f8baccb260145250fc560359b1aa513a9cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4356 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 Gq5ePWQNTR_ diff --git a/handlers/__pycache__/trial_key.cpython-310.pyc b/handlers/__pycache__/trial_key.cpython-310.pyc deleted file mode 100644 index c7ccf81837a3251d66e8ba117d21795a8e3b4398..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1774 zcmZWp&1)M+6yI6xm!y@f$e)F_sE~^Si3y}Vl(y83Rboh-AlVJ3`7w#n!ZclyH8OK==|S{}BLd7*WkDR^*{v);%3oot9$5Gh)*-W6QH*+q04KD^Vvd zd*!&|RdU&&)!6mi{M)3pxbD^C8E+<+E!v1Lco*_-n>OR7*NkVq*<5z$Ts-g1#|z#9 z$Yrv)t>X%=erI?~81=Na`x5S_t+x&7uC8pXe6`Z+_?z9E((ZM--*mb?SzlSbwYKhW zg1o+Rt8*&fS?Tre-tMlpb-6&(ew6rok=XG=MleZ46i_Y=8YTDINLB)j{g6hW2k$Z$ zDI@+pavZfZFD!UZ>-&3?}4*}13^R-6IoV>2^9gT=ldif3`{-? z5}d|9iGzsB#Xb=}B>@La15B{b3EL%1nxgMVI7I5H(@}%fh50v3egiD`kDlG1e0%|y$B2C|ny0=a zV`{Br=y(=aGHt9+HPx)jC}`(!^-PPjq%7v)4<<&Zw?>*+$h7>=R#wUMkyV@k`o$v` zG%j|3((h_;*3wuzwe>Vy!}SQgtAE>XPixPtzf^&KsVV@tGH`IfrMZ(18IS%2B~#Xo z!^Xa#{4yJ`{mZ)%SM;0Gp-~(OKN?6!q#~exe@j-${vcupex3yuNrEj(q_IuYJ!$h{ z7!uA8FZDV%JJ&Z_ms($UZ{KQ#Z&Hf4?%wEhJFT4m*5|E@R}Zgl-ho8#yyevEY_tS} zqy?9&?`(lblvKL9QNjfq=D7+lB8;VM*n!7Pex5vOos1@bOde03O!;l<=P zQ2ai5dh$Ri{si08$&<t;ur*e}Thu&^L0{U_7cd=8XEO>c z1%?7sfl6Iz4MmuwdralBEJcYZs)UOm9>@~hRT{%#gr%wQ8mp^~PVNhZ!k}wu(%B{= z++ix1WS@jXL73`mtgN7_Jj{@$oV07Kp(I1y3~D&9E2t^p00;o~q#F(ygA&h)VvEYT zagMs;QstrzsEuY(vkoJCkS3hSnKRma)j8xW*^ju0lD>atVeiAiziR9nEUzvv@1!wV z-lYLvUM0KBy_BZ@Rw|ZvpesNQse2eJXpN%f33N)%an#e&7 zy@6ca0=a@LWFYsyiaCdxx}hsvf)xg`UN>y#bxUWTz;>X{DjE^{5JYwnKw5C=?WkW+ zsA}PiJ!u3(u~Sf*vtSirDacVhFW3qo#5oCy4p~2a(G@}V1<#qubD-e<%sdnk>PZoj&(kZQ#_>P3ssVQ0l?85h`|zq7))maHB0{kcKiEh diff --git a/handlers/__pycache__/utils.cpython-310.pyc b/handlers/__pycache__/utils.cpython-310.pyc deleted file mode 100644 index 475ae867a1626f3d78fc5ff29c54c7ee7cd50ef1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1169 zcmZWoOK%)S5bo}I>^Qci#0eo1LYkl)ScG>I-jM=|uor>^j^qtQT9S;$)4jXnorlvs zv%#ww$-zM&0VmE#_K}-0M6n6UA^d@!YhO9}FL0uI*W^Wws;axHrmOm^>U4JY2m;#k zUhX|I5c*qho+cAE7lFlxASj|ZLY;}m9SnOCk=W=M7*T_n)MRGYq!zXBm>rAOsB;H( zY&u1cfUZ&8M)m0fI0r4&v8uIO%U`sX+sYZRbuaN_rfkl#oF@U+F^8nrHt+(lm;;fa zEle>b1==FpXxo58jiu4-mpAI8%nmSCkc{w-~Qu4i`kfAU*}^ zpL(;O#;iGveA--O!)7~;Qg0>AnteZ^5#yqnXJI57YwPNm@RKkLN6h=LQjLlrAm%Wi z1{DB5re`WX1!ju3P=;3tCDfqik7OH{s6bG+l`n!@{v_|p2l8&UA@{0{Y7xZj@C{EI~ zn_Oi1@YYxBqqFDUc=N5d-+A}F^9LGDz#k6)BXczk6TltroW`ma^wTh40=%;mlP5AB zCcQCa6QRdNz0hL`<9^1x!!Q>6VN?T`(9oP9Cg#Us@k}SRTbKD4u($!@HuSN?84S@T zE=h)UKNr#U)7MC8lqU4ophjVAlTQG_OQ^I8i<$$>U(xy{M6DAj!PF}4!Y;@F@z)Ex zB!yApo706JH9P+plE|OsPW26d^gEzC##IBotKkM1C!lI9p#{|s)pwu)>3e|mZ{uFv zlYhX!`;8@Kgh_YQXtzFXEnIOIE`Pps<<-~f?nld)KXYL$gnRW;Yq{kL#)pi1A$8w( z&zw8B02Lfi5Oq^o-6-`luE$1MVa8&ioG#0P{?L!=HDv~AlBkmr^F`)CBxTfle408Q zhsoILtuY?3B=dVrO+E43lclnPG*2=$a~S1y^C)`0doT7FWcYuc8K_L01VJ`T;^3oX z4xhpfHsRA2ep=td;d*}fQ4q?8lDlDVawP*sW&9Y%ogW83l~}(yKAs)tLY&e(Vjt*t RB6Lm%Id}%oVaJ%U{srrrTblp? From 34b8a27c36a207a25dd7f3d8d14b1ce20377559b Mon Sep 17 00:00:00 2001 From: Vladislav Lisitsyn <114032530+Vladless@users.noreply.github.com> Date: Mon, 28 Oct 2024 00:30:27 +0300 Subject: [PATCH 3/4] rm --- handlers/texts.py | 168 ---------------------------------------------- 1 file changed, 168 deletions(-) delete mode 100644 handlers/texts.py diff --git a/handlers/texts.py b/handlers/texts.py deleted file mode 100644 index c840fa45..00000000 --- a/handlers/texts.py +++ /dev/null @@ -1,168 +0,0 @@ -BOT_VERSION = '1.3.2' - -### Функции образования цен и кнопок продления ключа -PAYMENT_OPTIONS = [ - {'text': '100 RUB', 'callback_data': 'amount_100'}, - {'text': '300 RUB', 'callback_data': 'amount_300'}, - {'text': '600 RUB', 'callback_data': 'amount_600'}, - {'text': '1000 RUB', 'callback_data': 'amount_1000'}, - {'text': '💰 Ввести свою сумму', 'callback_data': 'enter_custom_amount'}, - {'text': '⬅️ Назад', 'callback_data': 'back_to_profile'}, -] - -RENEWAL_PLANS = { - '1': {'months': 1, 'price': 100}, - '3': {'months': 3, 'price': 285}, - '6': {'months': 6, 'price': 540}, - '12': {'months': 12, 'price': 1000}, -} - -INSUFFICIENT_FUNDS_MSG = "Недостаточно средств для продления ключа." -KEY_NOT_FOUND_MSG = "Ключ не найден." -SUCCESS_RENEWAL_MSG = "Ваш ключ был успешно продлен на {months} месяц(-а)." -ERROR_RENEWAL_MSG = "Ошибка при продлении ключа." -PLAN_SELECTION_MSG = "Выберите план продления:\n\n💰 Баланс: {balance} руб.\n\n📅 Текущая дата истечения ключа: {expiry_date}" - -### Текст главного меню -WELCOME_TEXT = ( - "🎉 SoloNet — твой доступ в свободный интернет! 🌐✨\n\n" - "Наши преимущества:\n" - "
" - "🚀 Высокая скорость\n" - "🔄 Стабильность\n" - "🌍 Смена локаций\n" - "💬 Отзывчивая поддержка\n" - "📱💻 Для телефонов, компьютеров и планшетов\n" - "💰 Реферальная программа: 25% от покупки\n" - "
" - "\n\n🎁 1 день бесплатно!\n\n" - "Перейдите в профиль для продолжения 👇" - ) - -ABOUT_VPN = ( - "*О VPN*\n\n" - "🚀 Высокоскоростные серверы\n" - "Мы используем высокоскоростные серверы в различных локациях для обеспечения стабильного и быстрого соединения.\n\n" - - "🔐 Безопасность данных\n" - "Для защиты ваших данных мы применяем новейшие протоколы шифрования, которые гарантируют вашу конфиденциальность.\n\n" - - "🔑 Ваш ключ — ваша безопасность!\n" - "Не передавайте своё шифрование сторонним лицам, чтобы избежать рисков.\n\n" - - f"Версия бота: {BOT_VERSION}" - ) - -KEY = ( - "⚠️ У вас уже был пробный ключ.\n\n" - "Новый ключ будет выдан на один месяц и стоит 100 рублей.\n\n" - "Хотите продолжить?" -) - -KEY_TRIAL = ( - "🎉 Вам будет выдан пробный ключ на 24 часа!\n\n" - "Пожалуйста, введите название для вашего пробного ключа:" -) - -TRIAL = ( - "🎉 Вам предоставлен пробный период на 1 день!\n" - "Пожалуйста, воспользуйтесь им, чтобы протестировать наш сервис." - ) - -NULL_BALANCE = ( - "❗️ Недостаточно средств на балансе для создания нового ключа. " - "Пожалуйста, пополните баланс." -) - -NO_KEYS = ( - "У вас нет подключённых устройств 😕\n\n" - "➕ Создайте первое устройство, чтобы подключиться к VPN.\n" - "Ваши устройства будут отображаться здесь." -) - -INSTRUCTIONS = ( - "*📋 Инструкции по использованию вашего ключа:*\n\n" - "1. **Скачайте приложение для вашего устройства:**\n" - " - **Для Android:** [V2Ray](https://play.google.com/store/apps/details?id=com.v2ray.ang&hl=ru&pli=1)\n" - " - **Для iPhone:** [Streisand](https://apps.apple.com/ru/app/streisand/id6450534064)\n" - " - **Для Windows:** [Hiddify Next](https://github.com/hiddify/hiddify-next/releases/latest/download/Hiddify-Windows-Setup-x64.Msix)\n\n" - "2. **Скопируйте предоставленный ключ**, который вы получили ранее.\n" - "3. **Откройте приложение и нажмите на плюсик сверху справа.**\n" - "4. **Выберите 'Вставить из буфера обмена' для добавления ключа.**\n\n" - "💬 Если у вас возникнут вопросы, не стесняйтесь обращаться в [поддержку](https://t.me/solonet_sup)." -) - -INSTRUCTIONS_TRIAL = ( - "📋 Инструкции по использованию вашего ключа:\n\n" - "1. Скачайте приложение для вашего устройства:\n" - " - Для Android: V2Ray\n" - " - Для iPhone: Streisand\n" - " - Для Windows: Hiddify Next\n\n" - "2. Скопируйте предоставленный ключ, который вы получили ранее.\n" - "3. Откройте приложение и нажмите на плюсик сверху справа.\n" - "4. Выберите 'Вставить из буфера обмена' для добавления ключа.\n\n" - "💬 Если у вас возникнут вопросы, не стесняйтесь обращаться в поддержку." -) - -KEY_EXPIRY_10H = "🔔 Уведомление: Ваш ключ {email} для сервера {server_id} истекает через 10 часов.\n" \ - "Дата истечения: {expiry_date}"\ - "Перейдите в профиль и пополните баланс, всего 100 рублей на целый месяц"\ - "ключ продлится автоматически" - -KEY_EXPIRY_24H = "🔔 Уведомление: Ваш ключ {email} для сервера {server_id} истекает через 24 часа.\n" \ - "Осталось времени: {hours_left} часов\n" \ - "Дата истечения: {expiry_date}\n" \ - "Баланс: {balance:.2f} руб."\ - -KEY_RENEWED = "Ваш ключ был продлен на месяц." -KEY_RENEWAL_FAILED = "Не удалось продлить ключ на панели, обратитесь в поддержку." -KEY_DELETED = "Ваш ключ был удален из-за недостаточного баланса." -KEY_DELETION_FAILED = "Не удалось удалить ключ с панели, обратитесь в поддержку." - -CHANNEL_LINK = "https://t.me/solonet_vpn" - -def get_referral_link(user_id): - return f"https://t.me/SoloNetVPN_bot?start=referral_{user_id}" - -def key_message_success(connection_link, remaining_time_message): - key_message = ( - "✅ Ключ успешно создан:\n" - f"
{connection_link}
\n\n" - f"{remaining_time_message}\n\n" - "Добавьте ключ в приложение по инструкции ниже:" - ) - return key_message - -def key_message(key, formatted_expiry_date, days_left_message, server_name): - response_message = (f"🔑 Ваш ключ:\n
{key}
\n" - f"📅 Дата окончания: {formatted_expiry_date}\n" - f"{days_left_message}\n" - f"🌍 Сервер: {server_name}\n\n" - f"Скопируйте ключ и перейдите в инструкции👇") - return response_message - -def key_relocated(new_key): - response_message = ( - f"Ключ успешно перемещен на новый сервер.\n\n" - f"Удалите старый ключ из вашего приложения и используйте новый для подключения к новому серверу:\n" - f"
{new_key}
" - ) - return response_message - -def profile_message_send(username, tg_id, balance, key_count): - profile_message = ( - f"Профиль: {username}\n\n" - f"🔹 ID: {tg_id}\n" - f"🔹 Баланс: {balance} RUB\n" - f"🔹 К-во устройств: {key_count}\n\n" - ) - return profile_message - -def invite_message_send(referral_link,referral_stats): - invite_message = ( - f"👥 Ваша реферальная ссылка:\n
{referral_link}
\n" - f"Пригласите реферала и получайте 25% с его каждого пополнения!\n\n" - f"🔹 Всего приглашено: {referral_stats['total_referrals']}\n" - f"🔹 Активных рефералов: {referral_stats['active_referrals']}" - ) - return invite_message \ No newline at end of file From d5a08b11833dd307a3be69d39cb241e3149d13d9 Mon Sep 17 00:00:00 2001 From: Vladless Date: Mon, 28 Oct 2024 00:54:22 +0300 Subject: [PATCH 4/4] rm --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 101388c8..95a69770 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ /config copy.py /docker-compose.yml __pycache__ +handlers/texts.py \ No newline at end of file