Closed Elecx-ir closed 6 months ago
سلام وقت بخیر، خیر، باید دستی بزنید
ببخشید من اگه داخل فایل expired.py یک تابع بنویسم که همه کاربرای اکتیو رو چک کنه اگه براشون اینباند های دیگه فعال نبود فعال کنه به نظرتون برای پنل مشکلی پیش میاد؟
بستگی به کدنویسیتون داره، بهتره در فایل جدایی باشه. شما کد هاتون رو نوشتید برام ارسال کنید من حتما بررسی میکنم.
from pyrogram import *
from Function.db import *
import time
app = Client(
"activated",
api_id=26410400,
api_hash="408bf51732560cb81a0e32533b858cbf",
bot_token=DEF_GET_BOT_TOKEN())
with app :
while True :
try :
BOSS_CHATID , STATUS = DEF_MESSAGER_IMPORT_DATA()
if STATUS == "on" :
PANEL_USER, PANEL_PASS, PANEL_DOMAIN = DEF_IMPORT_DATA (BOSS_CHATID)
PANEL_TOKEN = DEF_PANEL_ACCESS(PANEL_USER, PANEL_PASS, PANEL_DOMAIN)
URL = f"https://{PANEL_DOMAIN}/api/users?status=active"
RESPONCE = requests.get(url=URL , headers=PANEL_TOKEN)
if RESPONCE.status_code == 200 :
RESPONCE_DATA = RESPONCE.json()
for USER in RESPONCE_DATA["users"] :
if not USER["inbounds"] == {'vmess': ['VMess TCP']} : ## One of these existing inbounds
USERNAME = USER["username"]
URL = f"https://{PANEL_DOMAIN}/api/user/{USERNAME}"
DATA = {"proxies": {"vmess": {},"vless": {}},"inbounds": {"vmess": ["VMess TCP"],"vless": ["VLESS + GRPC + REALITY","VLESS-G-RE-speedtest","VLESS GRPC TLS"]}} ## All these existing inbounds
RESPONCE = requests.put(url=URL , json=DATA , headers=PANEL_TOKEN)
if RESPONCE.status_code == 200 :
app.send_message(chat_id=BOSS_CHATID , text=f"<b>✅ Boss! user <code>{USERNAME}</code> is Activated,\nI have set the inbounds.</b>" , parse_mode=enums.ParseMode.HTML)
else :
app.send_message(chat_id=BOSS_CHATID , text=f"<b>❗ Boss! user <code>{USERNAME}</code> is Activated,\nbut I can't set the inbounds.\n\n<pre>{RESPONCE.text}</pre></b>" , parse_mode=enums.ParseMode.HTML)
time.sleep(0.5)
time.sleep(5)
else :
time.sleep(60)
except Exception as e :
app.send_message(chat_id=BOSS_CHATID , text=f"<b>❌ Activator Error :</b>\n<pre>{str(e)}</pre>" , parse_mode=enums.ParseMode.HTML)
time.sleep(60)
pass
من این برنامه نسبت به پنل خودم تغییر دادم ولی هنوز اجراش نکردم برنامه از نظر شما مشکلی نداره؟
میخوام بدونم امکان داره به صورت نصبی به اسکریپت اضافه کنمش ( خودم بلد نیستم ) :)
بهتر بود در قالب فایل پایتون باشه تا دقیقتر بررسی شود.
12 Mar 2024 Sal 13:49 tarihinde Abolfazl @.***> şunu yazdı:
`from pyrogram import from Function.db import import time
app = Client( "activated", api_id=26410400, api_hash="408bf51732560cb81a0e32533b858cbf", bot_token=DEF_GET_BOT_TOKEN())
with app : while True : try : BOSS_CHATID , STATUS = DEF_MESSAGER_IMPORT_DATA() if STATUS == "on" : PANEL_USER, PANEL_PASS, PANEL_DOMAIN = DEF_IMPORT_DATA (BOSS_CHATID) PANEL_TOKEN = DEF_PANEL_ACCESS(PANEL_USER, PANEL_PASS, PANEL_DOMAIN) URL = f"https://{PANEL_DOMAIN}/api/users?status=active" RESPONCE = requests.get(url=URL , headers=PANEL_TOKEN)
if RESPONCE.status_code == 200 : RESPONCE_DATA = RESPONCE.json() for USER in RESPONCE_DATA["users"] : if not USER["inbounds"] == {'vmess': ['VMess TCP']} : ## One of these existing inbounds USERNAME = USER["username"] URL = f"https://{PANEL_DOMAIN}/api/user/{USERNAME}" DATA = {"proxies": {"vmess": {},"vless": {}},"inbounds": {"vmess": ["VMess TCP"],"vless": ["VLESS + GRPC + REALITY","VLESS-G-RE-speedtest","VLESS GRPC TLS"]}} ## All these existing inbounds RESPONCE = requests.put(url=URL , json=DATA , headers=PANEL_TOKEN) if RESPONCE.status_code == 200 : app.send_message(chat_id=BOSS_CHATID , text=f"<b>✅ Boss! user <code>{USERNAME}</code> is Activated,\nI have set the inbounds.</b>" , parse_mode=enums.ParseMode.HTML) else : app.send_message(chat_id=BOSS_CHATID , text=f"<b>❗ Boss! user <code>{USERNAME}</code> is Activated,\nbut I can't set the inbounds.\n\n<pre>{RESPONCE.text}</pre></b>" , parse_mode=enums.ParseMode.HTML) time.sleep(0.5) time.sleep(5) else : time.sleep(60) except Exception as e : app.send_message(chat_id=BOSS_CHATID , text=f"<b>❌ Activator Error :</b>\n<pre>{str(e)}</pre>" , parse_mode=enums.ParseMode.HTML) time.sleep(60) pass
`
من این برنامه نصبت به پنل خودم تغییر دادم ولی هنوز اجراش نکردم برنامه از نظر شما مشکلی نداره
میخوام بدونم امکان داره به صورت نصبی به اسکریپت اضافه کنمش ( خودم بلد نیستم ) :)
— Reply to this email directly, view it on GitHub https://github.com/erfjab/holderbot/issues/45#issuecomment-1991284728, or unsubscribe https://github.com/notifications/unsubscribe-auth/BCJKIE5INXSB3SOGSGBEZDTYX3JDFAVCNFSM6AAAAABERTAYT2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJRGI4DINZSHA . You are receiving this because you commented.Message ID: @.***>
هر چی تلاش کردم نتونستم فایل پایتون ارسال کنم
We don’t support that file type.
Try again with GIF, JPEG, JPG, MOV, MP4, PNG, SVG, WEBM, CPUPROFILE, CSV, DMP, DOCX, FODG, FODP, FODS, FODT, GZ, JSON, JSONC, LOG, MD, ODF, ODG, ODP, ODS, ODT, PATCH, PDF, PPTX, TGZ, TXT, XLS, XLSX or ZIP.
if ps aux | grep -v grep | grep "python3 activated.py" &> /dev/null; then
echo "Stopping existing Activated process..."
pkill -f "python3 activated.py"
fi
chmod +x activated.py
nohup python3 activated.py & disown
این کد هارو به فایل /holderbot.sh اضافه کنم و اسکریپت رو دوباره اجرا کنم اوکی میشه؟
یا دستوراتی برای پاک کردن باید بزنم بعد اسکریپت رو اجرا کنم؟
خب تو کد چیز خاصی ندیدم باعث ارور شود، پروژه رو فورک کنید تست کنید، نگران نباشید مشکل خوردید خودم کامیت میزنم براتون حل شه.
if ps aux | grep -v grep | grep "python3 activated.py" &> /dev/null; then echo "Stopping existing Activated process..." pkill -f "python3 activated.py" fi chmod +x activated.py nohup python3 activated.py & disown
این کد هارو به فایل /holderbot.sh اضافه کنم و اسکریپت رو دوباره اجرا کنم اوکی میشه؟
یا دستوراتی برای پاک کردن باید بزنم بعد اسکریپت رو اجرا کنم؟
همین کارو بکنم اوکی میشه ؟
آره عزیز
cd && cd .. && rm -f holderbot.sh* || true && sudo apt install && sudo apt-get install libjpeg-dev && wget https://raw.githubusercontent.com/Elecx-ir/holderbot/main/holderbot.sh && chmod +x holderbot.sh && ./holderbot.sh
https://raw.githubusercontent.com/Elecx-ir/holderbot/main/holderbot.sh
https://raw.githubusercontent.com/Elecx-ir/holderbot/main/activated.py
مشکل این چیه وقتی روی سرور اجرا میکنم فایل ها جدید نمیاد ولی وقتی لینک رو باز میکنم تغییرات انجام شده و فایل هست
داخل فایل holderbot.sh اون قسمتی که پروژه clone میشه، به اسم خودتون تغییر بدید. آموزشش : https://t.me/ErfjabHolderbot/84
شت حاجی همه یوزرام رو uuid هاشون رو عوض کرد همه قطع شدن.
شرط if not USER["inbounds"] == {'vmess': ['VMess TCP']} : همیشه برقرار بوده :|
if not USER["inbounds"] == {"vmess": ["VMess TCP"],"vless": ["VLESS + GRPC + REALITY","VLESS-G-RE-speedtest","VLESS GRPC TLS"]} :
این به نظرت درسته دیگه ؟
بستگی به اینباند شما داره عزیز، اگر اینباند هاتون به این شکلن بله درسته
داداش دمت گرم کارت درسته
فقط اگه time.sleep(0.5) رو کمتر کنم مشکلی پیش میاد؟ چون تا بیاد بین هر یوزر 0.5 ثانیه صبر کنه خیلی طول میکشه تا برسه به یوزر اخر
خواهش میکنم، بهتره مکث باشه، مشکل میشه اگه نباشه
عالی شده
I can't find user.
این ارور برای چیه کارو انجام میده ولی این ارور هم میده
اون به خاطر اینه که پیام set the messages رو به اینباند تغییر دادی، بهتره همون مسیج بزاری.
if MESSAGE_TEXT == "🧨" or ("boss of one") in MESSAGE_TEXT or "set the messages." in MESSAGE_TEXT or "set the inbounds." in MESSAGE_TEXT :
خط 111 فایل holder.py درسته ؟
ممنون
عالی داداش، فکر نمیکردم پیدا کنی واسه همین گفتم اینباند رو مسیج کن، کارت درسته، پرانتز های شرط دو (boss of one) رو هم حذف کن. داداش خوشحال میشم باهام از تلگرامم در ارتباط باشی : @Erfjab
بهت پیام دادم خوشحال میشم اگه کاری از دست من برمیاد انجام بدم البته که انگشت کوچیکه شماهم نیستیم.
تو خودت استادی داداش ❤️
سلام وقتی Notice رو فعال میکنم و یک کاربر منقضی میشه و ادیت میشه بعد از اینکه تمدید کردم مگه نباید به صورت خودکار ادیت بشه و به حالت قبل برگرده ؟