2025-05-26 17:04:02 -06:00
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
meu_ip_fun ( ) {
MIP = $( ip addr | grep 'inet' | grep -v inet6 | grep -vE '127\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -o -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | head -1)
MIP2 = $( wget -qO- ipv4.icanhazip.com)
[ [ " $MIP " != " $MIP2 " ] ] && IP = " $MIP2 " || IP = " $MIP "
}
meu_ip_func ( ) {
MIP = $( ip addr | grep 'inet' | grep -v inet6 | grep -vE '127\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -o -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | head -1)
MIP2 = $( wget -qO- ipv4.icanhazip.com)
[ [ " $MIP " != " $MIP2 " ] ] && IP = " $MIP2 " || IP = " $MIP "
}
rm -rf /etc/localtime & >/dev/null
ln -s /usr/share/zoneinfo/America/Chihuahua /etc/localtime & >/dev/null
rm -rf /usr/local/lib/systemubu1 & >/dev/null
2025-05-28 05:40:37 -06:00
2025-05-26 17:04:02 -06:00
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
# --------------------------------------
# Sección de Constantes
# --------------------------------------
# Línea divisoria utilizada en la salida del bot
LINE = "━━━━━━━━━━━━━━━━━━"
# Rutas principales
2025-05-28 05:40:37 -06:00
SCPT_DIR = "/etc/cat/script"
SCPT_DIRC = "/etc/cat/casita"
2025-05-26 17:04:02 -06:00
DIR = "/etc/http-shell"
2025-05-28 05:11:36 -06:00
CIDdir = "/etc/CAT-BOT"
USRdatabase2 = "/etc/CAT-BOT/Creditos"
2025-05-26 17:04:02 -06:00
# Archivos y directorios específicos
LIST = "lista-arq"
CIDRESS = " ${ CIDdir } /RESSELLERS "
SRC = " ${ CIDdir } /sources "
CID = " ${ CIDdir } /User-ID "
CIDB = " ${ CIDdir } /regcup "
CIDC = " ${ CIDdir } /User-Hist "
keytxt = " ${ CIDdir } /keys "
# --------------------------------------
# Configuración de Listas de Archivos
# --------------------------------------
# Lista de archivos para BASICINST (si no existe /etc/newadm-instal)
BASICINST_DEFAULT = "menu.sh LATAMbot.sh PDirect.py PGet.py POpen.py PPriv.py PPub.py message.txt"
# Lista de archivos para BASICINSTC (si no existe /etc/newadm-install)
BASICINSTC_DEFAULT = "ID.txt slowdns.sh ADMbot.sh C-SSR.sh Crear-Demo.sh PDirect.py PGet.py POpen.py PPriv.py PPub.py apacheon.sh blockBT.sh budp.sh dns-netflix.sh dropbear.sh fai2ban.sh message.txt openvpn.sh paysnd.sh ports.sh sockspy.sh speed.py squid.sh squidpass.sh ssl.sh tcp.sh ultrahost v2ray.sh python.py"
#BASICINSTC_DEFAULT="ID menu message.txt dropbear.sh proxy.sh wireguard.sh openvpn.sh ssl.sh python.py shadowsocks.sh Shadowsocks-libev.sh Shadowsocks-R.sh v2ray.sh slowdns.sh budp.sh name adminkey sockspy.sh PDirect.py PPub.py PPriv.py POpen.py PGet.py"
# Cargar listas desde archivos si existen, o usar valores por defecto
[ [ -e /etc/newadm-instal ] ] && BASICINST = " $( cat /etc/newadm-instal) " || BASICINST = " ${ BASICINST_DEFAULT } "
[ [ -e /etc/newadm-install ] ] && BASICINSTC = " $( cat /etc/newadm-install) " || BASICINSTC = " ${ BASICINSTC_DEFAULT } "
# --------------------------------------
# Creación de Directorios
# --------------------------------------
# Crear directorios necesarios si no existen
[ [ ! -e " ${ SCPT_DIR } " ] ] && mkdir " ${ SCPT_DIR } "
[ [ ! -e " ${ SCPT_DIRC } " ] ] && mkdir " ${ SCPT_DIRC } "
[ [ ! -d " ${ CIDdir } " ] ] && mkdir " ${ CIDdir } "
[ [ ! -e " ${ CIDRESS } " ] ] && mkdir " ${ CIDRESS } "
[ [ ! -d " ${ SRC } " ] ] && mkdir " ${ SRC } "
[ [ ! -d " ${ keytxt } " ] ] && mkdir " ${ keytxt } "
[ [ ! -d " ${ USRdatabase2 } " ] ] && mkdir " ${ USRdatabase2 } "
mkdir /etc/bot/creditos
# --------------------------------------
# Creación de Archivos
# --------------------------------------
# Crear archivos necesarios si no existen
[ [ ! -e " ${ CID } " ] ] && touch " ${ CID } "
[ [ ! -e " ${ CIDB } " ] ] && touch " ${ CIDB } "
[ [ ! -e " ${ CIDC } " ] ] && touch " ${ CIDC } "
touch lista
[ [ ! -e RESET ] ] && touch RESET
# --------------------------------------
# Configuración de Dependencias
# --------------------------------------
# Instalar jq si no está presente
[ [ $( dpkg --get-selections | grep -w "jq" | head -1) ] ] || apt-get install jq apt-get install jq -y & >/dev/null
# Descargar ShellBot.sh si no existe
[ [ ! -e "/bin/ShellBot.sh" ] ] && wget -O /bin/ShellBot.sh https://www.dropbox.com/s/gfwlkfq4f2kplze/ShellBot.sh & >/dev/null
# --------------------------------------
# Limpieza de Archivos Temporales
# --------------------------------------
# Eliminar archivo de texto-bot si existe
[ [ -e /etc/texto-bot ] ] && rm /etc/texto-bot
fsub = 'subdomain.log'
txt[ 0] = 'Ingresa tu IP:'
txt[ 1] = 'Ingresa el subdominio:'
txt[ 2] = 'Ingresa tu reseller:'
# Importando API
source ShellBot.sh
# Token del bot
2025-05-28 05:40:37 -06:00
bot_token = " $( cat ${ CIDdir } /token) "
2025-05-26 17:04:02 -06:00
# Inicializando el bot
ShellBot.init --token " $bot_token " --monitor --flush --return map
ShellBot.username
ShellBot.setMyCommands --commands '[{"command":"menu","description":"muestra el menu principal"},{"command":"id","description":"muestra tu id de telegram"}]'
reply ( ) {
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.sendMessage --chat_id $var \
--text " $( echo -e " ${ bot_retorno : = $comando } " ) " \
--parse_mode html --reply_markup " $( ShellBot.ForceReply) "
}
replydos ( ) {
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.sendMessage --chat_id $var \
--text " $( echo -e " ${ bot_retorno : = $comando } " ) " \
--parse_mode html --reply_markup " $( ShellBot.ForceReply) "
}
datauser( ) {
# Constantes
#local LINE="━━━━━━━━━━━━━━━━━━"
local check = ( [ 0] = "🔴 ●-- <b>SIN ACCESO VIP</b>" [ 1] = "🟢|-- <b>CON ACCESO VIP</b>" [ 2] = "<b>BIENVENIDO ADMIN</b>" )
# Determinar datos del usuario
name = ${ message_from_first_name [ $id ] :- ${ callback_query_from_first_name } }
username = ${ message_from_username [ $id ] :- ${ callback_query_from_username [ $id ] } }
var = ${ callback_query_message_chat_id [ $id ] :- ${ message_chat_id [ $id ] } }
# Verificar permisos
if [ [ " $permited " != " $chatuser " ] ] ; then
usr = $( grep -q " $chatuser " ${ CIDdir } /User-ID && echo 1 || echo 0)
else
usr = 2
fi
# Actualizar nombre desde configuración, si existe
[ [ -e ${ CIDRESS } /${ chatuser } .conf ] ] && name = $( cat ${ CIDRESS } /${ chatuser } .conf)
# Construir respuesta
bot_retorno = " $LINE \n━━━━◢ <b>MENU PRINCIPAL</b> ◣━━━━\n\n "
bot_retorno += " 👤 |-- [ $name ]\n👤 |-- [ <b>@ $username </b> ]\n🆔 |-- [ <code> $var </code> ]\n\n "
bot_retorno += " <b> ${ check [ $usr ] } </b>\n $LINE \n "
}
# verificacion primarias KEYS CON ACCESO
gerar_keys ( ) {
MSG_id = $(( ${ message_message_id } + 1 ))
meu_ip_fun
#Verificador de keys
unset checkPID_GEN
checkPID_GEN = $( ps x| grep -v grep| grep "8888" )
[ [ ! $checkPID_GEN ] ] && checkPID_GEN = '️⚠️ ESTADO ⚠️ NO USAR! Esta Key es Invalida🚨' || checkPID_GEN = ''
[ [ ! -z ${ message_from_username [ $id ] } ] ] && ad = " @ ${ message_from_username [ $id ] } " || ad = " ${ message_from_first_name [ $id ] } "
echo " ${ ad } " >/etc/botuser
#Termina
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
unset newresell
newresell = " ${ USRdatabase2 } /Mensaje_ $chatuser .txt "
if [ [ ! -e ${ newresell } ] ] ; then
echo " ${ firsnme } ${ lastnme } " > ${ SCPT_DIR } /message.txt
else
echo " $( cat ${ newresell } ) " > ${ SCPT_DIR } /message.txt
fi
[ [ ! $newresell ] ] && credill = " By $( cat ${ USRdatabase2 } /Mensaje_$chatuser .txt) " || credill = " By $( cat ${ SCPT_DIR } /message.txt) "
[ [ ! ${ keytxt } /key_$chatuser .txt ] ] && kg = "0" || kg = $( cat ${ keytxt } /key_$chatuser .txt | wc -l)
unset usrLOP nombrevalue nBot nBotSS
unset nombrevalue
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ message_from_id } "
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ callback_query_from_id } "
2025-05-28 05:11:36 -06:00
numkey_gen = $( grep -o -i $nombrevalue /etc/CAT-BOT/num-key.cont | wc -l)
limcont = $( cat /etc/CAT-BOT/limit)
[ [ " $limcont " -ge "998" ] ] && limted = "♾️" || limted = $( cat /etc/CAT-BOT/limit)
2025-05-26 17:04:02 -06:00
[ [ " $(( $limcont - $numkey_gen )) " -ge "900" ] ] && credres = "♾️" || credres = $(( $limcont - $numkey_gen ))
[ [ -z $nBot ] ] && nBot = $( ShellBot.username)
valuekey = " $( date | md5sum | head -c10) "
valuekey += " $( echo $(( $RANDOM * 10 )) | head -c 5) "
fun_list " $valuekey "
keyfinal = $( ofus " $IP :8888/ $valuekey / $LIST " )
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "️ GENERANDO KEY CASITA"
local bot_retorno = "┅┅┅⋙💥❯❯ ❯ ❯ ❲ BOT GEN ❳ ❮ ❮ ❮❮💥⋘┅┅┅ \n"
bot_retorno += "\n"
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
[ [ -z ${ message_chat_tittle } ] ] && grupCHAT = "" || grupCHAT = " ChatID : ${ chatuser } "
[ [ -z ${ usrLOP } ] ] && bot_retorno += " 🆔 ●⸺ [ <tg-spoiler> ${ nombrevalue } </tg-spoiler> $grupCHAT ] \n "
bot_retorno += "🔑 KEY GENERADA DARNIX🔑 \n"
bot_retorno += "\n"
bot_retorno += " 👤 SLOGAN: : $credill \n "
2025-05-28 05:11:36 -06:00
bot_retorno += " $( cat < /etc/CAT-BOT/resel) \n "
2025-05-26 17:04:02 -06:00
bot_retorno += "\n"
bot_retorno += "💾 Instalador:\n"
bot_retorno += "\n"
bot_retorno += "<pre>apt update -y; apt list --upgradable; apt upgrade -y; wget --no-check-certificate https://gitea.com/darnix1/darnix/raw/branch/main/LACASITA.sh; chmod 777 LACASITA.sh; ./LACASITA.sh</pre>\n\n"
bot_retorno += "\n"
bot_retorno += "🔑 Key: (Valida por solo 30 min) \n"
bot_retorno += "\n"
bot_retorno += " <code> ${ keyfinal } </code>\n "
bot_retorno += " $checkPID_GEN \n "
bot_retorno += " $LINE \n "
bot_retorno += " KEY GENERADAS EN 24hrs: [ $credres / $limted ]\n "
bot_retorno += " $LINE \n "
echo " $keyfinal " >> ${ keytxt } /key_${ chatuser } .txt
bot_retorno += " KEY UASADAS [ $numkey_used ] \n "
bot_retorno += " KEY GENERADAS [ $numkey_gen ]\n "
bot_retorno += "📀 𝙐 𝙗 𝙪 𝙣 𝙩 𝙪 : 𝟭 𝟴 , 𝟮 𝟬 .𝟬 𝟰 𝙇 𝙏 𝙎 ¡𝙍𝙚𝙘𝙤𝙢𝙚𝙣𝙙𝙖𝙙𝙤\n"
bot_retorno += "<b>☢️ Modo Autodestruccion de Mensaje Activado ✔️</b>\n"
bot_retorno += " $LINE \n "
comand_boton "keymen"
sleep 1h
msj_del ${ message_message_id }
msj_del ${ MSG_id }
}
generar( ) {
if [ [ $( echo $permited | grep " ${ chatuser } " ) = "" ] ] ; then
echo ""
if [ [ $( cat ${ CID } | grep " ${ chatuser } " ) = "" ] ] ; then
ShellBot.sendMessage --chat_id $chatuser \
--text " $( echo -e "⚠️═ 𝗖 𝗢 𝗠 𝗔 𝗡 𝗗 𝗢 𝗕 𝗟 𝗢 𝗤 𝗨 𝗘 𝗔 𝗗 𝗢 ═ ⚠️\n▫️ > Sin Acceso VIP \n ❌- KEY CANCELADA -❌ \n" ) "
else
VPSsec = $( date +%s)
dia = " $( cat ${ CID } | grep -w " $chatuser " | cut -d'|' -f2) "
DataSec = $( date +%s --date= " $dia " )
[ [ " $VPSsec " -gt " $DataSec " ] ] && {
local us = " ❯ ══━━━━⎊⎊━━━━══ ❮ ️ \nUSUARIO ID: <code>$chatuser </code> EXPIRADO \n "
ShellBot.sendMessage --chat_id ${ permited [ $id ] } \
--text " $( echo -e " $us " ) " \
--parse_mode html
EXPTIME = "EXPIRADO"
rm -rf ${ USRdatabase2 } /Mensaje_$chatuser .txt & >/dev/null
rm ${ keytxt } /key_${ chatuser } .txt & >/dev/null
sed -i " / $chatuser /d " ${ CID }
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.sendMessage --chat_id $var \
--text " $( echo -e USUARIO EXPIRADO) " \
--parse_mode html
return 0
} || {
EXPTIME = " [ $(( $(( $DataSec - $VPSsec )) / 86400 )) ] DIAS "
gerar_keys
}
fi
else
gerar_keys
fi
}
fun_list ( ) {
rm ${ SCPT_DIRC } /*.x.c & > /dev/null
unset KEY
KEY = " $1 "
#CRIA DIR
[ [ ! -e ${ DIR } ] ] && mkdir ${ DIR }
#ENVIA ARQS
i = 0
VALUE += " gerar.sh instgerador.sh http-server.py lista-arq $BASICINSTC "
for arqx in ` ls ${ SCPT_DIRC } ` ; do
[ [ $( echo $VALUE | grep -w " ${ arqx } " ) ] ] && continue
echo -e " [ $i ] -> ${ arqx } "
arq_list[ $i ] = " ${ arqx } "
let i++
done
#CRIA KEY
[ [ ! -e ${ DIR } /${ KEY } ] ] && mkdir ${ DIR } /${ KEY }
#PASSA ARQS
unset nombrevalue
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ message_from_id } "
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ callback_query_from_id } "
2025-05-28 05:11:36 -06:00
if [ [ " $( grep -o -i $nombrevalue /etc/CAT-BOT/num-key.cont | wc -l) " -ge " $( cat < /etc/CAT-BOT/limit) " ] ] ; then
2025-05-26 17:04:02 -06:00
local bot_retorno = " $LINE \n "
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
bot_retorno += " 👤 ●-- Hola ${ firsnme } ${ lastnme } \n "
bot_retorno += "Su 🆔 alcanzó el Límite de KEYS permitidos\n"
2025-05-28 05:11:36 -06:00
bot_retorno += " ▫️ Limite Permitido Vencido: $( cat < /etc/CAT-BOT/limit) \n "
bot_retorno += " 🔴 Generaste 『 $( grep -o -i $nombrevalue /etc/CAT-BOT/num-key.cont | wc -l) 』Keys en el BOT \n "
2025-05-26 17:04:02 -06:00
bot_retorno += "Espera 12 horas a que se libere o contacta al ADM lo haga\n"
bot_retorno += " $LINE \n "
msj_fun
exit
else
2025-05-28 05:11:36 -06:00
echo " $nombrevalue " >> /etc/CAT-BOT/num-key.cont
2025-05-26 17:04:02 -06:00
fi
numkey_used = $( grep -o -i $nombrevalue /etc/gerar-sh-log | wc -l)
2025-05-28 05:11:36 -06:00
numkey_gen = $( grep -o -i $nombrevalue /etc/CAT-BOT/num-key.cont | wc -l)
2025-05-26 17:04:02 -06:00
#ADM BASIC
arqslist = " $BASICINSTC "
for arqx in ` echo " ${ arqslist } " ` ; do
[ [ -e ${ DIR } /${ KEY } /$arqx ] ] && continue #ANULA ARQUIVO CASO EXISTA
cp ${ SCPT_DIRC } /$arqx ${ DIR } /${ KEY } /
echo " $arqx " >> ${ DIR } /${ KEY } /${ LIST }
done
rm ${ SCPT_DIRC } /*.x.c & > /dev/null
echo " $nombrevalue " > ${ DIR } /${ KEY } .name
[ [ ! -z $IPFIX ] ] && echo " $IPFIX " > ${ DIR } /${ KEY } /keyfixa
at now +1 hours <<< " rm -rf ${ DIR } / ${ KEY } && rm -rf ${ DIR } / ${ KEY } .name "
}
ofus( ) {
unset server
server = $( echo ${ txt_ofuscatw } | cut -d':' -f1)
unset txtofus
number = $( expr length $1 )
for ( ( i = 1; i < $number + 1; i++) ) ; do
txt[ $i ] = $( echo " $1 " | cut -b $i )
case ${ txt [ $i ] } in
"." ) txt[ $i ] = "C" ; ;
"C" ) txt[ $i ] = "." ; ;
"3" ) txt[ $i ] = "@" ; ;
"@" ) txt[ $i ] = "3" ; ;
"4" ) txt[ $i ] = "9" ; ;
"9" ) txt[ $i ] = "4" ; ;
"6" ) txt[ $i ] = "P" ; ;
"P" ) txt[ $i ] = "6" ; ;
"L" ) txt[ $i ] = "K" ; ;
"K" ) txt[ $i ] = "L" ; ;
esac
txtofus += " ${ txt [ $i ] } "
done
echo " $txtofus " | rev
}
gerar_keyc ( ) {
MSG_id = $(( ${ message_message_id } + 1 ))
meu_ip_func
#Verificador de keys
unset checkPID_GEN
checkPID_GEN = $( ps x| grep -v grep| grep "8888" )
[ [ ! $checkPID_GEN ] ] && checkPID_GEN = '️⚠️ ESTADO ⚠️ NO USAR! Esta Key es Invalida🚨' || checkPID_GEN = ''
[ [ ! -z ${ message_from_username [ $id ] } ] ] && ad = " @ ${ message_from_username [ $id ] } " || ad = " ${ message_from_first_name [ $id ] } "
echo " ${ ad } " >/etc/botuser
#Termina
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
unset newresell
newresell = " ${ USRdatabase2 } /Mensaje_ $chatuser .txt "
if [ [ ! -e ${ newresell } ] ] ; then
echo " ${ firsnme } ${ lastnme } " > ${ SCPT_DIRC } /message.txt
else
echo " $( cat ${ newresell } ) " > ${ SCPT_DIRC } /message.txt
fi
[ [ ! $newresell ] ] && credill = " By $( cat ${ USRdatabase2 } /Mensaje_$chatuser .txt) " || credill = " By $( cat ${ SCPT_DIRC } /message.txt) "
[ [ ! ${ keytxt } /key_$chatuser .txt ] ] && kg = "0" || kg = $( cat ${ keytxt } /key_$chatuser .txt | wc -l)
unset usrLOP nombrevalue nBot nBotSS
unset nombrevalue
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ message_from_id } "
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ callback_query_from_id } "
2025-05-28 05:11:36 -06:00
numkey_gen = $( grep -o -i $nombrevalue /etc/CAT-BOT/num-key.cont | wc -l)
limcont = $( cat /etc/CAT-BOT/limit)
[ [ " $limcont " -ge "998" ] ] && limted = "♾️" || limted = $( cat /etc/CAT-BOT/limit)
2025-05-26 17:04:02 -06:00
[ [ " $(( $limcont - $numkey_gen )) " -ge "900" ] ] && credres = "♾️" || credres = $(( $limcont - $numkey_gen ))
[ [ -z $nBot ] ] && nBot = $( ShellBot.username)
valuekey = " $( date | md5sum | head -c10) "
valuekey += " $( echo $(( $RANDOM * 10 )) | head -c 5) "
fun_listc " $valuekey "
keyfinal = $( ofusc " $IP :8888/ $valuekey / $LIST " )
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "GENERANDO KEY DARNIX"
local bot_retorno = "┅┅┅⋙💥❯❯ ❯ ❯ ❲ BOT GEN ❳ ❮ ❮ ❮❮💥⋘┅┅┅ \n"
bot_retorno += "\n"
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
[ [ -z ${ message_chat_tittle } ] ] && grupCHAT = "" || grupCHAT = " ChatID : ${ chatuser } "
bot_retorno += "🔑 KEY GENERADA DARNIX🔑 \n"
bot_retorno += "\n"
bot_retorno += " 👤 SLOGAN: : $credill \n "
2025-05-28 05:11:36 -06:00
bot_retorno += " $( cat < /etc/CAT-BOT/resel) \n "
2025-05-26 17:04:02 -06:00
bot_retorno += "\n"
bot_retorno += "◈ TOCA EL INSTALADOR ◈:\n"
bot_retorno += "\n"
bot_retorno += "<pre>wget https://gitea.com/darnix1/darnix/raw/branch/main/darnix; chmod 777 darnix; ./darnix</pre>\n\n"
bot_retorno += "\n"
bot_retorno += "◈ TOCA PARA COPIAR LA KEY ◈\n"
bot_retorno += "\n"
bot_retorno += " <code> ${ keyfinal } </code>\n "
bot_retorno += " $checkPID_GEN \n "
bot_retorno += "\n"
bot_retorno += " $LINE \n "
echo " $keyfinal " >> ${ keytxt } /key_${ chatuser } .txt
bot_retorno += " 🔰 KEY GENERADAS [ $numkey_gen ]\n "
bot_retorno += "📀 𝙐 𝙗 𝙪 𝙣 𝙩 𝙪 : 𝟭 𝟴 , 𝟮 𝟬 .𝟬 𝟰 𝙇 𝙏 𝙎 ¡𝙍𝙚𝙘𝙤𝙢𝙚𝙣𝙙𝙖𝙙𝙤\n"
bot_retorno += " $LINE \n "
bot_retorno += "<b>☢️ Modo Autodestruccion de Mensaje Activado ✔️</b>\n"
comand_boton "keymens"
sleep 1h
msj_del ${ message_message_id }
msj_del ${ MSG_id }
}
fun_listc ( ) {
rm ${ SCPT_DIRC } /*.x.c & > /dev/null
unset KEY
KEY = " $1 "
#CRIA DIR
[ [ ! -e ${ DIR } ] ] && mkdir ${ DIR }
#ENVIA ARQS
i = 0
VALUE += " gerar.sh instgerador.sh http-server.py lista-arq $BASICINSTC "
for arqx in ` ls ${ SCPT_DIRC } ` ; do
[ [ $( echo $VALUE | grep -w " ${ arqx } " ) ] ] && continue
echo -e " [ $i ] -> ${ arqx } "
arq_list[ $i ] = " ${ arqx } "
let i++
done
#CRIA KEY
[ [ ! -e ${ DIR } /${ KEY } ] ] && mkdir ${ DIR } /${ KEY }
#PASSA ARQS
unset nombrevalue
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ message_from_id } "
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ callback_query_from_id } "
2025-05-28 05:11:36 -06:00
if [ [ " $( grep -o -i $nombrevalue /etc/CAT-BOT/num-key.cont | wc -l) " -ge " $( cat < /etc/CAT-BOT/limit) " ] ] ; then
2025-05-26 17:04:02 -06:00
local bot_retorno = " $LINE \n "
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
bot_retorno += " 👤 ●-- Hola ${ firsnme } ${ lastnme } \n "
bot_retorno += "Su 🆔 alcanzó el Límite de KEYS permitidos\n"
2025-05-28 05:11:36 -06:00
bot_retorno += " ▫️ Limite Permitido Vencido: $( cat < /etc/CAT-BOT/limit) \n "
bot_retorno += " 🔴 Generaste 『 $( grep -o -i $nombrevalue /etc/CAT-BOT/num-key.cont | wc -l) 』Keys en el BOT \n "
2025-05-26 17:04:02 -06:00
bot_retorno += "Espera 12 horas a que se libere o contacta al ADM lo haga\n"
bot_retorno += " $LINE \n "
msj_fun
exit
else
2025-05-28 05:11:36 -06:00
echo " $nombrevalue " >> /etc/CAT-BOT/num-key.cont
2025-05-26 17:04:02 -06:00
fi
numkey_used = $( grep -o -i $nombrevalue /etc/gerar-sh-log | wc -l)
2025-05-28 05:11:36 -06:00
numkey_gen = $( grep -o -i $nombrevalue /etc/CAT-BOT/num-key.cont | wc -l)
2025-05-26 17:04:02 -06:00
#ADM BASIC
arqslist = " $BASICINSTC "
for arqx in ` echo " ${ arqslist } " ` ; do
[ [ -e ${ DIR } /${ KEY } /$arqx ] ] && continue #ANULA ARQUIVO CASO EXISTA
cp ${ SCPT_DIRC } /$arqx ${ DIR } /${ KEY } /
echo " $arqx " >> ${ DIR } /${ KEY } /${ LIST }
done
rm ${ SCPT_DIRC } /*.x.c & > /dev/null
echo " $nombrevalue " > ${ DIR } /${ KEY } .name
[ [ ! -z $IPFIX ] ] && echo " $IPFIX " > ${ DIR } /${ KEY } /keyfixa
at now +1 hours <<< " rm -rf ${ DIR } / ${ KEY } && rm -rf ${ DIR } / ${ KEY } .name "
}
ofusc( ) {
unset server
server = $( echo ${ txt_ofuscatw } | cut -d':' -f1)
unset txtofus
number = $( expr length $1 )
for ( ( i = 1; i < $number + 1; i++) ) ; do
txt[ $i ] = $( echo " $1 " | cut -b $i )
case ${ txt [ $i ] } in
"." ) txt[ $i ] = "C" ; ;
"C" ) txt[ $i ] = "." ; ;
"3" ) txt[ $i ] = "@" ; ;
"@" ) txt[ $i ] = "3" ; ;
"4" ) txt[ $i ] = "9" ; ;
"9" ) txt[ $i ] = "4" ; ;
"6" ) txt[ $i ] = "P" ; ;
"P" ) txt[ $i ] = "6" ; ;
"L" ) txt[ $i ] = "K" ; ;
"K" ) txt[ $i ] = "L" ; ;
esac
txtofus += " ${ txt [ $i ] } "
done
echo " $txtofus " | rev
}
#TERMINA KEYS CON ACCESO
#EMPIEZA KEYS SINNNNNN ACESSOOOOO
gerar_key ( ) {
MSG_id = $(( ${ message_message_id } + 1 ))
meu_ip_fun
#Verificador de keys
unset checkPID_GEN
checkPID_GEN = $( ps x| grep -v grep| grep "8888" )
[ [ ! $checkPID_GEN ] ] && checkPID_GEN = '️⚠️ ESTADO ⚠️ NO USAR! Esta Key es Invalida🚨' || checkPID_GEN = ''
[ [ ! -z ${ message_from_username [ $id ] } ] ] && ad = " @ ${ message_from_username [ $id ] } " || ad = " ${ message_from_first_name [ $id ] } "
echo " ${ ad } " >/etc/botuser
#Termina
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
unset newresell
newresell = " ${ USRdatabase2 } /Mensaje_ $chatuser .txt "
if [ [ ! -e ${ newresell } ] ] ; then
echo " $( cat ${ newresell } ) " > ${ SCPT_DIR } /message.txt
else
echo " $( cat ${ newresell } ) " > ${ SCPT_DIR } /message.txt
fi
[ [ ! $newresell ] ] && credill = " By $( cat ${ USRdatabase2 } /Mensaje_$chatuser .txt) " || credill = " By $( cat ${ SCPT_DIR } /message.txt) "
[ [ ! ${ keytxt } /key_$chatuser .txt ] ] && kg = "0" || kg = $( cat ${ keytxt } /key_$chatuser .txt | wc -l)
unset usrLOP nombrevalue nBot nBotSS
unset nombrevalue
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ message_from_id } "
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ callback_query_from_id } "
2025-05-28 05:11:36 -06:00
numkey_gena = $( grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l)
limconta = $( cat /etc/CAT-BOT/limita)
[ [ " $limconta " -ge "998" ] ] && limteda = "♾️" || limteda = $( cat /etc/CAT-BOT/limita)
2025-05-26 17:04:02 -06:00
[ [ " $(( $limconta - $numkey_gena )) " -ge "900" ] ] && credress = "♾️" || credress = $(( $limconta - $numkey_gena ))
[ [ -z $nBot ] ] && nBot = $( ShellBot.username)
valuekey = " $( date | md5sum | head -c10) "
valuekey += " $( echo $(( $RANDOM * 10 )) | head -c 5) "
fun_lista " $valuekey "
keyfinal = $( ofus " $IP :8888/ $valuekey / $LIST " )
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "️ GENERANDO KEY DARNIX"
local bot_retorno = "┅┅┅⋙💥❯❯ ❯ ❯ ❲ BOT GEN ❳ ❮ ❮ ❮❮💥⋘┅┅┅ \n"
bot_retorno += "\n"
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
[ [ -z ${ message_chat_tittle } ] ] && grupCHAT = "" || grupCHAT = " ChatID : ${ chatuser } "
[ [ -z ${ usrLOP } ] ] && bot_retorno += " 🆔 ●⸺ [ <tg-spoiler> ${ nombrevalue } </tg-spoiler> $grupCHAT ] \n "
bot_retorno += "\n"
bot_retorno += " 👤 SLOGAN: : $credill \n "
2025-05-28 05:11:36 -06:00
bot_retorno += " $( cat < /etc/CAT-BOT/reselkey) \n "
2025-05-26 17:04:02 -06:00
bot_retorno += "❗️ Recuerda tener un subdominio valido ❗️\n"
bot_retorno += "❗️ Puedes obtener uni en duckdns.org ❗️\n"
bot_retorno += "\n"
bot_retorno += "◈ TOCA EL INSTALADOR ◈:\n"
bot_retorno += "\n"
bot_retorno += "<pre>wget https://gitea.com/darnix1/darnix/raw/branch/main/darnix; chmod 777 darnix; ./darnix</pre>\n\n"
bot_retorno += "\n"
bot_retorno += "🔑 Key: (Valida por solo 30 min) \n"
bot_retorno += "\n"
bot_retorno += " <code> ${ keyfinal } </code>\n "
bot_retorno += " $checkPID_GEN \n "
bot_retorno += " $LINE \n "
bot_retorno += " KEY GENERADAS EN 24hrs: [ $credress / $limteda ]\n "
bot_retorno += " $LINE \n "
echo " $keyfinal " >> ${ keytxt } /key_${ chatuser } .txt
bot_retorno += "📀 𝙐 𝙗 𝙪 𝙣 𝙩 𝙪 : 𝟭 𝟴 , 𝟮 𝟬 .𝟬 𝟰 𝙇 𝙏 𝙎 ¡𝙍𝙚𝙘𝙤𝙢𝙚𝙣𝙙𝙖𝙙𝙤\n"
bot_retorno += "<b>☢️ Modo Autodestruccion de Mensaje Activado ✔️</b>\n"
bot_retorno += " $LINE \n "
comand_boton "keylat"
sleep 1h
msj_del ${ message_message_id }
msj_del ${ MSG_id }
}
fun_lista ( ) {
rm ${ SCPT_DIR } /*.x.c & > /dev/null
unset KEY
KEY = " $1 "
#CRIA DIR
[ [ ! -e ${ DIR } ] ] && mkdir ${ DIR }
#ENVIA ARQS
i = 0
VALUE += " gerar.sh instgerador.sh http-server.py lista-arq $BASICINST "
for arqx in ` ls ${ SCPT_DIR } ` ; do
[ [ $( echo $VALUE | grep -w " ${ arqx } " ) ] ] && continue
echo -e " [ $i ] -> ${ arqx } "
arq_list[ $i ] = " ${ arqx } "
let i++
done
#CRIA KEY
[ [ ! -e ${ DIR } /${ KEY } ] ] && mkdir ${ DIR } /${ KEY }
#PASSA ARQS
unset nombrevalue
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ message_from_id } "
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ callback_query_from_id } "
2025-05-28 05:11:36 -06:00
if [ [ " $( grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l) " -ge " $( cat < /etc/CAT-BOT/limita) " ] ] ; then
2025-05-26 17:04:02 -06:00
local bot_retorno = " $LINE \n "
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
bot_retorno += " 👤 ●-- Hola ${ firsnme } ${ lastnme } \n "
bot_retorno += "Su 🆔 alcanzó el Límite de KEYS permitidos\n"
2025-05-28 05:11:36 -06:00
bot_retorno += " ▫️ Limite Permitido Vencido: $( cat < /etc/CAT-BOT/limita) \n "
bot_retorno += " 🔴 Generaste 『 $( grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l) 』Keys en el BOT \n "
2025-05-26 17:04:02 -06:00
bot_retorno += "Espera 12 horas a que se libere o contacta al ADM lo haga\n"
bot_retorno += " $LINE \n "
msj_fun
exit
else
2025-05-28 05:11:36 -06:00
echo " $nombrevalue " >> /etc/CAT-BOT/num-keys.cont
2025-05-26 17:04:02 -06:00
fi
numkey_used = $( grep -o -i $nombrevalue /etc/gerar-sh-log | wc -l)
2025-05-28 05:11:36 -06:00
numkey_gen = $( grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l)
2025-05-26 17:04:02 -06:00
#ADM BASIC
arqslist = " $BASICINST "
for arqx in ` echo " ${ arqslist } " ` ; do
[ [ -e ${ DIR } /${ KEY } /$arqx ] ] && continue #ANULA ARQUIVO CASO EXISTA
cp ${ SCPT_DIR } /$arqx ${ DIR } /${ KEY } /
echo " $arqx " >> ${ DIR } /${ KEY } /${ LIST }
done
rm ${ SCPT_DIR } /*.x.c & > /dev/null
echo " $nombrevalue " > ${ DIR } /${ KEY } .name
[ [ ! -z $IPFIX ] ] && echo " $IPFIX " > ${ DIR } /${ KEY } /keyfixa
at now +1 hours <<< " rm -rf ${ DIR } / ${ KEY } && rm -rf ${ DIR } / ${ KEY } .name "
}
#Key casita
gerar_cas ( ) {
MSG_id = $(( ${ message_message_id } + 1 ))
meu_ip_fun
#Verificador de keys
unset checkPID_GEN
checkPID_GEN = $( ps x| grep -v grep| grep "8888" )
[ [ ! $checkPID_GEN ] ] && checkPID_GEN = '️⚠️ ESTADO ⚠️ NO USAR! Esta Key es Invalida🚨' || checkPID_GEN = ''
[ [ ! -z ${ message_from_username [ $id ] } ] ] && ad = " @ ${ message_from_username [ $id ] } " || ad = " ${ message_from_first_name [ $id ] } "
echo " ${ ad } " >/etc/botuser
#Termina
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
unset newresell
newresell = " ${ USRdatabase2 } /Mensaje_ $chatuser .txt "
if [ [ ! -e ${ newresell } ] ] ; then
echo " $( cat ${ newresell } ) " > ${ SCPT_DIR } /message.txt
else
echo " $( cat ${ newresell } ) " > ${ SCPT_DIR } /message.txt
fi
[ [ ! $newresell ] ] && credill = " By $( cat ${ USRdatabase2 } /Mensaje_$chatuser .txt) " || credill = " By $( cat ${ SCPT_DIR } /message.txt) "
[ [ ! ${ keytxt } /key_$chatuser .txt ] ] && kg = "0" || kg = $( cat ${ keytxt } /key_$chatuser .txt | wc -l)
unset usrLOP nombrevalue nBot nBotSS
unset nombrevalue
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ message_from_id } "
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ callback_query_from_id } "
2025-05-28 05:11:36 -06:00
numkey_gena = $( grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l)
limconta = $( cat /etc/CAT-BOT/limita)
[ [ " $limconta " -ge "998" ] ] && limteda = "♾️" || limteda = $( cat /etc/CAT-BOT/limita)
2025-05-26 17:04:02 -06:00
[ [ " $(( $limconta - $numkey_gena )) " -ge "900" ] ] && credress = "♾️" || credress = $(( $limconta - $numkey_gena ))
[ [ -z $nBot ] ] && nBot = $( ShellBot.username)
valuekey = " $( date | md5sum | head -c10) "
valuekey += " $( echo $(( $RANDOM * 10 )) | head -c 5) "
fun_listaf " $valuekey "
keyfinal = $( ofusc " $IP :8888/ $valuekey / $LIST " )
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "GENERANDO KEY V11X"
local bot_retorno = "┅┅┅⋙💥❯❯ ❯ ❯ ❲ BOT GEN ❳ ❮ ❮ ❮❮💥⋘┅┅┅ \n"
bot_retorno += "\n"
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
[ [ -z ${ message_chat_tittle } ] ] && grupCHAT = "" || grupCHAT = " ChatID : ${ chatuser } "
bot_retorno += "🔑 KEY GENERADA V11X🔑 \n"
bot_retorno += "\n"
bot_retorno += " 👤 SLOGAN: : $credill \n "
2025-05-28 05:11:36 -06:00
bot_retorno += " $( cat < /etc/CAT-BOT/resel) \n "
2025-05-26 17:04:02 -06:00
bot_retorno += "\n"
bot_retorno += "◈ TOCA EL INSTALADOR ◈:\n"
bot_retorno += "\n"
bot_retorno += "<pre>apt update -y; apt list --upgradable; apt upgrade -y; wget --no-check-certificate https://gitea.com/darnix1/darnix/raw/branch/main/LACASITA.sh; chmod 777 LACASITA.sh; ./LACASITA.sh</pre>\n\n"
bot_retorno += "\n"
bot_retorno += "◈ TOCA PARA COPIAR LA KEY ◈\n"
bot_retorno += "\n"
bot_retorno += " <code> ${ keyfinal } </code>\n "
bot_retorno += " $checkPID_GEN \n "
bot_retorno += "\n"
bot_retorno += " $LINE \n "
echo " $keyfinal " >> ${ keytxt } /key_${ chatuser } .txt
bot_retorno += " 🔰 KEY GENERADAS [ $numkey_gen ]\n "
bot_retorno += "📀 𝙐 𝙗 𝙪 𝙣 𝙩 𝙪 : 𝟭 𝟴 , 𝟮 𝟬 .𝟬 𝟰 𝙇 𝙏 𝙎 ¡𝙍𝙚𝙘𝙤𝙢𝙚𝙣𝙙𝙖𝙙𝙤\n"
bot_retorno += " $LINE \n "
bot_retorno += "<b>☢️ Modo Autodestruccion de Mensaje Activado ✔️</b>\n"
comand_boton "atras2"
sleep 1h
msj_del ${ message_message_id }
msj_del ${ MSG_id }
}
#casita
fun_listaf ( ) {
rm ${ SCPT_DIRC } /*.x.c & > /dev/null
unset KEY
KEY = " $1 "
#CRIA DIR
[ [ ! -e ${ DIR } ] ] && mkdir ${ DIR }
#ENVIA ARQS
i = 0
VALUE += " gerar.sh instgerador.sh http-server.py lista-arq $BASICINSTC "
for arqx in ` ls ${ SCPT_DIRC } ` ; do
[ [ $( echo $VALUE | grep -w " ${ arqx } " ) ] ] && continue
echo -e " [ $i ] -> ${ arqx } "
arq_list[ $i ] = " ${ arqx } "
let i++
done
#CRIA KEY
[ [ ! -e ${ DIR } /${ KEY } ] ] && mkdir ${ DIR } /${ KEY }
#PASSA ARQS
unset nombrevalue
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ message_from_id } "
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ callback_query_from_id } "
2025-05-28 05:11:36 -06:00
if [ [ " $( grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l) " -ge " $( cat < /etc/CAT-BOT/limita) " ] ] ; then
2025-05-26 17:04:02 -06:00
local bot_retorno = " $LINE \n "
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
bot_retorno += " 👤 ●-- Hola ${ firsnme } ${ lastnme } \n "
bot_retorno += "Su 🆔 alcanzó el Límite de KEYS permitidos\n"
2025-05-28 05:11:36 -06:00
bot_retorno += " ▫️ Limite Permitido Vencido: $( cat < /etc/CAT-BOT/limita) \n "
bot_retorno += " 🔴 Generaste 『 $( grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l) 』Keys en el BOT \n "
2025-05-26 17:04:02 -06:00
bot_retorno += "Espera 12 horas a que se libere o contacta al ADM lo haga\n"
bot_retorno += " $LINE \n "
msj_fun
exit
else
2025-05-28 05:11:36 -06:00
echo " $nombrevalue " >> /etc/CAT-BOT/num-keys.cont
2025-05-26 17:04:02 -06:00
fi
numkey_used = $( grep -o -i $nombrevalue /etc/gerar-sh-log | wc -l)
2025-05-28 05:11:36 -06:00
numkey_gen = $( grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l)
2025-05-26 17:04:02 -06:00
#ADM BASIC
arqslist = " $BASICINSTC "
for arqx in ` echo " ${ arqslist } " ` ; do
[ [ -e ${ DIR } /${ KEY } /$arqx ] ] && continue #ANULA ARQUIVO CASO EXISTA
cp ${ SCPT_DIRC } /$arqx ${ DIR } /${ KEY } /
echo " $arqx " >> ${ DIR } /${ KEY } /${ LIST }
done
rm ${ SCPT_DIRC } /*.x.c & > /dev/null
echo " $nombrevalue " > ${ DIR } /${ KEY } .name
[ [ ! -z $IPFIX ] ] && echo " $IPFIX " > ${ DIR } /${ KEY } /keyfixa
at now +1 hours <<< " rm -rf ${ DIR } / ${ KEY } && rm -rf ${ DIR } / ${ KEY } .name "
}
#keydarnix
autovpsf( ) {
MSG_id = $(( ${ message_message_id } + 1 ))
meu_ip_fun
#Verificador de keys
unset checkPID_GEN
checkPID_GEN = $( ps x| grep -v grep| grep "8888" )
[ [ ! $checkPID_GEN ] ] && checkPID_GEN = '️⚠️ ESTADO ⚠️ NO USAR! Esta Key es Invalida🚨' || checkPID_GEN = ''
[ [ ! -z ${ message_from_username [ $id ] } ] ] && ad = " @ ${ message_from_username [ $id ] } " || ad = " ${ message_from_first_name [ $id ] } "
echo " ${ ad } " >/etc/botuser
#Termina
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
unset newresell
newresell = " ${ USRdatabase2 } /Mensaje_ $chatuser .txt "
if [ [ ! -e ${ newresell } ] ] ; then
echo " $( cat ${ newresell } ) " > ${ SCPT_DIR } /message.txt
else
echo " $( cat ${ newresell } ) " > ${ SCPT_DIR } /message.txt
fi
[ [ ! $newresell ] ] && credill = " By $( cat ${ USRdatabase2 } /Mensaje_$chatuser .txt) " || credill = " By $( cat ${ SCPT_DIR } /message.txt) "
[ [ ! ${ keytxt } /key_$chatuser .txt ] ] && kg = "0" || kg = $( cat ${ keytxt } /key_$chatuser .txt | wc -l)
unset usrLOP nombrevalue nBot nBotSS
unset nombrevalue
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ message_from_id } "
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ callback_query_from_id } "
2025-05-28 05:11:36 -06:00
numkey_gena = $( grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l)
limconta = $( cat /etc/CAT-BOT/limita)
[ [ " $limconta " -ge "998" ] ] && limteda = "♾️" || limteda = $( cat /etc/CAT-BOT/limita)
2025-05-26 17:04:02 -06:00
[ [ " $(( $limconta - $numkey_gena )) " -ge "900" ] ] && credress = "♾️" || credress = $(( $limconta - $numkey_gena ))
[ [ -z $nBot ] ] && nBot = $( ShellBot.username)
valuekey = " $( date | md5sum | head -c10) "
valuekey += " $( echo $(( $RANDOM * 10 )) | head -c 5) "
fun_listad " $valuekey "
keyfinal = $( ofusc " $IP :8888/ $valuekey / $LIST " )
ShellBot.answerCallbackQuery --callback8_query_id ${ callback_query_id [ $id ] } \
--text "️ GENERANDO KEY DARNIX"
local bot_retorno = "┅┅┅⋙💥❯❯ ❯ ❯ ❲ BOT GEN ❳ ❮ ❮ ❮❮💥⋘┅┅┅ \n"
bot_retorno += "\n"
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
[ [ -z ${ message_chat_tittle } ] ] && grupCHAT = "" || grupCHAT = " ChatID : ${ chatuser } "
[ [ -e /etc/menu_ito ] ] && nomkey = " $( cat /etc/menu_ito) " || nomkey = " $( curl -sSL "https://www.dropbox.com/s/z38hj1mz3q9krso/menu_credito" ) "
[ [ -e ${ CIDdir } /ress ] ] && echo $nomkey > ${ SCPT_DIR } /menu_credito || {
if [ [ ! -e ${ CIDRESS } /${ chatuser } .conf ] ] ; then
echo -e " ${ firsnme } ${ lastnme } " > ${ SCPT_DIR } /menu_credito
else
cat ${ CIDRESS } /${ chatuser } .conf > ${ SCPT_DIR } /menu_credito
fi
}
adminV = " $( less ${ SCPT_DIR } /menu_credito) " ;
bot_retorno += " 🛡️ 𝚁 𝙴 𝚂 𝙴 𝙻 𝙻 𝙴 𝚁 🛡️ : ${ adminV } \n "
#bot_retorno+="👤 ●⸺ [ ${firsnme} ${lastnme} ] \n"
[ [ -z ${ usrLOP } ] ] && bot_retorno += " 🆔 ●⸺ [ <tg-spoiler> ${ nombrevalue } </tg-spoiler> $grupCHAT ] \n "
bot_retorno += "\n"
bot_retorno += "\n"
2025-05-28 05:11:36 -06:00
bot_retorno += " $( cat < /etc/CAT-BOT/resel) \n "
2025-05-26 17:04:02 -06:00
bot_retorno += "❗️ Recuerda tener un subdominio valido ❗️\n"
bot_retorno += "❗️ Puedes obtener uni en duckdns.org ❗️\n"
bot_retorno += "\n"
bot_retorno += "◈ TOCA EL INSTALADOR ◈:\n"
bot_retorno += "\n"
bot_retorno += "<pre>wget https://gitea.com/darnix1/darnix/raw/branch/main/darnix; chmod 777 darnix; ./darnix</pre>\n\n"
bot_retorno += "\n"
bot_retorno += "◈ TOCA PARA COPIAR LA KEY ◈\n"
bot_retorno += "\n"
bot_retorno += " <code> ${ keyfinal } </code>\n "
bot_retorno += " $checkPID_GEN \n "
bot_retorno += "\n"
bot_retorno += " $LINE \n "
echo " $keyfinal " >> ${ keytxt } /key_${ chatuser } .txt
bot_retorno += " 🔰 KEY GENERADAS [ $numkey_gen ]\n "
bot_retorno += "📀 𝙐 𝙗 𝙪 𝙣 𝙩 𝙪 : 𝟭 𝟴 , 𝟮 𝟬 .𝟬 𝟰 𝙇 𝙏 𝙎 ¡𝙍𝙚𝙘𝙤𝙢𝙚𝙣𝙙𝙖𝙙𝙤\n"
bot_retorno += " $LINE \n "
comand_boton "atras2"
sleep 1h
msj_del ${ message_message_id }
msj_del ${ MSG_id }
}
fun_listad ( ) {
rm ${ SCPT_DIR } /*.x.c & > /dev/null
unset KEY
KEY = " $1 "
#CRIA DIR
[ [ ! -e ${ DIR } ] ] && mkdir ${ DIR }
#ENVIA ARQS
i = 0
VALUE += " gerar.sh instgerador.sh http-server.py lista-arq $BASICINST "
for arqx in ` ls ${ SCPT_DIR } ` ; do
[ [ $( echo $VALUE | grep -w " ${ arqx } " ) ] ] && continue
echo -e " [ $i ] -> ${ arqx } "
arq_list[ $i ] = " ${ arqx } "
let i++
done
#CRIA KEY
[ [ ! -e ${ DIR } /${ KEY } ] ] && mkdir ${ DIR } /${ KEY }
#PASSA ARQS
unset nombrevalue
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ message_from_id } "
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ callback_query_from_id } "
2025-05-28 05:11:36 -06:00
if [ [ " $( grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l) " -ge " $( cat < /etc/CAT-BOT/limita) " ] ] ; then
2025-05-26 17:04:02 -06:00
local bot_retorno = " $LINE \n "
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
bot_retorno += " 👤 ●-- Hola ${ firsnme } ${ lastnme } \n "
bot_retorno += "Su 🆔 alcanzó el Límite de KEYS permitidos\n"
2025-05-28 05:11:36 -06:00
bot_retorno += " ▫️ Limite Permitido Vencido: $( cat < /etc/CAT-BOT/limita) \n "
bot_retorno += " 🔴 Generaste 『 $( grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l) 』Keys en el BOT \n "
2025-05-26 17:04:02 -06:00
bot_retorno += "Espera 12 horas a que se libere o contacta al ADM lo haga\n"
bot_retorno += " $LINE \n "
msj_fun
exit
else
2025-05-28 05:11:36 -06:00
echo " $nombrevalue " >> /etc/CAT-BOT/num-keys.cont
2025-05-26 17:04:02 -06:00
fi
numkey_used = $( grep -o -i $nombrevalue /etc/gerar-sh-log | wc -l)
2025-05-28 05:11:36 -06:00
numkey_gen = $( grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l)
2025-05-26 17:04:02 -06:00
#ADM BASIC
arqslist = " $BASICINST "
for arqx in ` echo " ${ arqslist } " ` ; do
[ [ -e ${ DIR } /${ KEY } /$arqx ] ] && continue #ANULA ARQUIVO CASO EXISTA
cp ${ SCPT_DIR } /$arqx ${ DIR } /${ KEY } /
echo " $arqx " >> ${ DIR } /${ KEY } /${ LIST }
done
rm ${ SCPT_DIR } /*.x.c & > /dev/null
echo " $nombrevalue " > ${ DIR } /${ KEY } .name
[ [ ! -z $IPFIX ] ] && echo " $IPFIX " > ${ DIR } /${ KEY } /keyfixa
at now +1 hours <<< " rm -rf ${ DIR } / ${ KEY } && rm -rf ${ DIR } / ${ KEY } .name "
}
#Termina keys sin acceso
comand_boton( ) {
if [ [ ${ comando [1] } = "edit" ] ] ; then
edit_msj_boton " botao_ $1 "
else
menu_print " botao_ $1 "
fi
}
menu_print ( ) {
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.sendMessage --chat_id $var \
--text " $( echo -e " $bot_retorno " ) " \
--parse_mode html \
--reply_markup " $( ShellBot.InlineKeyboardMarkup -b " $1 " ) "
return 0
}
edit_msj_boton( ) {
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
[ [ ! -z ${ callback_query_message_message_id [id] } ] ] && message = ${ callback_query_message_message_id [id] } || message = ${ return [message_id] }
ShellBot.editMessageText --chat_id $var \
--text " $( echo -e " $bot_retorno " ) " \
--message_id " ${ message } " \
--parse_mode html \
--reply_markup " $( ShellBot.InlineKeyboardMarkup -b " $1 " ) "
return 0
}
download_file ( ) {
user = User-ID
[ [ -e ${ CID } ] ] && rm ${ CID }
local file_id
ShellBot.getFile --file_id ${ message_document_file_id [ $id ] }
ShellBot.downloadFile --file_path " ${ return [file_path] } " --dir " ${ CIDdir } "
echo " $( cat ${ return [file_path] } ) " >${ CID }
local bot_retorno = "ID RESTABLECIDO\n"
bot_retorno += " $LINE \n "
bot_retorno += "Se restauro con exito!!\nVolver: /menu\n"
bot_retorno += " $LINE "
ShellBot.sendMessage --chat_id " ${ message_chat_id [ $id ] } " \
--reply_to_message_id " ${ message_message_id [ $id ] } " \
--text " <i> $( echo -e " $bot_retorno " ) </i> " \
--parse_mode html
return 0
rm ${ CIDdir } /${ return [file_path] }
}
msj_add ( ) {
ShellBot.sendMessage --chat_id ${ 1 } \
--text " $( echo -e " $bot_retor " ) " \
--parse_mode html
}
upfile_fun ( ) {
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.sendDocument --chat_id $var \
--document @${ 1 }
}
msj_fun ( ) {
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.sendMessage --chat_id $var \
--text " $( echo -e " $bot_retorno " ) " \
--parse_mode html
return 0
}
del_msj( ) {
msg = ( ${ message_message_id [ $id ] } $1 )
for i in ${ msg [@] } ; do
ShellBot.deleteMessage --chat_id ${ message_chat_id [ $id ] } --message_id " $i "
done
return 0
}
msj_del ( ) {
local var
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.deleteMessage --chat_id $var --message_id $1
return 0
}
upfile_src ( ) {
cp ${ CID } $HOME /
upfile_fun $HOME /User-ID
rm $HOME /User-ID
}
#REINICIOS DEL BOT
start_gen ( ) {
MSG_id = $(( ${ message_message_id } + 1 ))
unset PIDGEN
PIDGEN = $( ps aux | grep -v grep | grep "http-server.sh" )
if [ [ ! $PIDGEN ] ] ; then
screen -dmS generador /bin/http-server.sh -start
local bot_retorno = " ✉️ ==== NOTIFICACION ==== ✉️ \n"
bot_retorno += " $LINE \n "
bot_retorno += " Generador: <u>Online</u> ✅\n"
bot_retorno += " $LINE \n "
msj_fun
else
killall http-server.sh
local bot_retorno = " ✉️ ==== NOTIFICACION ==== ✉️ \n"
bot_retorno += " $LINE \n "
bot_retorno += " Generador: ⚠️ <u>Offline</u> ❌\n"
bot_retorno += " $LINE \n "
msj_fun
fi
sleep 5s
msj_del ${ message_message_id }
msj_del ${ MSG_id }
}
restart_genbotx ( ) {
MSG_id = $(( ${ message_message_id } + 1 ))
unset PIDGEN
PIDGEN = $( ps aux | grep -v grep | grep "http-server.sh" )
[ [ ! $PID_GEN ] ] && PID_GEN = '(APAGADA) ❌' || PID_GEN = '(EN LINEA) ✅'
if [ [ $PIDGEN ] ] ; then
killall http-server.sh
sleep 2s
fi
screen -dmS generador /bin/http-server.sh -start
local bot_retorno = " ✉️ ==== NOTIFICACION ==== ✉️ \n"
bot_retorno += " $LINE \n "
bot_retorno += " Generador: <u>Reiniciado</u> ♻️\n"
bot_retorno += " $LINE \n "
msj_fun
sleep 5s
msj_del ${ message_message_id }
msj_del ${ MSG_id }
}
restart_genbot ( ) {
MSG_id = $(( ${ message_message_id } + 1 ))
unset PIDGEN
PIDGEN = $( ps aux | grep -v grep | grep "http-server.sh" )
local bot_retorno = " ✉️ ==== NOTIFICACION ==== ✉️ \n"
bot_retorno += " $LINE \n "
bot_retorno += " Verificando Estado del proceso NcT...\n"
bot_retorno += " $LINE \n "
msj_fun " ${ bot_retorno } "
sleep 5s
local bot_retorno = " ✉️ ==== NOTIFICACION ==== ✉️ \n"
bot_retorno += " $LINE \n "
bot_retorno += " Estado Verificado...\n"
bot_retorno += " $LINE \n "
msj_fun " ${ bot_retorno } "
sleep 5s
systemctl is-enabled http-server & > /dev/null
if [ $? -eq 0 ] ; then
systemctl is-active http-server & > /dev/null
if [ $? -ne 0 ] ; then
systemctl start http-server
local bot_retorno = " ✉️ ==== NOTIFICACION ==== ✉️ \n"
bot_retorno += " $LINE \n "
bot_retorno += " Generador: <u>Iniciado</u> ♻️\n"
bot_retorno += " $LINE \n "
msj_fun " ${ bot_retorno } "
else
local bot_retorno = " ✉️ ==== NOTIFICACION ==== ✉️ \n"
bot_retorno += " $LINE \n "
bot_retorno += " Generador: <u>Anulacion de Reinicio NcT</u> ✅\n"
bot_retorno += " <u>Todos Los Procesos</u> \n"
bot_retorno += " <u>Funcionan Correctamente</u> \n"
bot_retorno += " $LINE \n "
fi
else
killall http-server.sh
sleep 2s
screen -dmS generador /bin/http-server.sh -start
local bot_retorno = " ✉️ ==== NOTIFICACION ==== ✉️ \n"
bot_retorno += " $LINE \n "
bot_retorno += " Generador: <u>Reiniciado</u> ♻️\n"
bot_retorno += " $LINE \n "
msj_fun " ${ bot_retorno } "
fi
msj_fun
sleep 5s
msj_del ${ message_message_id }
msj_del ${ MSG_id }
}
#Termina Bot de reincios
myid_src ( ) {
MSG_id = $(( ${ message_message_id } + 1 ))
[ [ -z ${ callback_query_from_username } ] ] && nUSER = ${ message_from_username } || nUSER = ${ callback_query_from_username }
2025-05-28 05:11:36 -06:00
[ [ ! -z $( cat /etc/CAT-BOT/Admin-ID| grep " ${ chatuser } " ) ] ] && {
2025-05-26 17:04:02 -06:00
bot_retorno = " $LINE \n "
bot_retorno += " ▫️ Hola @ ${ nUSER } \n "
bot_retorno += "▫️ Bienvenido ADMIN\n"
bot_retorno += "\n"
bot_retorno += " 𝗜 𝗗 𝗖 𝗔 𝗡 𝗖 𝗘 𝗟 𝗔 𝗗 𝗢 ❌\n"
bot_retorno += "\n"
bot_retorno += " No es necesario\n"
bot_retorno += " Mostrarte tu ID\n"
bot_retorno += " $LINE \n "
bot_retorno += " <pre>BOT ELIMINANDO MESAJE ${ message_message_id } </pre>\n "
bot_retorno += " <code>BORRAREMOS ESTE CODE ${ MSG_id } </code>\n "
msj_fun
} || {
[ [ $( cat ${ CID } | grep " ${ chatuser } " ) = "" ] ] && {
bot_retorno = " $LINE \n "
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } --text "VERIFICANDO ACCESO VIP"
[ [ -z ${ nUSER } ] ] && bot_retorno += " ⚠️ USUARIO SIN ALIAS ⚠️ SIN AUTORIZACION\n" || bot_retorno += " Hola【 @ ${ nUSER } 】, Aviso ❗️ \n "
bot_retorno += "\n"
bot_retorno += "🔘 No cuentas con Acceso VIP, adquiere uno . \n"
bot_retorno += "\n"
bot_retorno += "❗️ 𝗦 𝗜 𝗡 𝗖 𝗥 𝗘 𝗗 𝗜 𝗧 𝗢 𝗦 𝗗 𝗜 𝗦 𝗣 𝗢 𝗡 𝗜 𝗕 𝗟 𝗘 𝗦 ❗️ \n"
bot_retorno += " 🆔 ●--【 <code> ${ chatuser } </code> 】\n "
bot_retorno += "Usa el comando /menu \n"
bot_retorno += " $LINE \n "
comand_boton "atras"
} || {
bot_retorno = " $LINE \n "
data_user = $( cat ${ CID } | grep " ${ chatuser } " | awk -F "|" '{print $2}' )
data_sec = $( date +%s)
data_user_sec = $( date +%s --date= " $data_user " )
variavel_soma = $(( $data_user_sec - $data_sec ))
dias_use = $(( $variavel_soma / 86400 ))
[ [ " $dias_use " -le 0 ] ] && dias_use = 0 || dias_use = $(( $dias_use + 1 ))
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } --text "ACCESO VIP VERIFICADO"
bot_retorno += " 👤 ●-- [ ${ firsnme } ${ lastnme } ] \n "
bot_retorno += " 🆔 ●-- [ <code> ${ chatuser } </code> ] \n "
bot_retorno += "\n"
bot_retorno += "Actualmente tu acceso está activo ✅ \n"
bot_retorno += "Tu fecha límite de membresía en el BOT es \n"
datexp = $( date "+%F" -d " + $DIAS days " ) && valid = $( date '+%C%y-%m-%d' -d " + $DIAS days " )
bot_retorno += " El día $data_user | $( date +%R) \n "
bot_retorno += "\n"
bot_retorno += "Para volver al menú pulsa el boton\n"
comand_boton "atras2"
}
}
}
deleteID_src ( ) {
bot_retorno = "/del"
reply
listID_src
}
deleteIDS_reply ( ) {
ids = $( echo ${ message_text [ $id ] } | awk '{print $1}' | sed -e 's/[^a-z0-9 -]//ig' )
idc = $( echo ${ message_text [ $id ] } | awk '{print $3}' | sed -e 's/[^a-z0-9 -]//ig' )
sed -i " / ${ message_text [ $id ] } /d " /root/RegBOT/banID
sed -i " / ${ message_text [ $id ] } /d " /root/RegBOT/U_check.txt
bot_retorno = " $LINE \n "
bot_retorno += " ID ELIMINADO EXITOSAMENTE!\n"
bot_retorno += " ID Eliminado: ${ ids } \n "
bot_retorno += " $LINE \n "
bot_retor = " 🟢 𝗧 𝗨 𝗜 𝗗 𝗙 𝗨 𝗘 𝗗 𝗘 𝗦 𝗕 𝗟 𝗢 𝗤 𝗨 𝗘 𝗔 𝗗 𝗔 🟢 \n"
bot_retor += "⚠️ Advertencia ⚠️ [ NO-SPAMEAR ] \n"
bot_retor += "Ahora puedes volver a usar el menu \n"
bot_retor += "Si tienes Dudas, Contacta con el ADM\n"
bot_retor += " $LINE \n "
comand_boton "atras"
msj_fun
msj_add ${ ids }
upfile_src
}
addIDS_reply ( ) {
ids = $( echo ${ message_text [ $id ] } | awk '{print $1}' | sed -e 's/[^a-z0-9 -]//ig' )
idc = $( echo ${ message_text [ $id ] } | awk '{print $3}' | sed -e 's/[^a-z0-9 -]//ig' )
echo " ${ message_text [ $id ] } " >> /root/RegBOT/banID
bot_retorno = " $LINE \n "
bot_retorno += " ID BLOQUEADO EXITOSAMENTE!\n"
bot_retorno += " ID Bloqueado: ${ ids } \n "
bot_retorno += " $LINE \n "
bot_retor = "dev \n"
bot_retor += " $LINE \n "
comand_boton "atras"
msj_fun
msj_add ${ ids }
upfile_src
}
list_IP ( ) {
unset lsid
unset idchek
[ [ -z ${ idchek } ] ] && idchek = " ${ message_from_id } "
[ [ -z ${ idchek } ] ] && idchek = " ${ callback_query_from_id } "
2025-05-28 05:11:36 -06:00
[ [ -z " $( cat /etc/CAT-BOT/User-ID | grep ${ idchek } ) " ] ] && {
[ [ " $( cat /etc/CAT-BOT/Admin-ID) " = = " ${ idchek } " ] ] && {
2025-05-26 17:04:02 -06:00
cat /var/www/html/dani/checkIP.log > /tmp/ips
echo -e " $( cat /tmp/ips | awk '{print $3}' | uniq) " > /tmp/ipchek
lsid = $( cat -n /tmp/ipchek)
local bot_retorno = " $LINE \n "
bot_retorno += ' - ULTIMOS IP´ S UNICOS CAPTURADOS \n'
bot_retorno += " - TIENES $( cat /var/www/html/dani/checkIP.log | wc -l) IP´ s CAPTURADAS \n "
bot_retorno += " $LINE \n "
bot_retorno += " ${ lsid } \n "
bot_retorno += " $LINE \n "
}
} || {
cat /var/www/html/dani/checkIP.log | grep " ${ idchek } " > /tmp/ips
echo -e " $( cat /tmp/ips | awk '{print $3}' | uniq) " > /tmp/ipchek
lsid = $( cat -n /tmp/ipchek)
local bot_retorno = " $LINE \n "
bot_retorno += ' - ULTIMOS IP´ S UNICOS CAPTURADOS \n'
bot_retorno += " - TIENES $( cat /var/www/html/dani/checkIP.log | grep ${ idchek } | wc -l) IP´ s CAPTURADAS DE TUS GENERADAS \n "
bot_retorno += " $LINE \n "
bot_retorno += " ${ lsid } \n "
bot_retorno += " $LINE \n "
}
msj_fun
}
addID_src ( ) {
bot_retorno = "/add"
reply
}
deleteIDS_reply ( ) {
ids = $( echo ${ message_text [ $id ] } | awk '{print $1}' | sed -e 's/[^a-z0-9 -]//ig' )
idc = $( echo ${ message_text [ $id ] } | awk '{print $3}' | sed -e 's/[^a-z0-9 -]//ig' )
sed -i " / ${ message_text [ $id ] } /d " /root/RegBOT/banID
sed -i " / ${ message_text [ $id ] } /d " /root/RegBOT/U_check.txt
bot_retorno = " $LINE \n "
bot_retorno += " ID ELIMINADO EXITOSAMENTE!\n"
bot_retorno += " ID Eliminado: ${ ids } \n "
bot_retorno += " $LINE \n "
bot_retor = " 🟢 𝗧 𝗨 𝗜 𝗗 𝗙 𝗨 𝗘 𝗗 𝗘 𝗦 𝗕 𝗟 𝗢 𝗤 𝗨 𝗘 𝗔 𝗗 𝗔 🟢 \n"
bot_retor += "⚠️ Advertencia ⚠️ [ NO-SPAMEAR ] \n"
bot_retor += "Ahora puedes volver a usar el menu \n"
bot_retor += "Si tienes Dudas, Contacta con el ADM\n"
bot_retor += "xD \n"
bot_retor += " $LINE \n "
comand_boton "atras"
msj_fun
msj_add ${ ids }
upfile_src
}
addIDS_reply ( ) {
ids = $( echo ${ message_text [ $id ] } | awk '{print $1}' | sed -e 's/[^a-z0-9 -]//ig' )
idc = $( echo ${ message_text [ $id ] } | awk '{print $3}' | sed -e 's/[^a-z0-9 -]//ig' )
echo " ${ message_text [ $id ] } " >> /root/RegBOT/banID
bot_retorno = " $LINE \n "
bot_retorno += " ID BLOQUEADO EXITOSAMENTE!\n"
bot_retorno += " ID Bloqueado: ${ ids } \n "
bot_retorno += " $LINE \n "
bot_retor = "dev \n"
bot_retor += " $LINE \n "
comand_boton "atras"
msj_fun
msj_add ${ ids }
upfile_src
}
list_IP ( ) {
unset lsid
unset idchek
[ [ -z ${ idchek } ] ] && idchek = " ${ message_from_id } "
[ [ -z ${ idchek } ] ] && idchek = " ${ callback_query_from_id } "
2025-05-28 05:11:36 -06:00
[ [ -z " $( cat /etc/CAT-BOT/User-ID | grep ${ idchek } ) " ] ] && {
[ [ " $( cat /etc/CAT-BOT/Admin-ID) " = = " ${ idchek } " ] ] && {
2025-05-26 17:04:02 -06:00
cat /var/www/html/dani/checkIP.log > /tmp/ips
echo -e " $( cat /tmp/ips | awk '{print $3}' | uniq) " > /tmp/ipchek
lsid = $( cat -n /tmp/ipchek)
local bot_retorno = " $LINE \n "
bot_retorno += ' - ULTIMOS IP´ S UNICOS CAPTURADOS \n'
bot_retorno += " - TIENES $( cat /var/www/html/dani/checkIP.log | wc -l) IP´ s CAPTURADAS \n "
bot_retorno += " $LINE \n "
bot_retorno += " ${ lsid } \n "
bot_retorno += " $LINE \n "
}
} || {
cat /var/www/html/dani/checkIP.log | grep " ${ idchek } " > /tmp/ips
echo -e " $( cat /tmp/ips | awk '{print $3}' | uniq) " > /tmp/ipchek
lsid = $( cat -n /tmp/ipchek)
local bot_retorno = " $LINE \n "
bot_retorno += ' - ULTIMOS IP´ S UNICOS CAPTURADOS \n'
bot_retorno += " - TIENES $( cat /var/www/html/dani/checkIP.log | grep ${ idchek } | wc -l) IP´ s CAPTURADAS DE TUS GENERADAS \n "
bot_retorno += " $LINE \n "
bot_retorno += " ${ lsid } \n "
bot_retorno += " $LINE \n "
}
msj_fun
}
addID_src ( ) {
bot_retorno = "/add"
reply
}
addID_reply ( ) {
ids = $( echo ${ message_text [ $id ] } | awk '{print $1}' | sed -e 's/[^a-z0-9 -]//ig' )
idc = $( echo ${ message_text [ $id ] } | awk '{print $3}' | sed -e 's/[^a-z0-9 -]//ig' )
valid = $( date '+%C%y-%m-%d' -d " + $idc days " )
[ [ $( cat ${ CID } | grep " $ids " ) = "" ] ] && {
[ [ -e /root/RegBOT/banID ] ] && sed -i " / ${ ids } /d " /root/RegBOT/banID
echo " ${ ids } | $valid " >> ${ CID }
echo " ${ ids } | $( date '+%C%y-%m-%d' ) | $( date +%R) " >> ${ CID } .reg
bot_retorno = " EL ID FUE REGISTRADO EXITOSAMENTE \n"
bot_retorno += " 🆔 : ${ ids } | ACEPTADO 🧾\n "
bot_retorno += " $LINE \n "
bot_retorno += " FECHA DE REGISTRO : $( date '+%C%y-%m-%d' ) | $( date +%R) \n VALIDO HASTA : ${ valid } \n "
bot_retorno += " $LINE \n "
bot_retorno += " ✅ ID REGISTRADO EXITOSAMENTE ✅\n"
bot_retorno += " $LINE \n "
bot_retorno += " ⚜ Power ⚜\n"
unset i
2025-05-28 05:11:36 -06:00
for i in $( cat /etc/CAT-BOT/User-ID | awk '{print $3}' ) ; do
2025-05-26 17:04:02 -06:00
[ [ " $( date -d $( date '+%C%y-%m-%d' ) +%s) " -ge " $( date -d $i +%s) " ] ] && {
2025-05-28 05:11:36 -06:00
for id in $( cat /etc/CAT-BOT/User-ID | grep " $i " | awk '{print $1}' | sed -e 's/[^a-z0-9 -]//ig' ) ; do
sed -i " ${ id } /d " /etc/CAT-BOT/User-ID
2025-05-26 17:04:02 -06:00
bot_retor = " ❗️ 𝗦 𝗜 𝗡 𝗔 𝗖 𝗖 𝗘 𝗦 𝗢 𝗩 𝗜 𝗣 ❗️ \n"
bot_retor += " Su acceso vip al bot a finalizado \n"
bot_retor += " ❌ Fin : $( date '+%C%y-%m-%d' ) - $( date +%R) \n "
bot_retor += " 🔘 Todavia no cuentas con alguna compra o activacion. \n"
bot_retor += " $LINE \n "
msj_add ${ id }
done
}
done
[ [ -z ${ callback_query_from_username } ] ] && nUSER = ${ message_from_username } || nUSER = ${ callback_query_from_username }
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
bot_retor = " 𝗛 𝗢 𝗟 𝗔 𝗕 𝗜 𝗘 𝗡 𝗩 𝗘 𝗡 𝗜 𝗗 𝗢 \n"
bot_retor += "\n"
bot_retor += " El ADM ${ message_from_first_name [ $id ] } acepto tu acceso \n "
bot_retor += "\n"
bot_retor += "𝗔 𝗛 𝗢 𝗥 𝗔 𝗧 𝗜 𝗘 𝗡 𝗘 𝗦 𝗔 𝗖 𝗖 𝗘 𝗦 𝗢 𝗩 𝗜 𝗣 𝗔 𝗟 𝗕 𝗢 𝗧 \n"
bot_retor += " 🔘 Inicio : $( date '+%C%y-%m-%d' ) | $( date +%R) \n🔘 Fin : ${ valid } | $( date +%R) \n "
bot_retor += "\n"
bot_retor += " 🆔 : ${ ids } \n "
bot_retor += " 🔘 Autorizado por: ${ firsnme } ${ lastnm } \n "
bot_retor += "\n"
bot_retor += "Digita el comando /menu\n"
bot_retor += " Adquiere nuevos creditos @ $( ShellBot.username) \n "
bot_retor += " $LINE \n "
msj_fun
msj_add ${ ids }
upfile_src
} || {
bot_retorno = "====ERROR====\n"
bot_retorno += "Este ID ya existe\n"
bot_retorno += " $LINE \n "
msj_fun
}
}
link_src ( ) {
bot_retorno = " $LINE \n "
bot_retorno += "RESELLER OFICIALES BOTGEN\n"
bot_retorno += " $LINE \n "
bot_retorno += "🔰BOT ACTIVACIONES\n"
bot_retorno += "\n"
bot_retorno += "🇲🇽 MEXICO\n"
bot_retorno += "👤 Nombre de usuario @drowkid01 \n"
bot_retorno += "👤 Nombre de usuario @droidalexander\n"
bot_retorno += "\n"
bot_retorno += " $LINE \n "
comand_boton "atras2"
}
listID_GEN ( ) {
unset bot_lin
n = 1
for i in $( cat /root/RegBOT/banID | awk '{print $1}' | sed -e 's/[^a-z0-9 -]//ig' ) ; do
idlog = $( cat /root/RegBOT/banID | grep " $i " | awk '{print $3}' )
bot_lin += " $n ] > <tg-spoiler> ${ i } </tg-spoiler> | $idlog | ${ idGEN } \n "
let n++
done
local bot_retorno = " $LINE \n "
bot_retorno += '𝗜 𝗗 ´ 𝗦 𝗕 𝗟 𝗢 𝗤 𝗨 𝗘 𝗔 𝗗 𝗢 𝗦 𝗣 𝗢 𝗥 𝗦 𝗣 𝗔 𝗠 \n'
bot_retorno += " $LINE \n "
bot_retorno += " $( echo -e ${ bot_lin } ) " #|column -t -s '-')"
bot_retorno += " $LINE \n "
comand_boton "atras"
return 0
}
searchID_reply ( ) {
searchID = $( cat -n /root/RegBOT/banID | grep " ${ message_text [ $id ] } " )
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "BUSCANDO ID BLOQUEADO"
bot_retorno = " $LINE \n "
bot_retorno += "𝗠 𝗢 𝗦 𝗧 𝗥 𝗔 𝗡 𝗗 𝗢 𝗥 𝗘 𝗦 𝗨 𝗟 𝗧 𝗔 𝗗 𝗢 𝗦 𝗗 𝗘 𝗕 𝗨 𝗦 𝗤 𝗨 𝗘 𝗗 𝗔 !\n"
bot_retorno += " $LINE \n "
[ [ ! -z ${ searchID } ] ] && bot_retorno += " N° ${ searchID } 🔴 BLOQUEADO \n " || bot_retorno += " ID NO ENCONTRADO \n"
comand_boton "atras2"
return 0
}
listID_src ( ) {
lsid = $( cat -n ${ CID } )
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "BUSCANDO ID REGISTRADOS"
local bot_retorno = " $LINE \n "
bot_retorno += "𝗥 𝗘 𝗦 𝗨 𝗟 𝗧 𝗔 𝗗 𝗢 𝗦 𝗗 𝗘 🆔 𝗥 𝗘 𝗚 𝗜 𝗦 𝗧 𝗥 𝗔 𝗗 𝗢 𝗦 \n"
bot_retorno += "▫️ 𝗟 𝗶 𝘀 𝘁 𝗮 𝗱 𝗲 𝗜 𝗗 𝗔 𝗰 𝘁 𝗶 𝘃 𝗼 𝘀 \n"
bot_retorno += " $LINE \n "
bot_retorno += " ${ lsid } \n "
bot_retorno += " $LINE \n "
comand_boton "atras2"
return 0
}
listIDcup_src ( ) {
lsid = $( cat -n ${ CIDB } )
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "BUSCANDO ID POR CUPONES"
local bot_retorno = " $LINE \n "
bot_retorno += "🎟️<b>ID POR CUPONES</b>🎟️\n"
bot_retorno += "▫️ Lista de Usuarios por cupon\n"
bot_retorno += " $LINE \n "
bot_retorno += " ${ lsid } \n "
bot_retorno += " $LINE \n "
comand_boton "atras2"
return 0
}
listkey_src ( ) {
log = $( cat /etc/gerar-sh-log | awk '{print $1, $2}' )
count = $( echo " $log " | sort | uniq -c)
count = $( echo " $count " | awk '{printf "%-11s | %2s\n", $1, $2}' )
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "BUSCANDO KEY USADAS POR ID"
local bot_retorno = " $LINE \n "
bot_retorno += "𝗥 𝗘 𝗦 𝗨 𝗟 𝗧 𝗔 𝗗 𝗢 𝗦 𝗗 𝗘 𝗞 𝗘 𝗬 𝗨 𝗦 𝗔 𝗗 𝗢 𝗦 𝗟 𝗔 𝗧 𝗔 𝗠 \n"
bot_retorno += "🔑Key ——-------— 🆔\n"
bot_retorno += " $LINE \n "
bot_retorno += " $count \n "
bot_retorno += " $LINE \n "
comand_boton "atras2"
return 0
}
showHistory( ) {
bot_retorno = " $LINE \n "
data_users = $( grep " ${ chatuser } " " ${ CIDC } " | awk -F "|" '{print $2}' )
if [ [ -z " ${ data_users } " ] ] ; then
ShellBot.answerCallbackQuery --callback_query_id " ${ callback_query_id [ $id ] } " \
--text "⚠️ NO HAY COMPRAS VENCIDAS REGISTRADAS EN SU ID ⚠️."
return 0
fi
[ [ -z " ${ callback_query_from_first_name } " ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z " ${ callback_query_from_last_name } " ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
ShellBot.answerCallbackQuery --callback_query_id " ${ callback_query_id [ $id ] } " \
--text "CONSULTANDO COMPRAS VENCIDAS"
bot_retorno += " 👤 ●-- [ ${ firsnme } ${ lastnme } ] \n "
bot_retorno += " 🆔 ●-- [ <code> ${ chatuser } </code> ] \n "
bot_retorno += "\n"
bot_retorno += "REGISTRO DE ACTIVACIONES \n"
bot_retorno += " \n"
vencidas = ( )
while IFS = read -r data_user; do
data_sec = $( date +%s)
data_user_sec = $( date +%s --date= " $data_user " )
variavel_soma = $(( data_user_sec - data_sec))
dias_use = $(( variavel_soma / 86400 ))
[ [ " $dias_use " -le 0 ] ] && dias_use = 0 || dias_use = $(( dias_use + 1 ))
datexp = $( date "+%F" -d " $data_user + $dias_use day " ) && valid = $( date '+%C%y-%m-%d' -d " $data_user + $dias_use day " )
vencidas += ( " $datexp " )
done <<< " $data_users "
if [ [ ${# vencidas [@] } -gt 0 ] ] ; then
bot_retorno += "Registro de Fechas\n"
if [ [ ${# vencidas [@] } -eq 1 ] ] ; then
bot_retorno += "Caducado Recientemente:\n"
bot_retorno += " Día ${ vencidas [0] } \n "
bot_retorno += "\n"
else
bot_retorno += "Caducado Recientemente:\n"
bot_retorno += " Día ${ vencidas [ ${# vencidas [@] } -1] } \n "
bot_retorno += "\n"
bot_retorno += "Fechas vencidas anteriores:\n"
for ( ( i = ${# vencidas [@] } -2; i>= 0; i--) ) ; do
bot_retorno += " Día ${ vencidas [ $i ] } \n "
done
fi
fi
comand_boton "atras2"
}
ayuda_id( ) {
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "💰 LISTA DE PRECIOS DISPONIBLES"
local bot_retorno = " $LINE \n "
bot_retorno = " $LINE \n "
bot_retorno += "ɪɴғᴏʀᴍᴀᴄɪᴏɴ sᴏ ʙʀᴇ ʟᴏ s ᴘʀᴇᴄ ɪ ᴏ s \n"
bot_retorno += "► PRECIO PAYPAL ► PRECIO MEXICANO\n"
bot_retorno += "► 7 DIAS💰1 USD ► 💰20 MXN\n"
bot_retorno += "► 13 DIAS💰1.70 USD ► 💰30 MXN\n"
bot_retorno += "► 35 DIAS💰2.84 USD ► 💰50 MXN\n"
bot_retorno += "► 90 DIAS💰4.54USD ► 💰80 MXN\n"
bot_retorno += "TRANSFERENCIA\n"
bot_retorno += "<code>646180192100197089</code>\n"
bot_retorno += " $LINE \n "
comand_boton "atras3"
return 0
}
dnxsub( ) {
if [ [ $( cat $fsub | grep " $chatuser " ) ] ] ; then
unset sub
bot_retorno += "<b>TUS SUBDOMINIOS</b>\n"
for x in $( cat $fsub | grep " $chatuser " ) ; do
bot_retorno += " 🌐 ●⸺[ $( echo $x | awk -F '|' '{print $2}' ) ⟩ $( echo $x | awk -F "|" '{print $1}' ) ]\n "
done
bot_retorno += " $line \n "
fi
}
menu_src ( ) {
bot_retorno = "━━━━◢ <b>MENU PRINCIPAL</b> ◣━━━━\n"
datauser
[ [ -z ${ callback_query_from_username } ] ] && nUSER = ${ message_from_username } || nUSER = ${ callback_query_from_username }
unset nombrevalue
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ message_from_id } "
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ callback_query_from_id } "
numkey_used = $( grep -o -i $nombrevalue /etc/gerar-sh-log | wc -l)
2025-05-28 05:11:36 -06:00
numkey_gena = $( grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l)
limconta = $( cat /etc/CAT-BOT/limita)
[ [ " $limconta " -ge "998" ] ] && limteda = "♾️" || limteda = $( cat /etc/CAT-BOT/limita)
2025-05-26 17:04:02 -06:00
[ [ " $(( $limconta - $numkey_gena )) " -ge "900" ] ] && credress = "♾️" || credress = $(( $limconta - $numkey_gena ))
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "REGRESANDO AL MENU INICIO"
unset usadas
usadas = " $( cat /etc/http-instas) "
[ [ ! $usadas ] ] && k_used = "0" || k_used = " $usadas "
if [ [ $( cat $fsub | grep " $chatuser " ) ] ] ; then
unset sub
bot_retorno += "<b><ins>SUBDOMINIOS</ins></b>\n"
for x in ` cat $fsub | grep " $chatuser " ` ; do
bot_retorno += " 🌐 ●⸺[ $( echo $x | awk -F '|' '{print $2}' ) ⟩⟩⟩ $( echo $x | awk -F "|" '{print $1}' ) ]\n "
done
bot_retorno += " $line \n "
fi
if [ [ $( echo $permited | grep " ${ chatuser } " ) = "" ] ] ; then
if [ [ $( cat ${ CID } | grep " ${ chatuser } " ) = "" ] ] ; then
[ [ -e /root/RegBOT/banID ] ] && idBAN = $( cat /root/RegBOT/banID) || idBAN = ""
[ [ -z " $( echo $idBAN | grep " ${ chatuser } " ) " ] ] && {
local bot_retorno = " $LINE \n "
bot_retorno = "━━━━◢ <b>MENU PRINCIPAL</b> ◣━━━━\n"
datauser
bot_retorno += " 🌐 |-- Instalaciones Totales [ $k_used ] \n "
bot_retorno += "\n"
bot_retorno += "🗓️ TOTAL DIAS DE ACCESO\n"
bot_retorno += "[ ❌ 𝗦 𝗶 𝗻 𝗮 𝗰 𝗰 𝗲 𝘀 𝗼 𝗩 𝗜 𝗣 ❌ ]\n"
bot_retorno += "📅 VIGENCIA DEL ACCESO\n"
bot_retorno += "[ ❌ 𝗦 𝗶 𝗻 𝗮 𝗰 𝗰 𝗲 𝘀 𝗼 𝗩 𝗜 𝗣 ❌ ]\n"
bot_retorno += "\n"
bot_retorno += " Hola : ${ firsnme } ${ lastnme } \n "
bot_retorno += "\n"
bot_retorno += " 🔑Total Instalado:『 $numkey_used 』\n "
bot_retorno += " ⚠️ Limite Actual (24hrs): [ $credress / $limteda ]\n "
bot_retorno += "🔘 Recuerda No hacer 𝗦 𝗣 𝗔 𝗠 \n"
bot_retorno += " $LINE \n "
comand_boton "user1"
return 0
} || {
bot_retorno = " $LINE \n "
bot_retorno += " ⚠️ 𝗦 𝗨 𝗜 𝗗 𝗙 𝗨 𝗘 𝗕 𝗔 𝗡 𝗘 𝗔 𝗗 𝗢 ⚠️ \n"
bot_retorno += "\n"
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
bot_retorno += " 👤 ●-- [ ${ firsnme } ${ lastnme } ] \n "
bot_retorno += " 🆔 ●-- [ <code> ${ chatuser } </code> ] \n "
bot_retorno += "\n"
bot_retorno += "❗️ [ SPAM-BOT ] Detected ❗️ \n"
bot_retorno += " $LINE \n "
comand_boton "dex"
return 0
}
else
VPSsec = $( date +%s)
dia = " $( cat ${ CID } | grep -w " $chatuser " | cut -d'|' -f2) "
DataSec = $( date +%s --date= " $dia " )
[ [ " $VPSsec " -gt " $DataSec " ] ] && {
local us = " ❯ ══━━━━⎊⎊━━━━══ ❮ ️ \nUSUARIO 🆔: <code>$chatuser </code> EXPIRADO\n "
ShellBot.sendMessage --chat_id ${ permited [ $id ] } \
--text " $( echo -e " $us " ) " \
--parse_mode html
EXPTIME = "EXPIRADO"
rm -rf ${ USRdatabase2 } /Mensaje_$chatuser .txt & >/dev/null
rm ${ keytxt } /key_${ chatuser } .txt & >/dev/null
sed -i " / $chatuser /d " ${ CID }
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.sendMessage --chat_id $var \
--text " $( echo -e USUARIO EXPIRADO) " \
--parse_mode html
return 0
} || {
EXPTIME = " [ $(( $(( $DataSec - $VPSsec )) / 86400 )) ] DIAS "
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
unset creditos
2025-05-28 05:11:36 -06:00
creditos = " $( cat /etc/CAT-BOT/Creditos/Mensaje_$chatuser .txt) "
2025-05-26 17:04:02 -06:00
[ [ ! $creditos ] ] && credi = " Defaul: ${ firsnme } ${ lastnme } " || credi = " Personal: $creditos "
unset PID_GEN
PID_GEN = $( ps x| grep -v grep| grep "http-server.sh" )
[ [ ! $PID_GEN ] ] && PID_GEN = '(APAGADA) ❌' || PID_GEN = '(EN LINEA) ✅'
unset checkPID_GEN
checkPID_GEN = $( ps x| grep -v grep| grep "8888" )
[ [ ! $checkPID_GEN ] ] && checkPID_GEN = '⚠️ ESTADO!! BotGen Critico ⚠' || checkPID_GEN = '🔥 Servicios En Estado Optimo ✅'
data_user = $( cat ${ CID } | grep " ${ chatuser } " | awk -F "|" '{print $2}' )
data_sec = $( date +%s)
data_user_sec = $( date +%s --date= " $data_user " )
variavel_soma = $(( $data_user_sec - $data_sec ))
dias_use = $(( $variavel_soma / 86400 ))
[ [ " $dias_use " -le 0 ] ] && dias_use = 0 || dias_use = $(( $dias_use + 1 ))
unset usadas
usadas = " $( cat /etc/http-instas) "
[ [ ! $usadas ] ] && k_used = "0" || k_used = " $usadas "
numkey_used = $( grep -o -i $nombrevalue /etc/gerar-sh-log | wc -l)
2025-05-28 05:11:36 -06:00
numkey_gen = $( grep -o -i $message_chat_id /etc/CAT-BOT/num-key.cont | wc -l)
2025-05-26 17:04:02 -06:00
unset nombrevalue
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ message_from_id } "
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ callback_query_from_id } "
2025-05-28 05:11:36 -06:00
numkey_gen = $( grep -o -i $nombrevalue /etc/CAT-BOT/num-key.cont | wc -l)
limcont = $( cat /etc/CAT-BOT/limit)
[ [ " $limcont " -ge "998" ] ] && limted = "♾️" || limted = $( cat /etc/CAT-BOT/limit)
2025-05-26 17:04:02 -06:00
[ [ " $(( $limcont - $numkey_gen )) " -ge "900" ] ] && credres = "🎊 Usted tiene keys Ilimitados" || credres = " ⚠️ Keys Restantes a Generar: $(( $limcont - $numkey_gen )) "
[ [ ! ${ keytxt } /key_$chatuser .txt ] ] && kg = "0" || kg = $( cat ${ keytxt } /key_$chatuser .txt | wc -l)
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "VOLVIENDO AL MENU INICIO"
local bot_retorno = " $LINE \n "
bot_retorno = "━━━━◢ <b>MENU PRINCIPAL</b> ◣━━━━\n"
datauser
dnxsub
bot_retorno += "🗓 <b>TOTAL DIAS DE ACCESO</b>\n"
bot_retorno += " 🔘 |-- Días Restantes $EXPTIME \n "
bot_retorno += "📅 <b>TU ACCESO CADUCA</b> \n"
bot_retorno += " 🔘 |-- El dia [ $data_user ] \n "
bot_retorno += "\n"
bot_retorno += "📳 <b>Notificacion del BOT</b> \n"
2025-05-28 05:11:36 -06:00
bot_retorno += " $( cat < /etc/CAT-BOT/resell) \n "
2025-05-26 17:04:02 -06:00
bot_retorno += " $checkPID_GEN \n "
bot_retorno += "\n"
bot_retorno += " 📡 |-- BOT Status [ $PID_GEN ]\n "
bot_retorno += " 🧑💻 Reseller $credi \n "
bot_retorno += " 🔐 |-- Total Key Usadas:『 $numkey_used 』\n "
bot_retorno += " 🔑 |-- Total Key Generadas: [ $kg ]\n "
bot_retorno += " 🔰 $credres \n "
comand_boton "user"
return 0
}
fi
else
vv = $( ps x| grep -v grep| grep "veri" )
[ [ ! $vv ] ] && ve = "[ DESACTIVADO ]" || ve = "[ ACTIVADO ]"
unset checkPID_GEN
checkPID_GEN = $( ps x| grep -v grep| grep "8888" )
[ [ ! $checkPID_GEN ] ] && checkPID_GEN = '⚠️ ESTADO!! BotGen Critico ⚠' || checkPID_GEN = '🔥 Servicios En Estado Optimo ✅'
[ [ ! -z ${ message_from_username [ $id ] } ] ] && ad = " @ ${ message_from_username [ $id ] } " || ad = " ${ message_from_first_name [ $id ] } "
echo " ${ ad } " >/etc/botuser
unset PID_GEN
PID_GEN = $( ps x| grep -v grep| grep "http-server.sh" )
[ [ ! $PID_GEN ] ] && PID_GEN = '(APAGADA) ❌' || PID_GEN = '(EN LINEA) ✅'
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
unset creditos
2025-05-28 05:11:36 -06:00
creditos = " $( cat /etc/CAT-BOT/Creditos/Mensaje_$chatuser .txt) "
2025-05-26 17:04:02 -06:00
[ [ ! $creditos ] ] && credi = " Defaul: ${ firsnme } ${ lastnme } " || credi = " Personal: $creditos "
2025-05-28 05:11:36 -06:00
$( cat /etc/CAT-BOT/User-ID| wc -l)
2025-05-26 17:04:02 -06:00
unset usadas
usadas = " $( cat /etc/http-instas) "
[ [ ! $usadas ] ] && k_used = "0" || k_used = " $usadas "
[ [ ! ${ keytxt } /key_$chatuser .txt ] ] && kg = "0" || kg = $( cat ${ keytxt } /key_$chatuser .txt | wc -l)
num_ips = ${# user_connections [@] }
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "RETORNANDO AL MENU INICIO"
local bot_retorno = " $LINE \n "
bot_retorno = "━━━━◢ <b>MENU PRINCIPAL</b> ◣━━━━\n"
datauser
dnxsub
2025-05-28 05:11:36 -06:00
bot_retorno += " 🆔 |-- USUARIOS 𝗩 𝗜 𝗣 ACTIVOS: $( cat /etc/CAT-BOT/User-ID| wc -l) \n "
2025-05-26 17:04:02 -06:00
bot_retorno += " 🟢 |-- BOT STATUS: $PID_GEN \n "
bot_retorno += " 📵 |-- AUTO-DEL: $ve \n "
bot_retorno += "🔔NOTY BOT USUARIOS \n"
bot_retorno += " $checkPID_GEN \n "
2025-05-28 05:11:36 -06:00
bot_retorno += " $( cat < /etc/CAT-BOT/resell) \n "
2025-05-26 17:04:02 -06:00
bot_retorno += " 🔐 |-- Key Activas Sin Usar 『 $( ls /etc/http-shell/ | grep name | wc -l) 』 🗝️ \n "
bot_retorno += " 🌐 |-- Inst. Totales del SCRIPT [ $k_used ] \n "
bot_retorno += " 🔑 |-- Keys Generadas del ADM [ $kg ] \n "
bot_retorno += " 👤 |-- Reseller $credi \n "
bot_retorno += " 🔌 |-- CONTROL REMOTO $num_ips \n "
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
bot_retorno += " 🔰 |-- ADMIN: ${ firsnme } ${ lastnme } \n "
bot_retorno += " $LINE \n "
comand_boton "conf"
return 0
fi
}
mensajecre( ) {
error_fun ( ) {
local bot_retorno = " $LINE \n "
bot_retorno += "USAR EL COMANDO DE ESTA MANERA\n"
bot_retorno += " $LINE \n "
bot_retorno += "Ejemplo: /resell @d\n"
bot_retorno += " $LINE \n "
ShellBot.sendMessage --chat_id ${ message_chat_id [ $id ] } \
--text " <i> $( echo -e " $bot_retorno " ) </i> " \
--parse_mode html
return 0
}
[ [ -z $1 ] ] && error_fun && return 0
echo " $1 " > ${ USRdatabase2 } /Mensaje_$chatuser .txt
bot_retorno = " $LINE \n "
bot_retorno += "✅Creditos Cambiado ✅\n"
bot_retorno += " $LINE \n "
bot_retorno += " Nuevo Reseller: $1 \nPARA REGRESAR /menu\n "
bot_retorno += " $LINE "
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.sendMessage --chat_id $var \
--text " <i> $( echo -e " $bot_retorno " ) </i> " \
--parse_mode html
return 0
}
[ [ -d /root/RegBOT ] ] || mkdir /root/RegBOT
autori( ) {
MSG_id = $(( ${ message_message_id } + 1 ))
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
[ [ -z ${ callback_query_from_username } ] ] && nUSER = ${ message_from_username } || nUSER = ${ callback_query_from_username }
[ [ -e /root/RegBOT/U_check.txt ] ] && n_soli = $( cat /root/RegBOT/U_check.txt | grep ${ chatuser } | wc -l) || n_soli = 1
[ [ $n_soli < 2 ] ] && {
echo " ${ chatuser } " >> /root/RegBOT/U_check.txt
bot_retor = " $LINE \n "
bot_retor += " Cliente 『 ${ firsnme } ${ lastnme } 』Solicita Autorización\n "
[ [ -z ${ nUSER } ] ] && bot_retor += " ⚠️ USUARIO SIN ALIAS ⚠️\n" || bot_retor += " <u> ALIAS</u>: @ ${ nUSER } CON $n_soli INTENTO\n "
bot_retor += " $LINE \n "
bot_retor += " EJEMPLO $MSG_id <tg-spoiler> ${ chatuser } </tg-spoiler> | <u>DIAS</u> \n "
bot_retor += " O SOLO DA CLICK AQUI 👉 /add , LUEGO COPIA ALGUNO DE ABJO\n"
bot_retor += " COPIA EL ID 👉 ♨️ <code> ${ chatuser } </code> ♨️\n "
bot_retor += " $LINE \n "
bot_retor += " ANTES DE LA AUTORIZACION VERIFICAR PAGO\n"
bot_retor += " $LINE \n "
while IFS = read -r id; do
msj_add " $id "
done < " ${ CIDdir } /Admin-ID "
bot_retor += " $LINE \n "
bot_retorno += " 🆔 ●-- 【 <code> ${ chatuser } </code> 】\n "
bot_retorno += "\n"
[ [ -z ${ nUSER } ] ] && bot_retorno += " ❌ Añada un Alias Para no Banearte ❌ \n" || bot_retorno += " 𝗦 𝗼 𝗹 𝗰 𝗶 𝘁 𝘂 𝗱 𝗲 𝗻 𝘃 𝗶 𝗮 𝗱 𝗮 𝗮 𝗹 𝗔 𝗗 𝗠 $( cat < /etc/ADM-db/resell) \n📌 Aprobación en proceso ⌛\n "
[ [ -z ${ nUSER } ] ] && bot_retorno += " Imposible verificar su ID \n Su ${ n_soli } Solicitud es Invalida \n " || bot_retorno += " Esta es su ${ n_soli } Solicitud \n "
bot_retorno += "\n"
[ [ -z ${ nUSER } ] ] && bot_retorno += " SU ID FUE ENVIADO CON ADVERTENCIA (POSIBLE BANEO DE ID) ⚠️\n" || bot_retorno += " ✅ ID ENVIADO EXITOSAMENTE ✅\n"
bot_retorno += " $LINE \n "
bot_retorno += " ENVIE SU COMPROBANTE DE PAGO\n"
bot_retorno += "🔘 Evita hacer spam en el BOT\n"
bot_retorno += "🔘 De lo contrario se anulará tu solicitud \n"
bot_retorno += " $LINE \n "
comand_boton "atras"
} || {
bot_retorno = " $LINE \n "
bot_retorno += " 🆔 ●-- 【 <code> ${ chatuser } </code> 】 \n "
#bot_retorno+="$LINE\n"
[ [ -z ${ nUSER } ] ] && bot_retorno += " ⚠️ USUARIO SIN ALIAS ⚠️\n" || bot_retorno += " <u>🆔 ●⸺ Hola </u>: @ ${ nUSER } \n "
[ [ -z ${ nUSER } ] ] && bot_retorno += " ⚠️ AÑADA UN ALIAS PARA PODER SOLICITAR DE MANERA EXITOSA ⚠️\n" || bot_retorno += " 𝗜 𝗻 𝘁 𝗲 𝗻 𝘁 𝗼 𝘀 𝗱 𝗲 𝗦 𝗼 𝗹 𝗶 𝗰 𝗶 𝘁 𝘂 𝗱 ${ n_soli } $( cat < /etc/ADM-db/resell) \n "
[ [ -z ${ nUSER } ] ] && bot_retorno += " IMPOSIBLE VERIFICAR ID SIN ALIAS\n SU ${ n_soli } SOLITUD ES INVALIDA \n " || bot_retorno += "Su 🆔 No fue recibido por el ADM \n"
bot_retorno += " 🔴 𝗧 𝗨 𝗜 𝗗 𝗙 𝗨 𝗘 𝗕 𝗟 𝗢 𝗤 𝗨 𝗘 𝗔 𝗗 𝗔 🔴 \n"
bot_retorno += " $LINE \n "
echo " ${ chatuser } " >> /root/RegBOT/banID
#bot_retorno+=" ⚜ Power botgen ⚜\n"
bot_retorno += " $LINE \n "
msj_fun
}
}
ipgeo_reply( ) {
local ip = $( echo " ${ message_text [ $id ] } " | awk -F '|' '{print $1}' | awk '{print $1}' )
local chat_id = " ${ message_chat_id [ $id ] } "
local bot_retorno = " Datos de la IP: $ip \n\n "
# Obtener información de la IP utilizando ipinfo.io
local info_ip = $( curl -s " https://ipinfo.io/ $ip /json " )
if [ [ -n $info_ip ] ] ; then
# Analizar y formatear la respuesta JSON
local ciudad = $( echo " $info_ip " | jq -r '.city' )
local pais = $( echo " $info_ip " | jq -r '.country' )
local proveedor = $( echo " $info_ip " | jq -r '.org' )
local latitud = $( echo " $info_ip " | jq -r '.loc' | awk -F ',' '{print $1}' )
local longitud = $( echo " $info_ip " | jq -r '.loc' | awk -F ',' '{print $2}' )
local fecha_escaneo = $( date +'%Y-%m-%d %H:%M:%S' )
bot_retorno += " Ciudad: $ciudad \n "
bot_retorno += " País: $pais \n "
bot_retorno += " Proveedor: $proveedor \n "
bot_retorno += " Latitud: $latitud \n "
bot_retorno += " Longitud: $longitud \n "
bot_retorno += " Fecha de escaneo: $fecha_escaneo \n "
else
bot_retorno += "❌ Error: No se pudo obtener información de la IP. ❌\n"
fi
ShellBot.sendMessage --chat_id " $chat_id " --text " $bot_retorno "
}
deleteID_reply2 ( ) {
rm -rf ${ USRdatabase2 } /Mensaje_${ message_text [ $id ] } .txt & >/dev/null
rm -rf ${ keytxt } /key_${ message_text [ $id ] } .txt & >/dev/null
sed -i " / ${ message_text [ $id ] } /d " ${ CID }
local bot_retorno = " $LINE \n "
bot_retorno += "🔴 ●-- 𝗜 𝗗 𝗘 𝗟 𝗜 𝗠 𝗜 𝗡 𝗔 𝗗 𝗢 𝗖 𝗢 𝗡 𝗘 𝗫 𝗜 𝗧 𝗢 \n"
bot_retorno += " 🆔 ●-- : ${ message_text [ $id ] } \n "
bot_retorno += " $LINE \n "
comand_boton "atras2"
}
rmid( ) {
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.sendMessage --chat_id $var \
--text "𝙄 𝙉 𝙂 𝙍 𝙀 𝙎 𝙀 𝙀 𝙇 𝙄 𝘿 𝘿 𝙀 𝙇 𝙐 𝙎 𝙐 𝘼 𝙍 𝙄 𝙊 " \
--reply_markup " $( ShellBot.ForceReply) "
}
newid( ) {
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.sendMessage --chat_id $var \
--text "𝙄 𝙉 𝙂 𝙍 𝙀 𝙎 𝙀 𝙀 𝙇 𝙉 𝙐 𝙀 𝙑 𝙊 𝙄 𝘿 " \
--reply_markup " $( ShellBot.ForceReply) "
}
mensaje( ) {
[ [ $( cat ${ SCPT_DIR } | grep " ${ message_text [ $id ] } " ) = "" ] ]
echo " ${ message_text [ $id ] } " > ${ USRdatabase2 } /Mensaje_$chatuser .txt
local bot_retorno = " $LINE \n "
bot_retorno += "🟢 ●-- 𝗥 𝗘 𝗦 𝗘 𝗟 𝗟 𝗘 𝗥 𝗔 𝗚 𝗥 𝗘 𝗚 𝗔 𝗗 𝗢 \n"
bot_retorno += " $LINE \n "
bot_retorno += " ▫️ Nuevo Reseller: ${ message_text [ $id ] } \nVolver: /menu\n "
bot_retorno += " $LINE "
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.sendMessage --chat_id $var \
--text " <i> $( echo -e " $bot_retorno " ) </i> " \
--parse_mode html
return 0
}
newres( ) {
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "✅ AGREGANDO RESELLER"
ShellBot.sendMessage --chat_id $var \
--text "☟INGRESE SU RESELLER ABAJO☟" \
--reply_markup " $( ShellBot.ForceReply) "
}
newip( ) {
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "✅ INGRESA TU IP REMOTO "
ShellBot.sendMessage --chat_id $var \
--text "CONEXION REMOTA A VPS \n\n Requiere de informacion para la conexion remota\n\n IP|PUERTO|USUARIO|CONTRASEÑA\n\nEjemplo ✅ \n142.93.122.215|22|root|Dans862Jjw "
ShellBot.sendMessage --chat_id $var \
--text "☟INGRESE SU IP☟" \
--reply_markup " $( ShellBot.ForceReply) "
}
idban( ) {
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.sendMessage --chat_id $var \
--text "INGRESE ID A BANEAR" \
--reply_markup " $( ShellBot.ForceReply) "
}
ipgeo( ) {
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.sendMessage --chat_id $var \
--text "INGRESE SU IP" \
--reply_markup " $( ShellBot.ForceReply) "
}
cupon( ) {
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
if [ [ $cupon_activado = = true ] ] ; then
ShellBot.sendMessage --chat_id $var \
--text "INGRESE SU CUPON" \
--reply_markup " $( ShellBot.ForceReply) "
else
ShellBot.sendMessage --chat_id $var \
--text "🥲 Me encuentro Desactivado, contacta al ADM"
fi
}
remoip( ) {
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "✅ INGRESA TU IP REMOTO "
ShellBot.sendMessage --chat_id $var \
--text "CONEXION REMOTA A VPS \n\n Requiere de informacion para la conexion remota\n\n IP|USUARIO|CONTRASEÑA\n\nEjemplo ✅ \nip|root|pass\n"
ShellBot.sendMessage --chat_id $var \
--text "INGRESE SU IP REMOTO" \
--reply_markup " $( ShellBot.ForceReply) "
}
passip( ) {
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "✅ INGRESA TU IP REMOTO "
ShellBot.sendMessage --chat_id $var \
--text "CAMBIAR PASS A VPS \n\n Ingresa como el siguiente ejem \n\n IP|USUARIO|PASSWORD|NUEVOPASS \n"
ShellBot.sendMessage --chat_id $var \
--text "INGRESE SUS DATOS" \
--reply_markup " $( ShellBot.ForceReply) "
}
autodel_id( ) {
if [ [ $( echo $permited | grep " ${ chatuser } " ) = "" ] ] ; then
local bot = "•────•──────────•────•\n"
bot += " Usted no tiene permiso para usar este comando\n"
bot += "•────•──────────•────•\n"
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.sendMessage --chat_id $var \
--text " $bot " \
--parse_mode html
return 0
else
local bot = " = 𝘼 𝙐 𝙏 𝙊 -𝘿 𝙀 𝙇 𝙄 𝘿 '𝙎 =\n"
local verificar
PIDV = $( ps aux| grep -v grep| grep "veri" )
if [ [ -z $PIDV ] ] ; then
echo ""
2025-05-28 05:11:36 -06:00
screen -dmS verificar /etc/CAT-BOT/veri &
2025-05-26 17:04:02 -06:00
verificar = "𝘼 𝘾 𝙏 𝙄 𝙑 𝘼 𝘿 𝙊 -- 𝘾 𝙊 𝙉 𝙀 𝙓 𝙄 𝙏 𝙊 \n 𝙖 𝙪 𝙩 𝙤 -𝙞 𝙣 𝙞 𝙘 𝙞 𝙤 𝙘 𝙖 𝙙 𝙖 1𝙝 "
else
kill -9 $( ps aux | grep -v grep | grep -w "veri" | grep dmS| awk '{print $2}' ) & >/dev/null
kill -9 $( ps aux | grep -v grep | grep -w "verificar" | grep dmS| awk '{print $2}' ) & >/dev/null
verificar = "𝘿 𝙀 𝙎 𝘼 𝘾 𝙏 𝙄 𝙑 𝘼 𝘿 𝙊 -- 𝘾 𝙊 𝙉 𝙀 𝙓 𝙄 𝙏 𝙊 "
fi
bot += "•────•──────────•────•\n"
bot += " $verificar \n "
bot += "•────•──────────•────•\n"
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.sendMessage --chat_id $var \
--text " $bot " \
--parse_mode html
return 0
fi
}
rm_resell( ) {
rm ${ USRdatabase2 } /Mensaje_$chatuser .txt
[ [ -z ${ USRdatabase2 } /Mensaje_$chatuser .txt ] ] && rs = " $( cat ${ USRdatabase2 } /Mensaje_$chatuser .txt) " || rs = "Sin-Reseller"
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "❌ ELIMINANDO RESELLER"
bot_retorno = " $LINE \n "
bot_retorno += "🔴 ●-- 𝗥 𝗘 𝗦 𝗘 𝗟 𝗟 𝗘 𝗥 𝗘 𝗟 𝗜 𝗠 𝗜 𝗡 𝗔 𝗗 𝗢 \n"
bot_retorno += " ▫️ Verificador de reseller: ${ rs } \nVolver Pulsa /menu\n "
bot_retorno += " $LINE \n "
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.sendMessage --chat_id $var \
--text " <i> $( echo -e " $bot_retorno " ) </i> " \
--parse_mode html
return 0
}
addADM_reply ( ) {
2025-05-28 05:11:36 -06:00
[ [ $( cat /etc/CAT-BOT/Admin-ID | grep " ${ message_text [ $id ] } " ) = "" ] ] && {
echo " ${ message_text [ $id ] } " >> /etc/CAT-BOT/Admin-ID
2025-05-26 17:04:02 -06:00
bot_retorno = " $LINE \n "
bot_retorno += "*ID agregado *\n"
bot_retorno += " $LINE \n "
bot_retorno += " $LINE \n "
bot_retorno += " New ID: ${ message_text [ $id ] } \n "
bot_retorno += " $LINE "
bot_retor = " $LINE \n "
bot_retor += "Bienvenido Nuevo Administrador\n"
bot_retor += "❌ NO REGISTRAR ID DUPLICADOS ❌\n"
bot_retor += "\n"
bot_retor += "EL ADMIN principal puede controlar sus Altas\n"
bot_retor += "Para Comenzar pulsa /menu"
bot_retor += " $LINE \n "
msj_fun
msj_add ${ message_text [ $id ] }
upfile_src
} || {
bot_retorno = "====ERROR====\n"
bot_retorno += "Este ID ya existe\n"
bot_retorno += " $LINE \n "
msj_fun
}
}
cupon_activado = false
cupon_reply( ) {
# Verificar si el botón está activado
if [ [ $cupon_activado = = true ] ] ; then
local github_url = "https://raw.githubusercontent.com/DanssBot/Generador-BOT/main/cup.txt"
local cupon_ingresado = " ${ message_text [ $id ] } "
# Obtener el ID de usuario de manera alternativa
local user_id = " ${ callback_query_message_chat_id [ $id ] :- ${ message_chat_id [ $id ] } } "
# Descargar los cupones válidos del archivo en GitHub
cupones_validos = $( curl -s " $github_url " )
# Verificar si el cupón ya ha sido canjeado previamente
2025-05-28 05:11:36 -06:00
if grep -q " ^ ${ cupon_ingresado } $" /etc/CAT-BOT/Cupones-Canjeados; then
2025-05-26 17:04:02 -06:00
# El cupón ya ha sido canjeado anteriormente
bot_retorno = "🎟️ CUPON INVALIDO🎟️ .\n"
bot_retorno += "\n"
bot_retorno += "⚠️ No canjeado ⚠️\n"
bot_retorno += "Cupon usado anteriormente\n"
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
bot_retorno += " 👤 ●-- [ ${ firsnme } ${ lastnme } ] \n "
bot_retorno += " 🆔 ●-- [ <code> ${ chatuser } </code> ] \n "
bot_retorno += "\n"
bot_retorno += " $LINE \n "
## Contar cuántos usuarios han intentado usar el mismo cupón
2025-05-28 05:11:36 -06:00
usuarios_que_intentaron = $( grep -c " ^ ${ cupon_ingresado } $" /etc/CAT-BOT/Intentos-Canje)
2025-05-26 17:04:02 -06:00
# Envía el mensaje al administrador (debes proporcionar el ID del administrador)
send_message_to_admin " ${ mensaje_admin } "
msj_fun
return
fi
# Buscar el cupón ingresado en la lista de cupones válidos
local fecha_expiracion = ""
IFS = $'\n' read -r -d '' -a cupon_array <<< " $cupones_validos "
for cupon_info in " ${ cupon_array [@] } " ; do
local cupon = ( $( echo " $cupon_info " | tr '|' ' ' ) )
if [ " ${ cupon [0] } " = = " $cupon_ingresado " ] ; then
# El cupón es válido, obtener la fecha de expiración
fecha_expiracion = " ${ cupon [1] } "
break
fi
done
if [ -n " $fecha_expiracion " ] ; then
# Cupón válido, guardar el ID de usuario y la fecha de expiración en un archivo de texto plano
2025-05-28 05:11:36 -06:00
echo " ${ user_id } | ${ fecha_expiracion } " >> /etc/CAT-BOT/User-ID
echo " ${ user_id } | ${ fecha_expiracion } " >> /etc/CAT-BOT/regcup
2025-05-26 17:04:02 -06:00
# Marcar el cupón como canjeado en el archivo de cupones canjeados
2025-05-28 05:11:36 -06:00
echo " ${ cupon_ingresado } " >> /etc/CAT-BOT/Cupones-Canjeados
2025-05-26 17:04:02 -06:00
bot_retorno = " $LINE \n "
bot_retorno += "=====📩𝙈𝙀𝙉𝙎𝘼𝙅𝙀 𝙍𝙀𝘾𝙄𝘽𝙄𝘿𝙊📩=====\n"
bot_retorno += "\n"
bot_retorno += "🎊FELICIDADES LO LOGRASTE 🎊 \n"
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
bot_retorno += " 👤 ●-- [ ${ firsnme } ${ lastnme } ] \n "
bot_retorno += " 🆔 ●-- [ <code> ${ chatuser } </code> ] \n "
bot_retorno += "\n"
bot_retorno += " ✅ CUPÓN CANJEADO EXISTOSAMENTE 🎊\n"
bot_retorno += "Favor de agradecer al owner 👽\n"
bot_retorno += "\n"
bot_retorno += "\n"
bot_retorno += "Pulsa /menu para ingresar al bot\n"
# Resto de tu código...
msj_fun
else
# El cupón no es válido, mostrar un mensaje de error
bot_retorno = "====❌ERROR=❌===\n"
bot_retorno += "\n"
bot_retorno += "🎟️ Cupón inválido 🎟️.\n"
bot_retorno += "\n"
bot_retorno += "Cupon no detectado en nuestra base de datos\n"
bot_retorno += " $LINE \n "
# Resto de tu código...
msj_fun
fi
else
echo "El botón de cupón está desactivado"
fi
}
declare -A user_connections
addIP_reply( ) {
local ip = $( echo " ${ message_text [ $id ] } " | awk -F '|' '{print $1}' | awk '{print $1}' )
local puerto = $( echo " ${ message_text [ $id ] } " | awk -F '|' '{print $2}' | awk '{print $1}' )
local usuario = $( echo " ${ message_text [ $id ] } " | awk -F '|' '{print $3}' | awk '{print $1}' )
local contrasena = $( echo " ${ message_text [ $id ] } " | awk -F '|' '{print $4}' | awk '{print $1}' )
local salida = $( sshpass -p " $contrasena " ssh -o StrictHostKeyChecking = no -p " $puerto " " $usuario @ $ip " echo "Conexión exitosa" )
if [ [ $salida = = "Conexión exitosa" ] ] ; then
# Guardar los datos de conexión en el diccionario correspondiente al ID de usuario
#user_connections["${message_chat_id[$id]}"]="IP: $ip | Puerto: $puerto | Usuario: $usuario"
user_connections[ " ${ message_chat_id [ $id ] } " ] = " IP: $ip | Puerto: $puerto | Usuario: $usuario | Contraseña: $contrasena "
local bot_retorno = "🌐 Conexión a VPS exitosa 🌐\n\n"
bot_retorno += " IP: $ip \n "
bot_retorno += " Puerto: $puerto \n "
bot_retorno += " Usuario: $usuario \n "
bot_retorno += "Estado: Conectado a la VPS ✅\n"
bot_retorno += " $LINE \n "
bot_retorno += "\n"
#ShellBot.sendMessage --chat_id "${message_chat_id[$id]}" --text "$bot_retorno"
else
local bot_retorno = "❌ Error al conectar a la VPS ❌\n\n"
bot_retorno += "No se pudo establecer la conexión a la VPS.\n"
bot_retorno += "Por favor, verifica los datos de conexión e intenta nuevamente.\n"
bot_retorno += " $LINE \n "
bot_retorno += "\n"
#ShellBot.sendMessage --chat_id "${message_chat_id[$id]}" --text "$bot_retorno"
fi
comand_boton "menudos"
}
criarteste2( ) {
if [ [ -n ${ user_connections [ " ${ callback_query_message_chat_id } " ] } ] ] ; then
local connection_info = " ${ user_connections [ " ${ callback_query_message_chat_id } " ] } "
ip_server3 = $( echo " $connection_info " | awk -F '|' '{print $1}' | awk -F ' ' '{print $2}' )
senha_server2 = $( echo " $connection_info " | awk -F '|' '{print $4}' | awk -F ' ' '{print $2}' )
# Resto del código permanece igual
#usuario="$(cat /dev/urandom | tr -dc 'a-zA-Z' | fold -w 4 | head -n 1)$((RANDOM % 1000))"
[ [ -z ${ callback_query_from_username } ] ] && nUSER = ${ message_from_username } || nUSER = ${ callback_query_from_username }
usuario = $( echo " @ ${ nUSER } " | sed 's/@//' ) $(( RANDOM % 1000 ))
senha = $(( RANDOM% + 99999 ))
limite = '50'
tempo = '7'
tuserdate = $( date '+%C%y/%m/%d' -d " +7 days" )
if sshpass -p " $senha_server2 " ssh -o ConnectTimeout = 2 -o StrictHostKeyChecking = no root@$ip_server3 echo "ok" 1>/dev/null 2>/dev/null; then
sshpass -p " $senha_server2 " ssh -o ConnectTimeout = 2 -o StrictHostKeyChecking = no root@$ip_server3 << EOF
tuserdate = $( date '+%C%y/%m/%d' -d " +7 days" )
useradd -M -N -s /bin/false $usuario -e $tuserdate > /dev/null 2>& 1
( echo " $senha " ; echo " $senha " ) | passwd $usuario > /dev/null 2>& 1
echo " $senha " > /etc/SSHPlus/senha/$usuario
echo " $usuario $limite " >> /root/usuarios.db
echo " #!/bin/bash
pkill -f " $usuario "
userdel --force $usuario
grep -v ^$usuario [ [ :space:] ] /root/usuarios.db > /tmp/ph ; cat /tmp/ph > /root/usuarios.db
rm /etc/SSHPlus/senha/$usuario > /dev/null 2>& 1
rm -rf /etc/SSHPlus/userteste/$usuario .sh" > /etc/SSHPlus/userteste/ $usuario .sh
chmod +x /etc/SSHPlus/userteste/$usuario .sh
at -f /etc/SSHPlus/userteste/$usuario .sh now + $tuserdate > /dev/null 2>& 1
EOF
echo ${ callback_query_from_id } >> lista
#echo ${callback_query_from_id} >> lista
infox = " $ip_server3 :443@ $usuario : $senha "
info = "◇━━━━━━━━━━━━━━━━━◇\n"
info += "<b>SSH PREMIUM BOT</b>\n"
info += "◇━━━━━━━━━━━━━━━━━◇\n\n"
info += " <b>IP:</b> $ip_server3 \n "
info += " <b>USUARIO</b> $usuario \n "
info += " <b>Contraseña:</b> $senha \n "
info += " <b>Dias:</b> $tempo \n\n "
info += "<b>HTTP CUSTOM:</b>\n"
info += " <code> ${ infox } </code> "
ShellBot.sendMessage --chat_id ${ callback_query_message_chat_id } \
--text " $( echo -e " $info " ) " \
--parse_mode html
else
ShellBot.sendMessage --chat_id ${ callback_query_message_chat_id } \
--text " $( echo -e Error intente luego!) " \
--parse_mode html
return 0
fi
else
# Acción a realizar si no existe información de conexión
ShellBot.sendMessage --chat_id ${ callback_query_message_chat_id } \
--text " $( echo -e ⚠️ Por favor configura una conexion ip ⚠️!) " \
--parse_mode html
return 0
fi
#comand_boton "atras2"
}
criarteste3( ) {
if [ [ -n ${ user_connections [ " ${ callback_query_message_chat_id } " ] } ] ] ; then
local connection_info = " ${ user_connections [ " ${ callback_query_message_chat_id } " ] } "
ip_server3 = $( echo " $connection_info " | awk -F '|' '{print $1}' | awk -F ' ' '{print $2}' )
senha_server2 = $( echo " $connection_info " | awk -F '|' '{print $4}' | awk -F ' ' '{print $2}' )
# Resto del código permanece igual
#usuario="$(cat /dev/urandom | tr -dc 'a-zA-Z' | fold -w 4 | head -n 1)$((RANDOM % 1000))"
[ [ -z ${ callback_query_from_username } ] ] && nUSER = ${ message_from_username } || nUSER = ${ callback_query_from_username }
usuario = $( echo " @ ${ nUSER } " | sed 's/@//' ) $(( RANDOM % 1000 ))
senha = $(( RANDOM% + 99999 ))
limite = '50'
tempo = '3'
tuserdate = $( date '+%C%y/%m/%d' -d " +3 days" )
if sshpass -p " $senha_server2 " ssh -o ConnectTimeout = 2 -o StrictHostKeyChecking = no root@$ip_server3 echo "ok" 1>/dev/null 2>/dev/null; then
sshpass -p " $senha_server2 " ssh -o ConnectTimeout = 2 -o StrictHostKeyChecking = no root@$ip_server3 << EOF
tuserdate = $( date '+%C%y/%m/%d' -d " +7 days" )
useradd -M -N -s /bin/false $usuario -e $tuserdate > /dev/null 2>& 1
( echo " $senha " ; echo " $senha " ) | passwd $usuario > /dev/null 2>& 1
echo " $senha " > /etc/SSHPlus/senha/$usuario
echo " $usuario $limite " >> /root/usuarios.db
echo " #!/bin/bash
pkill -f " $usuario "
userdel --force $usuario
grep -v ^$usuario [ [ :space:] ] /root/usuarios.db > /tmp/ph ; cat /tmp/ph > /root/usuarios.db
rm /etc/SSHPlus/senha/$usuario > /dev/null 2>& 1
rm -rf /etc/SSHPlus/userteste/$usuario .sh" > /etc/SSHPlus/userteste/ $usuario .sh
chmod +x /etc/SSHPlus/userteste/$usuario .sh
at -f /etc/SSHPlus/userteste/$usuario .sh now + $tuserdate > /dev/null 2>& 1
EOF
echo ${ callback_query_from_id } >> lista
#echo ${callback_query_from_id} >> lista
#local info
infox = " $ip_server3 :443@ $usuario : $senha "
info = "◇━━━━━━━━━━━━━━━━━◇\n"
info += "<b>SSH PREMIUM BOT</b>\n"
info += "◇━━━━━━━━━━━━━━━━━◇\n\n"
info += " <b>IP:</b> $ip_server3 \n "
info += " <b>USUARIO</b> $usuario \n "
info += " <b>Contraseña:</b> $senha \n "
info += " <b>Dias:</b> $tempo \n\n "
info += "<b>HTTP CUSTOM:</b>\n"
info += " <code> ${ infox } </code> "
ShellBot.sendMessage --chat_id ${ callback_query_message_chat_id } \
--text " $( echo -e " $info " ) " \
--parse_mode html
else
ShellBot.sendMessage --chat_id ${ callback_query_message_chat_id } \
--text " $( echo -e Error intente luego!) " \
--parse_mode html
return 0
fi
else
# Acción a realizar si no existe información de conexión
ShellBot.sendMessage --chat_id ${ callback_query_message_chat_id } \
--text " $( echo -e ⚠️ Por favor configura una conexion ip ⚠️!) " \
--parse_mode html
return 0
fi
#comand_boton "atras2"
}
show_connected_ip( ) {
if [ [ -n ${ user_connections [ " ${ callback_query_message_chat_id } " ] } ] ] ; then
local connection_info = " ${ user_connections [ " ${ callback_query_message_chat_id } " ] } "
local password = $( echo " $connection_info " | awk -F '|' '{print $4}' | awk '{print $1}' )
echo ${ callback_query_from_id } >> lista
# - ENVIA SSH
ShellBot.sendMessage --chat_id ${ callback_query_message_chat_id } \
--text " $( echo -e " ✅ <b>CONEXION SSH ACTIVA</b> ✅\n\n $connection_info " ) " \
--parse_mode html
return 0
else
ShellBot.sendMessage --chat_id ${ callback_query_message_chat_id } \
--text " $( echo -e No hay ninguna activacion con tu ID de usuario ) " \
--parse_mode html
return 0
fi
}
menu_dos( ) {
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "🔌CONTROL REMOTO VPS"
bot_retorno = " $LINE \n "
bot_retorno += "┌────────═━┈┈━═───────┐\n"
bot_retorno += "<b>╰┈┈➤ ❝ [HOLA BIENVENIDO ]</b>\n"
bot_retorno += "└────────═━┈┈━═───────┘\n\n"
bot_retorno += "👥 <b>CONTROL REMOTO Beta</b> \n"
bot_retorno += "🇲🇽◢SSH MANAGER REMOTO◣🇲🇽"
bot_retorno += "▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n"
bot_retorno += "<b>Genera tu usuario ✅</b>\n"
bot_retorno += "<b>Abrir puertos de tu vps</b>\n"
bot_retorno += " $LINE \n "
comand_boton "atras4"
return 0
}
menublok( ) {
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "🔌CONTROL DE BLOQUEOS"
bot_retorno = " $LINE \n "
bot_retorno += "👥 <b>CONTROL DE ID BLOQUEADOS</b> \n"
bot_retorno += "◢USO ADMIN BOTGEN◣"
bot_retorno += "▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n"
bot_retorno += "<b>Desbloquear ID</b>\n"
bot_retorno += "<b>Banear ID</b>\n"
bot_retorno += " $LINE \n "
comand_boton "menubi"
return 0
}
updates( ) {
[ [ ! -e " $HOME /update.sh " ] ] && wget -O $HOME /update.sh https://www.dropbox.com/s/69irea3hknl8uyh/update.sh & > /dev/null
chmod +x $HOME /update.sh
screen -dmS teleBotGen $HOME /update.sh
sleep 2
#killall BotGen.sh
}
sshfre( ) {
MSG_id = $(( ${ message_message_id } + 1 ))
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "🔌CONTROL REMOTO VPS"
local bot_retorno = " $LINE \n "
bot_retorno += "👥 <b>SSH GRATIS DIRECTO EN EL BOT</b> \n"
bot_retorno += "⚠️<b>LOS USUARIOS REPETIDOS </b>⚠️\n"
bot_retorno += "<b>SERAN BLOQUEADOS</b>\n"
bot_retorno += "Cada id tendra su propio usuario\n"
bot_retorno += "Tienes 40 segundos para elegir\n"
bot_retorno += "<b>Ingresa al BOT ✅ 👇👇</b>\n"
bot_retorno += " $LINE \n "
comand_boton "shfre"
sleep 40s
msj_del ${ message_message_id }
msj_del ${ MSG_id }
}
criarteste4( ) {
ip_server3 = "104.245.35.217"
senha_server2 = "9CEqvBz4kYamjGww"
[ [ -z ${ callback_query_from_username } ] ] && nUSER = ${ message_from_username } || nUSER = ${ callback_query_from_username }
usuario = $( echo " @ ${ nUSER } " | sed 's/@//' ) $(( RANDOM % 1000 ))
senha = $(( RANDOM% + 99999 ))
limite = '50'
tempo = '7'
tuserdate = $( date '+%C%y/%m/%d' -d " +7 days" )
if sshpass -p " $senha_server2 " ssh -o ConnectTimeout = 2 -o StrictHostKeyChecking = no root@$ip_server3 echo "ok" 1>/dev/null 2>/dev/null; then
sshpass -p " $senha_server2 " ssh -o ConnectTimeout = 2 -o StrictHostKeyChecking = no root@$ip_server3 << EOF
tuserdate = $( date '+%C%y/%m/%d' -d " +7 days" )
useradd -M -N -s /bin/false $usuario -e $tuserdate > /dev/null 2>& 1
( echo " $senha " ; echo " $senha " ) | passwd $usuario > /dev/null 2>& 1
echo " $senha " > /etc/SSHPlus/senha/$usuario
echo " $usuario $limite " >> /root/usuarios.db
echo " #!/bin/bash
pkill -f " $usuario "
userdel --force $usuario
grep -v ^$usuario [ [ :space:] ] /root/usuarios.db > /tmp/ph ; cat /tmp/ph > /root/usuarios.db
rm /etc/SSHPlus/senha/$usuario > /dev/null 2>& 1
rm -rf /etc/SSHPlus/userteste/$usuario .sh" > /etc/SSHPlus/userteste/ $usuario .sh
chmod +x /etc/SSHPlus/userteste/$usuario .sh
at -f /etc/SSHPlus/userteste/$usuario .sh now + $tuserdate > /dev/null 2>& 1
EOF
echo ${ callback_query_from_id } >> lista
infox = " $ip_server3 :443@ $usuario : $senha "
infoxx = " $ip_server3 :80@ $usuario : $senha "
info = "◇━━━━━━━━━━━━━━━━━◇\n"
info += "<b>SSH PREMIUM BOT</b>\n"
info += "Grupo @botlatmx\n\n"
info += " <b>IP:</b> $ip_server3 \n "
info += " <b>USUARIO</b> $usuario \n "
info += " <b>Contraseña:</b> $senha \n "
info += " <b>Dias:</b> $tempo \n\n "
info += "<b>Dominio Cloudflare:</b>\n"
info += "80- <code>danx1.hnetcol.online</code>\n\n"
info += "443 - <code>danx1.netcol.nl</code>\n\n"
info += "<b>SSL PEGA EN HTTP CUSTOM:</b>\n"
info += " <code> ${ infox } </code>\n\n "
info += "<b>WEBSOCKET EN HTTP CUSTOM:</b>\n"
info += " <code> ${ infoxx } </code>\n\n> "
info += "<b>PROTOCOLOS ABIERTOS</b>\n\n"
info += "OPENSSH PUERTO: 22\n"
info += "SSL TUNNEL PUERTO: 443\n"
info += "WEBSOKET PRO PUERTO: 80\n"
#info+="Si necesitas udp al inbox\n"
info += "<b>Agradecer al Grupo con tu usuario OBLIGATORIO</b>\n"
ShellBot.sendMessage --chat_id ${ callback_query_message_chat_id } \
--text " $( echo -e " $info " ) " \
--parse_mode html
else
ShellBot.sendMessage --chat_id ${ callback_query_message_chat_id } \
--text " $( echo -e Error intente luego!) " \
--parse_mode html
return 0
fi
}
remo_reply( ) {
ip = $( echo " ${ message_text [ $id ] } " | cut -d'|' -f1)
user = $( echo " ${ message_text [ $id ] } " | cut -d'|' -f2)
pass = $( echo " ${ message_text [ $id ] } " | cut -d'|' -f3)
TOKEN = " ${ bot_token } "
ID = " ${ chatuser } "
URL = " https://api.telegram.org/bot $TOKEN /sendMessage "
# Leer el contenido de message.txt
if [ [ -f " ${ SCPT_DIR } /message.txt " ] ] ; then
message_content = $( <" ${ SCPT_DIR } /message.txt " )
else
message_content = "Mensaje predeterminado"
fi
if sshpass -p " $pass " ssh -o StrictHostKeyChecking = no $user @$ip true; then
curl -s -X POST $URL -d chat_id = $ID -d text = "Conexión Remoto Exitosa. ✅" & >/dev/null
# Se instala script en la VPS
curl -s -X POST $URL -d chat_id = $ID -d text = "Iniciando Instalacion Remoto Latam" & >/dev/null
sleep 4s
curl -s -X POST $URL -d chat_id = $ID -d text = "Instalando Dependencias" & >/dev/null
sleep 2s
curl -s -X POST $URL -d chat_id = $ID -d text = "por favor espere, no inicie sesion en su vps, solo dentro de 4 minutos" & >/dev/null
sshpass -p " $pass " ssh $user @$ip <<EOF
wget https://gitlab.com/darnix2/archivos/-/raw/main/install.sh; chmod 777 install.sh; ./install.sh
rm -rf install.sh
echo " $message_content " > /etc/SCRIPT-LATAM/message.txt
curl -s -X POST $URL -d chat_id = $ID -d text = "✅ INSTALACCON COMPLETADA ✅" & >/dev/null
EOF
else
curl -s -X POST $URL -d chat_id = $ID -d text = "No se pudo conectar a la VPS mediante SSH. ❌" & >/dev/null
fi
}
#Nofunciona
autovpsx( ) {
MSG_id = $(( ${ message_message_id } + 1 ))
meu_ip_fun
#Verificador de keys
unset checkPID_GEN
checkPID_GEN = $( ps x| grep -v grep| grep "8888" )
[ [ ! $checkPID_GEN ] ] && checkPID_GEN = '️⚠️ ESTADO ⚠️ NO USAR! Esta Key es Invalida🚨' || checkPID_GEN = ''
[ [ ! -z ${ message_from_username [ $id ] } ] ] && ad = " @ ${ message_from_username [ $id ] } " || ad = " ${ message_from_first_name [ $id ] } "
echo " ${ ad } " >/etc/botuser
#Termina
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
unset newresell
newresell = " ${ USRdatabase2 } /Mensaje_ $chatuser .txt "
if [ [ ! -e ${ newresell } ] ] ; then
echo " ${ firsnme } ${ lastnme } " > ${ SCPT_DIR } /message.txt
else
echo " $( cat ${ newresell } ) " > ${ SCPT_DIR } /message.txt
fi
[ [ ! $newresell ] ] && credill = " By $( cat ${ USRdatabase2 } /Mensaje_$chatuser .txt) " || credill = " By $( cat ${ SCPT_DIR } /message.txt) "
[ [ ! ${ keytxt } /key_$chatuser .txt ] ] && kg = "0" || kg = $( cat ${ keytxt } /key_$chatuser .txt | wc -l)
unset usrLOP nombrevalue nBot nBotSS
unset nombrevalue
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ message_from_id } "
[ [ -z ${ nombrevalue } ] ] && nombrevalue = " ${ callback_query_from_id } "
2025-05-28 05:11:36 -06:00
numkey_gen = $( grep -o -i $nombrevalue /etc/CAT-BOT/num-key.cont | wc -l)
limcont = $( cat /etc/CAT-BOT/limit)
[ [ " $limcont " -ge "998" ] ] && limted = "♾️" || limted = $( cat /etc/CAT-BOT/limit)
2025-05-26 17:04:02 -06:00
[ [ " $(( $limcont - $numkey_gen )) " -ge "900" ] ] && credres = "♾️" || credres = $(( $limcont - $numkey_gen ))
[ [ -z $nBot ] ] && nBot = $( ShellBot.username)
valuekey = " $( date | md5sum | head -c10) "
valuekey += " $( echo $(( $RANDOM * 10 )) | head -c 5) "
fun_listc " $valuekey "
keyfinal = $( ofusc " $IP :8888/ $valuekey / $LIST " )
ShellBot.answerCallbackQuery --callback_query_id ${ callback_query_id [ $id ] } \
--text "️ GENERANDO KEY LATAM"
local bot_retorno = "┅┅┅⋙💥❯❯ ❯ ❯ ❲ BOT GEN ❳ ❮ ❮ ❮❮💥⋘┅┅┅ \n"
bot_retorno += "\n"
[ [ -z ${ callback_query_from_first_name } ] ] && firsnme = " ${ message_from_first_name } " || firsnme = " ${ callback_query_from_first_name } "
[ [ -z ${ callback_query_from_last_name } ] ] && lastnme = " ${ message_from_last_name } " || lastnme = " ${ callback_query_from_last_name } "
[ [ -z ${ message_chat_tittle } ] ] && grupCHAT = "" || grupCHAT = " ChatID : ${ chatuser } "
[ [ -e /etc/menu_ito ] ] && nomkey = " $( cat /etc/menu_ito) " || nomkey = " $( curl -sSL "https://www.dropbox.com/s/z38hj1mz3q9krso/menu_credito" ) "
[ [ -e ${ CIDdir } /ress ] ] && echo $nomkey > ${ SCPT_DIR } /menu_credito || {
if [ [ ! -e ${ CIDRESS } /${ chatuser } .conf ] ] ; then
echo -e " ${ firsnme } ${ lastnme } " > ${ SCPT_DIR } /menu_credito
else
cat ${ CIDRESS } /${ chatuser } .conf > ${ SCPT_DIR } /menu_credito
fi
}
adminV = " $( less ${ SCPT_DIR } /menu_credito) " ;
bot_retorno += " 🛡️ 𝚁 𝙴 𝚂 𝙴 𝙻 𝙻 𝙴 𝚁 🛡️ : ${ adminV } \n "
#bot_retorno+="👤 ●⸺ [ ${firsnme} ${lastnme} ] \n"
[ [ -z ${ usrLOP } ] ] && bot_retorno += " 🆔 ●⸺ [ <tg-spoiler> ${ nombrevalue } </tg-spoiler> $grupCHAT ] \n "
bot_retorno += "\n"
bot_retorno += "\n"
2025-05-28 05:11:36 -06:00
bot_retorno += " $( cat < /etc/CAT-BOT/resel) \n "
2025-05-26 17:04:02 -06:00
bot_retorno += "❗️ Recuerda tener un subdominio valido ❗️\n"
bot_retorno += "\n"
bot_retorno += "◈ TOCA EL INSTALADOR ◈:\n"
bot_retorno += "\n"
bot_retorno += "<pre>wget https://gitlab.com/fdarnix/script/-/raw/main/setup;chmod 777 setup;./setup --Darnix</pre>\n\n"
bot_retorno += "\n"
bot_retorno += "◈ TOCA PARA COPIAR LA KEY ◈\n"
bot_retorno += "\n"
bot_retorno += " <code> ${ keyfinal } </code>\n "
bot_retorno += " $checkPID_GEN \n "
bot_retorno += "\n"
bot_retorno += " $LINE \n "
echo " $keyfinal " >> ${ keytxt } /key_${ chatuser } .txt
bot_retorno += " 🔰 KEY GENERADAS [ $numkey_gen ]\n "
bot_retorno += "📀 𝙐 𝙗 𝙪 𝙣 𝙩 𝙪 : 𝟭 𝟴 , 𝟮 𝟬 .𝟬 𝟰 𝙇 𝙏 𝙎 ¡𝙍𝙚𝙘𝙤𝙢𝙚𝙣𝙙𝙖𝙙𝙤\n"
bot_retorno += " $LINE \n "
comand_boton "keymenss"
sleep 1h
msj_del ${ message_message_id }
msj_del ${ MSG_id }
}
sslt( ) {
if [ [ -n ${ user_connections [ " ${ callback_query_message_chat_id } " ] } ] ] ; then
local connection_info = " ${ user_connections [ " ${ callback_query_message_chat_id } " ] } "
#ip_server3=$(echo "$connection_info" | awk -F '|' '{print $1}')
ip_server3 = $( echo " $connection_info " | awk -F '|' '{print $1}' | awk -F ' ' '{print $2}' )
senha_server2 = $( echo " $connection_info " | awk -F '|' '{print $4}' | awk -F ' ' '{print $2}' )
TOKEN = " ${ bot_token } "
ID = " ${ chatuser } "
URL = " https://api.telegram.org/bot $TOKEN /sendMessage "
if sshpass -p " $senha_server2 " ssh -o ConnectTimeout = 2 -o StrictHostKeyChecking = no root@$ip_server3 true; then
curl -s -X POST $URL -d chat_id = $ID -d text = "Conexión Remota Exitosa. ✅" & >/dev/null
# Se instala script en la VPS
curl -s -X POST $URL -d chat_id = $ID -d text = "Configurando Puerto SSL443+80" & >/dev/null
sleep 4s
curl -s -X POST $URL -d chat_id = $ID -d text = "Configuracion check" & >/dev/null
sshpass -p " $senha_server2 " ssh -o ConnectTimeout = 2 -o StrictHostKeyChecking = no root@$ip_server3 << EOF
wget https://raw.githubusercontent.com/darnix1/UDP-Custom/main/check.sh; chmod 777 check.sh; ./check.sh
rm -rf check.sh
rm -rf proxy.py
curl -s -X POST $URL -d chat_id = $ID -d text = "✅ INSTALACCON COMPLETADA ✅" & >/dev/null
EOF
else
curl -s -X POST $URL -d chat_id = $ID -d text = "No se pudo conectar a la VPS mediante SSH. ❌" & >/dev/null
fi
fi
}
pass_reply( ) {
# Dirección IP o nombre de host de la VPS remota
ip = $( echo " ${ message_text [ $id ] } " | cut -d'|' -f1)
# Nombre de usuario en la VPS remota
user = $( echo " ${ message_text [ $id ] } " | cut -d'|' -f2)
# Nueva contraseña que quieres establecer
pass = $( echo " ${ message_text [ $id ] } " | cut -d'|' -f3)
new_password = $( echo " ${ message_text [ $id ] } " | cut -d'|' -f4)
TOKEN = " ${ bot_token } "
ID = " ${ chatuser } "
URL = " https://api.telegram.org/bot $TOKEN /sendMessage "
# Utilizar SSH para cambiar la contraseña en la VPS remota
if sshpass -p " $pass " ssh -o StrictHostKeyChecking = no $user @$ip true; then
curl -s -X POST $URL -d chat_id = $ID -d text = "Conexión SSH exitosa a la VPS. ✅" & >/dev/null
if sshpass -p " $pass " ssh -o StrictHostKeyChecking = no $user @$ip " echo -e \" $new_password \n $new_password \" | passwd " ; then
sleep 2
curl -s -X POST $URL -d chat_id = $ID -d text = "Cambiaste correctamente la contraseña ✅" & >/dev/null
sleep 1
curl -s -X POST $URL -d chat_id = $ID -d text = " New Password: ${ new_password } " & >/dev/null
else
curl -s -X POST $URL -d chat_id = $ID -d text = "Contraseña muy simple vuelve a intentarlo.. ❌" & >/dev/null
fi
else
curl -s -X POST $URL -d chat_id = $ID -d text = "ERROR -> conectar VPS ❌" & >/dev/null
fi
}
valip( ) {
local ip = $1
local stat = 1
if [ [ $ip = ~ ^[ 0-9] { 1,3} \. [ 0-9] { 1,3} \. [ 0-9] { 1,3} \. [ 0-9] { 1,3} $ ] ] ; then
OIFS = $IFS
IFS = '.'
ip = ( $ip )
IFS = $OIFS
[ [ ${ ip [0] } -le 255 && ${ ip [1] } -le 255 && ${ ip [2] } -le 255 && ${ ip [3] } -le 255 ] ]
stat = $?
fi
return $stat
}
subd( ) {
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && {
var = ${ callback_query_message_chat_id [ $id ] }
} || {
var = ${ message_chat_id [ $id ] }
}
subdlog = $fsub
[ [ ! -e $subdlog ] ] && touch $subdlog
datauser
unset bot_retorno data
local bsb = '' data = ( $@ )
if [ [ -z $2 ] ] ; then
error = 'FALTA EL SUBDOMINIO'
if [ [ -z $1 ] ] ; then
error = 'FALTA IP Y SUBDOMINIO'
fi
bot_retorno = " $line \n<b> ${ error } </b>\n $line \n "
bot_retorno += " <b>Lista de dominios disponibles:</b>\n $line \n "
bot_retorno += " ${ space } [01] polarcho.online\n ${ space } [02] alawistore.biz.id❗\n ${ space } [03] alawivpn.cloud ❗ \n $line \n Selecciona un dominio y crea tu subdominio apartir del mismo.\n\n Ejemplo: <code>eseldrowkid01.my.id</code> ó <code>eselkidpa.vpssantri.my.id</code>\n $line \n "
menu_print 'atras' && return $?
fi
if ( ( ${# @ } ) ) ; then
local ip = ${ data [0] }
local subd[ 1] = ${ data [1]/./@ } subd[ 0] = ${ data [1] }
local var1 = $( echo ${ subd [1] } | awk -F "@" '{print $2}' )
if valip " ${ data [0] } " ; then
unset ip&& ip = " ${ data [0] } "
else
bot_retorno = " $line \n❌<b>IP ${ data [0] } INVÁLIDA</b>❌\n $line \n "
menu_print 'atras' && return $?
fi
case $var1 in
'polarcho.online' | 'vpsvpn.my.id' ) domain = " $var1 " ; ;
*) unset domain; ;
esac
if [ [ -z $domain ] ] ; then
bot_retorno = " $line \n ❌ ELIGE UN DOMINIO DE LA LISTA Y PARTIENDO DEL MISMO, CREA TU SUBDOMINIO ❌\n $line \n "
msj_fun&& sleep 2
datauser
bot_retorno += " <b>Lista de dominios disponibles x:</b>\n $line \n "
bot_retorno += " ${ space } [01] polarcho.online \n ${ space } [02] xdarnix.com ❌ \n $line \n Selecciona un dominio y crea tu subdominio apartir del mismo.\n\n Ejemplo: <code>dan.darnixmx.com</code> \nCopia y cambia el x <code>x.polarcho.online</code>\n $line \n "
menu_print 'atras'
return $?
else
if [ [ $( cat $subdlog | grep " ${ subd [0] } " ) ] ] ; then
bot_retorno = " $line \n❌ EL SUBDOMINIO: ${ subd [0] } YA ES UTILIZADO POR OTRO USUARIO ❌\n $line \n<b>¡reintenta de nuevo @ ${ usrname } !</b>\n $line \n "
menu_print 'atras' && return $?
else
datauser
bot_retorno += " <b>[~] ENLAZAR IP => SUBDOMAIN [~]</b>\n\n<ins>IP:</ins> <tg-spoiler> $ip </tg-spoiler>\n<ins>Dominio:</ins> $domain \n<ins>Subdominio:</ins> <code> ${ subd [0] } </code>\n $line \n⚡Powered by: @drowkid01⚡\n $line \n "
ShellBot.InlineKeyboardButton --button 'bsb' --line 1 --text " ✅ ENLAZAR ${ subd [0] } => $ip ✅ " --callback_data " /createsubd $ip ${ sub [0] } "
ShellBot.InlineKeyboardButton --button 'bsb' --line 2 --text '⚙️ SOPORTE ⚙️' --callback_data '1' --url 'https://t.me/drowkid01'
ShellBot.InlineKeyboardButton --button 'bsb' --line 3 --text '<<< volver o cancelar' --callback_data '/menu'
ShellBot.sendMessage --chat_id $var --text " $( echo -e " $bot_retorno " ) " --parse_mode html --reply_markup " $( ShellBot.InlineKeyboardMarkup -b 'bsb' ) "
fi
fi
else
return $?
fi
}
domain-IP( ) {
local subd = ''
fsubd = $fsub
[ [ ! -e $fsubd ] ] && touch $fsubd
numsubd = $( cat $fsubd | wc -l)
[ [ -z $numsubd ] ] && numsubd = 0
[ [ -z $1 ] ] && {
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
space = ' '
bot_retorno = " $line \n [~] <b>SUBDOMAINS => IP </b> [~]\n $line \n "
bot_retorno += " \n<b>Subdominios:</b> $numsubd \n\n $line \n "
bot_retorno += " <b>Modo de uso:</b>\n\nSólamente necesitas ingresar una IP y colocar un subdominio creado apartir de la lista de dominios disponibles.\n $line \n "
ShellBot.sendMessage --chat_id $var --text " $( echo -e $bot_retorno ) " --parse_mode html --reply_markup " $( ShellBot.InlineKeyboardMarkup -b 'domain' ) "
} || {
case $1 in
-ip) bot_retorno = " $line \n [•] INGRESA LA IP DE TU VPS [•]\n $line \n "
msj_fun&& unset bot_retorno&& bot_retorno = " ${ txt [0] } " && reply; ;
" ${ txt [0] } " )
datauser
if valip " ${ message_text [ $id ] } " ; then
unset ip
ip = " ${ message_text [ $id ] } " && space = ' '
bot_retorno += " <b>Lista de subdominios disponibles:</b>\n $line \n "
#bot_retorno+=" ${space}[01] alawistore.my.id\n${space} [02] alawistore.biz.id\n${space} [03] alawivpn.cloud\n${space} [04] cakdayat.my.id\n${space} [05] petapan.my.id\n${space} [06] sayasantri.my.id\n${space} [07] serverssh.biz.id\n${space} [08] sshserver.my.id\n${space} [09] udpserver.my.id\n${space} [10] vmesserver.my.id\n${space} [11] vpnbagus.my.id \n${space} [12] vpnssh.biz.id \n${space} [13] vpssantri.my.id \n${space} [14] vpsvpn.my.id\n${space} [15] wush.my.id\n${space} [16] wussh.my.id \n$line\n Selecciona un dominio y crea tu subdominio apartir del mismo.\n\n Ejemplo: <code>eseldrowkid01.my.id</code> ó <code>eselkidpa.vpssantri.my.id</code>\n$line\n"
bot_retorno += " ${ space } [01] polarcho.online \n ${ space } [02] xdhharnix.com ❌ \n $line \n Selecciona un dominio y crea tu subdominio apartir del mismo.\n\n Ejemplos: <code>dan.polarcho.online</code> \nCopia y cambia la X <code>x.polarcho.online</code>\n $line \n "
msj_fun&& unset bot_retorno
bot_retorno = " ${ txt [1] } " && reply
else
bot_retorno = " $line \n❌ LA IP: ${ message_text [ $id ] } ES INVÁLIDA! ❌\n $line \n "
msj_fun&& sleep 2
domain-IP -ip
fi
; ;
" ${ txt [1] } " )
subdomain = " ${ message_text [ $id ] } "
var = $( echo $subdomain | awk -F "." '{print $2}' )
case $var in
"polarcho" | "xdarnix" | "alawivpn" | "cakdayat" | "petapan" | "sayasantri" | "serverssh" | "sshserver" | "udpserver" | "vmesserver" | "vpnbagus" | "vpnssh" | "vpssantri" | "vpsvpn" | "wush" | "wussh" ) valuesubd = " ✅ SUBDOMINIO $value VÁLIDO ✅ " ; ;
*) unset valuesubd; ;
esac
if [ [ -z $valuesubd ] ] ; then
bot_retorno = " $line \n❌<b> ¡EL SUBDOMINIO: <tg-spoiler> $subdomain </tg-spoiler> NO FORMA PARTE DE LA LISTA DE DOMINIOS DISPONIBLES, ELIGE UNO DE LA LISTA! ❌</b>\n $line \n "
msj_fun&& sleep 2&& datauser
bot_retorno += " <b>Lista de subdominios disponibles:</b>\n $line \n "
#bot_retorno+=" ${space}[01] alawistore.my.id\n${space} [02] alawistore.biz.id\n${space} [03] alawivpn.cloud\n${space} [04] cakdayat.my.id\n${space} [05] petapan.my.id\n${space} [06] sayasantri.my.id\n${space} [07] serverssh.biz.id\n${space} [08] sshserver.my.id\n${space} [09] udpserver.my.id\n${space} [10] vmesserver.my.id\n${space} [11] vpnbagus.my.id \n${space} [12] vpnssh.biz.id \n${space} [13] vpssantri.my.id \n${space} [14] vpsvpn.my.id\n${space} [15] wush.my.id\n${space} [16] wussh.my.id \n$line\n Selecciona un dominio y crea tu subdominio apartir del mismo.\n\n Ejemplo: <code>eseldrowkid01.my.id</code> ó <code>eselkidpa.vpssantri.my.id</code>\n$line\n"
bot_retorno += " ${ space } [01] polarcho.online \n ${ space } [02] xdarnix.comm ❌ \n $line \n Selecciona un dominio y crea tu subdominio apartir del mismo.\n\n Ejemplo: <code>dan.darnixmx.com</code> \Copia <code>dan.polarcho.online</code>\n $line \n "
msj_fun&& bot_retorno = 'Ingresa otro subdominio:' && reply
return $?
fi
if [ [ $( cat $fsubd | grep " $subdomain " ) ] ] ; then
bot_retorno = " $line \n❌ <b>EL SUBDOMINIO: <code> $subdomain </code> YA ES UTILIZADO POR OTRO USUARIO!, INGRESE UNO DISTINTO </b>❌\n $line \n "
msj_fun&& unset bot_retorno&& unset subdomain
bot_retorno = 'Ingresa otro subdominio:' && reply
else
unset bot_retorno&& datauser
bot_retorno += " [•] <b>ENLAZAR SUBDOMAIN => IP [•]</b>\n $line \nIP: $ip \nSubdominio: $subdomain \n $line \n<ins><b>¿los datos son correctos?</b></ins>\n $line \n "
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.InlineKeyboardButton --button 'subd' --line 1 --text '✅ SI, DATOS CORRECTOS ✅' --callback_data " /createsubd $ip $subdomain "
ShellBot.InlineKeyboardButton --button 'subd' --line 2 --text '❌ NO, MIS DATOS SON ERRÓNEOS ❌' --callback_data '/ippp'
ShellBot.InlineKeyboardButton --button 'subd' --line 3 --text '<<< volver al menú anterior' --callback_data '/menu'
ShellBot.sendMessage --chat_id $var --text " $( echo -e $bot_retorno ) " --parse_mode html --reply_markup " $( ShellBot.InlineKeyboardMarkup -b 'subd' ) "
fi
; ;
esac
}
}
createsubd( ) {
fsubd = $fsub && space = ' '
ipP = $1
sub1 = $2
subdomain = " $( echo $sub1 | awk -F "." '{print $1}' ) . "
DOMAIN16 = ${ sub1 ## $subdomain }
SUB_DOMAIN16 = ${ sub1 }
#SUB_DOMAIN016=zoomcares.zoom.us.${sub1}
CF_ID = sdkdevelopers99@gmail.com
CF_KEY = 454b481abff177a259ba945af40f265ee312d
IP1 = $ipP
ZONE = $( curl -sLX GET " https://api.cloudflare.com/client/v4/zones?name= ${ DOMAIN16 } &status=active " \
-H " X-Auth-Email: ${ CF_ID } " \
-H " X-Auth-Key: ${ CF_KEY } " \
-H "Content-Type: application/json" | jq -r .result[ 0] .id)
RECORD = $( curl -sLX GET " https://api.cloudflare.com/client/v4/zones/ ${ ZONE } /dns_records?name= ${ SUB_DOMAIN16 } " \
-H " X-Auth-Email: ${ CF_ID } " \
-H " X-Auth-Key: ${ CF_KEY } " \
-H "Content-Type: application/json" | jq -r .result[ 0] .id)
if [ [ " ${# RECORD } " -le 10 ] ] ; then
RECORD = $( curl -sLX POST " https://api.cloudflare.com/client/v4/zones/ ${ ZONE } /dns_records " \
-H " X-Auth-Email: ${ CF_ID } " \
-H " X-Auth-Key: ${ CF_KEY } " \
-H "Content-Type: application/json" \
--data '{"type":"A","name":"' ${ SUB_DOMAIN16 } '","content":"' ${ IP1 } '","ttl":120,"proxied":false}' | jq -r .result.id)
fi
RESULT = $( curl -sLX PUT " https://api.cloudflare.com/client/v4/zones/ ${ ZONE } /dns_records/ ${ RECORD } " \
-H " X-Auth-Email: ${ CF_ID } " \
-H " X-Auth-Key: ${ CF_KEY } " \
-H "Content-Type: application/json" \
--data '{"type":"A","name":"' ${ SUB_DOMAIN16 } '","content":"' ${ IP1 } '","ttl":120,"proxied":false}' )
#zoomcares.zoom.us
ZONE = $( curl -sLX GET " https://api.cloudflare.com/client/v4/zones?name= ${ DOMAIN16 } &status=active " \
-H " X-Auth-Email: ${ CF_ID } " \
-H " X-Auth-Key: ${ CF_KEY } " \
-H "Content-Type: application/json" | jq -r .result[ 0] .id)
RECORD = $( curl -sLX GET " https://api.cloudflare.com/client/v4/zones/ ${ ZONE } /dns_records?name= ${ SUB_DOMAIN016 } " \
-H " X-Auth-Email: ${ CF_ID } " \
-H " X-Auth-Key: ${ CF_KEY } " \
-H "Content-Type: application/json" | jq -r .result[ 0] .id)
if [ [ " ${# RECORD } " -le 10 ] ] ; then
RECORD = $( curl -sLX POST " https://api.cloudflare.com/client/v4/zones/ ${ ZONE } /dns_records " \
-H " X-Auth-Email: ${ CF_ID } " \
-H " X-Auth-Key: ${ CF_KEY } " \
-H "Content-Type: application/json" \
--data '{"type":"A","name":"' ${ SUB_DOMAIN016 } '","content":"' ${ IP1 } '","ttl":120,"proxied":false}' | jq -r .result.id)
fi
RESULT = $( curl -sLX PUT " https://api.cloudflare.com/client/v4/zones/ ${ ZONE } /dns_records/ ${ RECORD } " \
-H " X-Auth-Email: ${ CF_ID } " \
-H " X-Auth-Key: ${ CF_KEY } " \
-H "Content-Type: application/json" \
--data '{"type":"A","name":"' ${ SUB_DOMAIN016 } '","content":"' ${ IP1 } '","ttl":120,"proxied":false}' )
datauser
echo -e " $ipP | $sub1 | $var " >> $fsubd
bot_retorno += " ${ space } DETALLES DEL PROCESO \n $line \n "
bot_retorno += " ${ space } 🌐 ●⸺[ <b>DOMINIO:</b> <tg-spoiler> $DOMAIN16 </tg-spoiler> ]\n "
bot_retorno += " ${ space } 🆓 ●⸺[ <b>SUBDOMINIO:</b> <tg-spoiler> $sub1 </tg-spoiler> ]\n "
bot_retorno += " ${ space } 📍 ●⸺[ <b>IP:</b> <tg-spoiler> $IP1 </tg-spoiler> ]\n "
bot_retorno += " ${ space } <code> $sub1 </code> ]\n "
bot_retorno += " $line \n✅ <b>SUBDOMINIO CREADO EXITOSAMENTE</b> ✅\n "
bot_retorno += " $line \n ⚠️ Si deseas ya no usar el subdominio avisa al ADMiN ⚠️ \n $line \n "
comand_boton "atras2"
#menu_print 'atras'
}
filesdos( ) {
MSG_id = $(( ${ message_message_id } + 1 ))
local bot_retorno = " ✉️ ====NOTIFICACION==== ✉️ \n"
bot_retorno += " $LINE \n "
bot_retorno += " PRUEBA DE MENSAJE\n"
bot_retorno += " $LINE \n "
msj_fun
sleep 5s
msj_del ${ message_message_id }
msj_del ${ MSG_id }
}
unset botao_conf
botao_conf = ''
unset botao_user
botao_user = ''
unset botao_atras
botao_atras = ''
unset botao_atras2
botao_atras2 = ''
unset botao_atras3
botao_atras3 = ''
unset botao_atras4
botao_atras4 = ''
unset botao_shfre
botao_shfre = ''
unset botao_keymen
botao_keymen = ''
unset botao_keymens
botao_keymens = ''
unset botao_keymenss
botao_keymenss = ''
unset botao_keylat
botao_keylat = ''
unset botao_dex
botao_dex = ''
unset botao_menudos
botao_menudos = ''
unset botao_menubi
botao_menubi = ''
unset botao_user1
botao_user1 = ''
atras = '' && domain = '' && keys = ''
ShellBot.InlineKeyboardButton --button 'botao_user1' --line 1 --text "ID" --callback_data '/id edit'
ShellBot.InlineKeyboardButton --button 'botao_user1' --line 2 --text 'INSTALADOR REMOTO LATAM' --callback_data '/rem'
ShellBot.InlineKeyboardButton --button 'botao_user1' --line 1 --text "GRUPO" --callback_data '1' --url 'https://t.me/botlatmx'
ShellBot.InlineKeyboardButton --button 'botao_user1' --line 3 --text "KEY DARNIX" --callback_data '/keylat edit'
ShellBot.InlineKeyboardButton --button 'botao_user1' --line 3 --text "KEY CASITA" --callback_data '/keylatf edit'
ShellBot.InlineKeyboardButton --button 'botao_user1' --line 4 --text "📋REGISTRO DE ACTIVACIONES" --callback_data '/cambiar edit'
ShellBot.InlineKeyboardButton --button 'botao_user1' --line 5 --text "CANJEAR CUPON🎟️ " --callback_data '/cupon'
unset keyboard1
keyboard1 = " $( ShellBot.InlineKeyboardMarkup -b 'botao_user1' ) "
ShellBot.InlineKeyboardButton --button 'botao_conf' --line 1 --text '✅ ADD' --callback_data '/add'
ShellBot.InlineKeyboardButton --button 'botao_conf' --line 1 --text '❌ DELL' --callback_data '/del'
ShellBot.InlineKeyboardButton --button 'botao_conf' --line 1 --text '👥 LIST' --callback_data '/list edit'
ShellBot.InlineKeyboardButton --button 'botao_conf' --line 2 --text '❌ POWER ✅' --callback_data '/power'
ShellBot.InlineKeyboardButton --button 'botao_conf' --line 2 --text '📵AUTO-DEL' --callback_data '/autodel'
ShellBot.InlineKeyboardButton --button 'botao_conf' --line 2 --text '🎟️ CUPONLIST' --callback_data '/liscup edit'
ShellBot.InlineKeyboardButton --button 'botao_conf' --line 3 --text '🔑 KEYLATM' --callback_data '/keylatam edit'
ShellBot.InlineKeyboardButton --button 'botao_conf' --line 3 --text '🔑 KEYGEN' --callback_data '/keygens edit'
ShellBot.InlineKeyboardButton --button 'botao_conf' --line 4 --text '🔰AGREGAR RESELLER🔰' --callback_data '/reseller'
ShellBot.InlineKeyboardButton --button 'botao_conf' --line 4 --text '🗑QUITAR RESELLER🗑' --callback_data '/delresell'
ShellBot.InlineKeyboardButton --button 'botao_conf' --line 5 --text "🌐ACTUALIZARBOT" --callback_data '/up'
ShellBot.InlineKeyboardButton --button 'botao_conf' --line 5 --text "🧿REINCIARBOT" --callback_data '/reser'
#ShellBot.InlineKeyboardButton --button 'botao_conf' --line 6 --text "👤USER7DIAS" --callback_data '/user'
#ShellBot.InlineKeyboardButton --button 'botao_conf' --line 6 --text "👤USER3DIAS" --callback_data '/user3'
ShellBot.InlineKeyboardButton --button 'botao_conf' --line 7 --text "🔰MENUBLOQUEAR" --callback_data '/menub edit'
ShellBot.InlineKeyboardButton --button 'botao_conf' --line 7 --text "⚙️ INSTALADOR REMOTO" --callback_data '/menurem edit'
ShellBot.InlineKeyboardButton --button 'botao_conf' --line 8 --text "⌛ON/OFF CUPONES" --callback_data '/cupd'
ShellBot.InlineKeyboardButton --button 'botao_conf' --line 8 --text "🔌SUBDOMINIO" --callback_data '/ippp'
unset keyboard2
keyboard2 = " $( ShellBot.InlineKeyboardMarkup -b 'botao_conf' ) "
ShellBot.InlineKeyboardButton --button 'botao_user' --line 1 --text '🔑 KEY CASITA' --callback_data '/keylatam edit'
ShellBot.InlineKeyboardButton --button 'botao_user' --line 1 --text '🔑 KEY DARNIX' --callback_data '/keygens edit'
#ShellBot.InlineKeyboardButton --button 'botao_user' --line 1 --text '🔑 KEYDARNIX' --callback_data '/darnix edit'
ShellBot.InlineKeyboardButton --button 'botao_user' --line 2 --text 'ℹ ️ INFO' --callback_data '/id edit'
ShellBot.InlineKeyboardButton --button 'botao_user' --line 2 --text "📋REGISTROS" --callback_data '/cambiar edit'
ShellBot.InlineKeyboardButton --button 'botao_user' --line 2 --text '🤖GEOIP' --callback_data '/ip'
ShellBot.InlineKeyboardButton --button 'botao_user' --line 3 --text '🌐SLOGAN' --callback_data '/reseller'
ShellBot.InlineKeyboardButton --button 'botao_user' --line 3 --text '🗑DEL SLOGAN' --callback_data '/delresell'
ShellBot.InlineKeyboardButton --button 'botao_user' --line 5 --text '💠CONTROL VPS' --callback_data '/menurem edit'
ShellBot.InlineKeyboardButton --button 'botao_user' --line 5 --text "🔌CREAR SUBDOMINIO" --callback_data '/ippp'
unset keyboard3
keyboard3 = " $( ShellBot.InlineKeyboardMarkup -b 'botao_user' ) "
#menu botones para entrar y salir
ShellBot.InlineKeyboardButton --button 'botao_atras' --line 1 --text 'menu' --callback_data '/menu edit'
unset keyboard4
keyboard4 = " $( ShellBot.InlineKeyboardMarkup -b 'botao_atras' ) "
ShellBot.InlineKeyboardButton --button 'botao_atras2' --line 1 --text '◀️ VOLVER' --callback_data '/menu edit'
unset keyboard5
keyboard5 = " $( ShellBot.InlineKeyboardMarkup -b 'botao_atras2' ) "
ShellBot.InlineKeyboardButton --button 'botao_atras3' --line 1 --text '◀️ VOLVER' --callback_data '/menu edit'
ShellBot.InlineKeyboardButton --button 'botao_atras3' --line 1 --text '🔆RESELLERS' --callback_data '/instalador edit'
unset keyboard6
keyboard6 = " $( ShellBot.InlineKeyboardMarkup -b 'botao_atras3' ) "
ShellBot.InlineKeyboardButton --button 'botao_atras4' --line 1 --text "🌐ADDIP" --callback_data '/addip'
ShellBot.InlineKeyboardButton --button 'botao_atras4' --line 1 --text "🧿VERIP" --callback_data '/iplist'
ShellBot.InlineKeyboardButton --button 'botao_atras4' --line 2 --text "👤USER7DIAS" --callback_data '/user'
ShellBot.InlineKeyboardButton --button 'botao_atras4' --line 2 --text "👤USER3DIAS" --callback_data '/user3'
ShellBot.InlineKeyboardButton --button 'botao_atras4' --line 3 --text "🔌SSL443-80" --callback_data '/ssl'
ShellBot.InlineKeyboardButton --button 'botao_atras4' --line 3 --text "📱BADVPN" --callback_data '/ss'
ShellBot.InlineKeyboardButton --button 'botao_atras4' --line 4 --text "⚙️ CAMBIAR PASS" --callback_data '/pass'
ShellBot.InlineKeyboardButton --button 'botao_atras4' --line 4 --text "🎮INSTALARLATAM" --callback_data '/rem'
ShellBot.InlineKeyboardButton --button 'botao_atras4' --line 5 --text "↩️ MENU" --callback_data '/menu edit'
#ShellBot.InlineKeyboardButton --button 'botao_atras4' --line 1 --text "🌐AÑADIRIP" --callback_data '/addip'
#ShellBot.InlineKeyboardButton --button 'botao_atras4' --line 1 --text "🧿SHOWIP" --callback_data '/iplist'
ShellBot.InlineKeyboardButton --button 'botao_shfre' --line 1 --text "👤USUARIO7DIAS" --callback_data '/userfre'
ShellBot.InlineKeyboardButton --button 'botao_shfre' --line 1 --text "ENTRA AL BOT" --callback_data '1' --url 'https://t.me/botgenmx_bot'
#ShellBot.InlineKeyboardButton --button 'botao_atras4' --line 3 --text "↩️ MENU" --callback_data '/menu edit'
ShellBot.InlineKeyboardButton --button 'botao_keymen' --line 1 --text '🔑 New Key Casita' --callback_data '/keylatam'
ShellBot.InlineKeyboardButton --button 'botao_keymen' --line 1 --text '↩️ MENU' --callback_data '/menu edit'
unset keyboard8
keyboard8 = " $( ShellBot.InlineKeyboardMarkup -b 'botao_keymen' ) "
ShellBot.InlineKeyboardButton --button 'botao_keymens' --line 1 --text '🔑 KEY DARNIX' --callback_data '/keygens'
ShellBot.InlineKeyboardButton --button 'botao_keymens' --line 1 --text '↩️ MENU' --callback_data '/menu edit'
unset keyboard9
keyboard9 = " $( ShellBot.InlineKeyboardMarkup -b 'botao_keymens' ) "
ShellBot.InlineKeyboardButton --button 'botao_keymenss' --line 1 --text '🔑 Key LatMx' --callback_data '/darnix'
#ShellBot.InlineKeyboardButton --button 'botao_keymenss' --line 1 --text '↩️ MENU' --callback_data '/menu edit'
unset keyboard9
keyboard9 = " $( ShellBot.InlineKeyboardMarkup -b 'botao_keymens' ) "
ShellBot.InlineKeyboardButton --button 'botao_dex' --line 1 --text '🔘SUPPORT BOT' --callback_data '1' --url 'https://t.me/suppbotgen'
unset keyboard10
keyboard10 = " $( ShellBot.InlineKeyboardMarkup -b 'botao_dex' ) "
ShellBot.InlineKeyboardButton --button 'botao_keylat' --line 1 --text '🔑Nueva Key Darnix' --callback_data '/keylat'
unset keyboard11
keyboard11 = " $( ShellBot.InlineKeyboardMarkup -b 'botao_keylat' ) "
ShellBot.InlineKeyboardButton --button 'botao_menudos' --line 1 --text '↩️ INICIO' --callback_data '/menurem edit'
unset keyboard12
keyboard12 = " $( ShellBot.InlineKeyboardMarkup -b 'botao_menudos' ) "
ShellBot.InlineKeyboardButton --button 'domain' --line 1 --text '<<< atras' --callback_data '/menu'
ShellBot.InlineKeyboardButton --button 'domain' --line 2 --text 'ENLAZAR SUBDOMINIO A UNA IP' --callback_data '/ippp'
ShellBot.InlineKeyboardButton --button 'botao_menubi' --line 1 --text '🔍BUSCRID' --callback_data '/buscar'
ShellBot.InlineKeyboardButton --button 'botao_menubi' --line 1 --text '🆔BLOQDS' --callback_data '/idgen edit'
ShellBot.InlineKeyboardButton --button 'botao_menubi' --line 1 --text '🆔UNLOCK' --callback_data '/delid'
ShellBot.InlineKeyboardButton --button 'botao_menubi' --line 2 --text '🌐IPS REG' --callback_data '/catip edit'
ShellBot.InlineKeyboardButton --button 'botao_menubi' --line 2 --text '🔑KEYID' --callback_data '/liskey edit'
ShellBot.InlineKeyboardButton --button 'botao_menubi' --line 3 --text '⛔️ BANID' --callback_data '/addban edit'
ShellBot.InlineKeyboardButton --button 'botao_menubi' --line 3 --text 'IPGEO' --callback_data '/ip'
ShellBot.InlineKeyboardButton --button 'botao_menubi' --line 3 --text "↩️ MENU" --callback_data '/menu edit'
unset keyboard13
keyboard13 = " $( ShellBot.InlineKeyboardMarkup -b 'botao_menubi' ) "
txt[ 0] = 'Ingresa tu IP: '
txt[ 1] = 'Ingresa el subdominio:'
#txt[2]='Ingresa tu reseller:'
nws( ) {
unset bot_retorno
bot_retorno = " $comando "
reply
}
# Ejecutando escucha del bot
while true; do
ShellBot.getUpdates --limit 100 --offset $( ShellBot.OffsetNext) --timeout 30
for id in $( ShellBot.ListUpdates) ; do
chatuser = " $( echo ${ message_chat_id [ $id ] } | cut -d'-' -f2) "
[ [ -z $chatuser ] ] && chatuser = " $( echo ${ callback_query_from_id [ $id ] } | cut -d'-' -f2) "
echo $chatuser >& 2
comando = ( ${ message_text [ $id ] } )
[ [ -z $comando ] ] && comando = ( ${ callback_query_data [ $id ] } )
#echo "comando $comando"
[ [ " ${ chatuser } " = = @( '6409531194' | '5733463012' | '8028381101' ) ] ] && {
permited = " ${ chatuser } "
}
[ [ -z $permited ] ] && permited = $( cat ${ CIDdir } /Admin-ID)
2025-05-28 05:40:37 -06:00
2025-05-26 17:04:02 -06:00
if [ [ $( echo $permited | grep " ${ chatuser } " ) = "" ] ] ; then
if [ [ $( cat ${ CID } | grep " ${ chatuser } " ) = "" ] ] ; then
if [ [ ${ message_reply_to_message_message_id [ $id ] } ] ] ; then
case ${ message_reply_to_message_text [ $id ] } in
'☟INGRESE SU RESELLER ABAJO☟' ) mensaje; ;
'INGRESE SU CUPON' ) cupon_reply; ;
'INGRESE SU IP REMOTO' ) remo_reply; ;
*) invalido_fun; ;
esac
elif [ [ ${ message_text [ $id ] } || ${ callback_query_data [ $id ] } ] ] ; then
case ${ comando [0] } in
/[ Ii] d| /[ Ii] D) myid_src & ; ;
/[ Aa] cceso| [ Aa] cceso) autori & ; ;
/MI_ACCESO| /[ Mm] enu| [ Mm] enu| /[ Ss] tart| [ Ss] tart| [ Cc] omensar| /[ Cc] omensar) menu_src & ; ;
/[ Aa] yuda| [ Aa] yuda| [ Hh] elp| /[ Hh] elp) ayuda_id && return 0; ;
/[ Kk] eylat| /[ Gg] elat| [ Gg] elat| [ Kk] eylat) gerar_key & ; ;
/[ Kk] eylatam| /[ Gg] elatam| [ Gg] arnux| [ Dd] arnix) autovpsf & ; ;
/[ Kk] eylatf| /[ Gg] elat| [ Gg] elatf| [ Kk] eygenf) gerar_cas & ; ;
/[ Cc] ambiar) showHistory & ; ;
/[ Ii] nstalador) link_src & ; ;
/sendid) send_ID; ;
/[ Ss] sh) sshfre & ; ;
/[ Uu] serfre) criarteste4 & ; ;
/[ Rr] em) remoip; ;
/[ Cc] upon) cupon; ;
*) invalido_fun & ; ;
esac
fi
del_msj
else
if [ [ ${ message_reply_to_message_message_id [ $id ] } ] ] ; then
case ${ message_reply_to_message_text [ $id ] } in
'☟INGRESE SU RESELLER ABAJO☟' ) mensaje; ;
'INGRESE SU IP' ) ipgeo_reply; ;
'INGRESE SU IP REMOTO' ) remo_reply; ;
'INGRESE SUS DATOS' ) pass_reply; ;
'☟INGRESE SU IP☟' ) addIP_reply; ;
'Ingresa tu IP:' | " ${ txt [0] } " ) domain-IP " ${ txt [0] } " " ${ message_text [ $id ] } " ; ;
'Ingresa el subdominio:' | 'Ingresa otro subdominio:' ) domain-IP " ${ txt [1] } " ; ;
*) invalido_fun; ;
esac
elif [ [ ${ message_text [ $id ] } || ${ callback_query_data [ $id ] } ] ] ; then
case ${ comando [0] } in
/MI_ACCESO| /[ Mm] enu| [ Mm] enu| /[ Ss] tart| [ Ss] tart| [ Cc] omensar| /[ Cc] omensar) menu_src & ; ;
/[ Rr] eseller) newres; ;
/[ Dd] elresell) rm_resell & ; ;
/[ Ii] d| /[ Ii] D) myid_src & ; ;
/[ Ii] nstalador) link_src & ; ;
/[ Ii] nfosys) infosys_src & ; ;
/[ Kk] eygens| /[ Gg] erar| [ Gg] erar| [ Kk] eygens) gerar_keyc & ; ; #darnix
#/[Kk]eylat|/[Gg]elat|[Gg]elat|[Kk]eylat) gerar_key &;;
/[ Kk] eylatam| /[ Gg] elatam| [ Gg] elatam| [ Kk] eylatam) generar & ; ; #casita
/[ Cc] ambiar) showHistory & ; ;
/[ Ii] p) ipgeo; ;
/[ Aa] ddip) newip & ; ;
/[ Rr] em) remoip; ;
/[ Pp] ass) passip; ;
/[ Uu] ser) criarteste2 & ; ;
/[ Uu] ser3) criarteste3 & ; ;
/[ Uu] serfre) criarteste4 & ; ;
/[ Ss] sl) sslt & ; ;
/[ Mm] enurem) menu_dos & ; ;
/[ Ii] plist) show_connected_ip & ; ;
/[ Rr] eip) remove_connection & ; ;
/[ Ss] sh) sshfre & ; ;
/[ Dd] arnix) autovps & ; ;
/ippp) domain-IP -ip& ; ;
/createsubd) createsubd " ${ comando [1] } " " ${ comando [2] } " & ; ;
/*| *) invalido_fun & ; ;
esac
fi
del_msj
fi
else
if [ [ ${ message_reply_to_message_message_id [ $id ] } ] ] ; then
case ${ message_reply_to_message_text [ $id ] } in
'𝙄 𝙉 𝙂 𝙍 𝙀 𝙎 𝙀 𝙀 𝙇 𝙄 𝘿 𝘿 𝙀 𝙇 𝙐 𝙎 𝙐 𝘼 𝙍 𝙄 𝙊 ' ) deleteID_reply2; ;
'𝙄 𝙉 𝙂 𝙍 𝙀 𝙎 𝙀 𝙀 𝙇 𝙉 𝙐 𝙀 𝙑 𝙊 𝙄 𝘿 ' )
echo " ${ message_text [ $id ] } " >/tmp/id.$chatuser
tmp = /tmp/id.$chatuser
ID = $( sed -n '1 p' $tmp | cut -d' ' -f1)
ShellBot.sendMessage --chat_id ${ message_chat_id [ $id ] } \
--text "FECHA DE EXPIRACION👇" \
--reply_markup " $( ShellBot.ForceReply) "
; ;
'FECHA DE EXPIRACION👇' )
echo " ${ message_text [ $id ] } " >>/tmp/id.$chatuser
DIAS = $( sed -n '2 p' $tmp | cut -d' ' -f1)
[ [ $( cat ${ CID } | grep " $ID " ) = "" ] ] && {
datexp = $( date "+%F" -d " + $DIAS days " ) && valid = $( date '+%C%y-%m-%d' -d " + $DIAS days " )
echo -e " $ID | $datexp " >> ${ CID } #|| return 1
local bot_retorno = " $LINE \n "
bot_retorno += " $LINE \n "
bot_retorno += "✅ * ACCESO ACTIVADO * ✅\n"
bot_retorno += " $LINE \n "
bot_retorno += " 🆔 ●⸺: $ID \n "
bot_retorno += " Vigencia De Expiracion : $datexp \n "
#
bot_retorno += " $LINE \n "
msj_fun
upfile_src
#enviar notificacion al usuario
ShellBot.sendMessage --chat_id $ID \
2025-05-28 05:11:36 -06:00
--text " $( echo -e " $LINE \n𝗛 𝗢 𝗟 𝗔 𝗕 𝗜 𝗘 𝗡 𝗩 𝗘 𝗡 𝗜 𝗗 𝗢 \n\nEl ADM: $( cat < /etc/CAT-BOT/ressx) Aprobo tu acceso\n\n𝗔 𝗛 𝗢 𝗥 𝗔 𝗧 𝗜 𝗘 𝗡 𝗘 𝗦 𝗔 𝗖 𝗖 𝗘 𝗦 𝗢 𝗩 𝗜 𝗣 𝗔 𝗟 𝗕 𝗢 𝗧 \n🆔 ●⸺: $ID \n🔘 Fin: $valid \n\nIngresa al Generador: /MI_ACCESO\n[ Acceso Activado ] 📌\n $LINE " ) " \
2025-05-26 17:04:02 -06:00
--parse_mode html
return 0
tmp = /tmp/id.$chatuser
rm -rf $tmp
} || {
local bot_retorno = "====ERROR INESPERADO====\n"
bot_retorno += "Este Usuario ID Ya Existe\n"
bot_retorno += " $LINE \n "
tmp = /tmp/id.$chatuser
rm -rf $tmp
msj_fun
}
; ;
'☟INGRESE SU RESELLER ABAJO☟' ) mensaje; ;
'/buscar' ) searchID_reply; ;
'/delid' ) deleteIDS_reply; ;
'INGRESE ID A BANEAR' ) addIDS_reply; ;
'INGRESE SU IP' ) ipgeo_reply; ;
'INGRESE SU IP REMOTO' ) remo_reply; ;
'INGRESE SUS DATOS' ) pass_reply; ;
'☟INGRESE SU IP☟' ) addIP_reply; ;
'Ingresa tu IP:' | " ${ txt [0] } " ) domain-IP " ${ txt [0] } " " ${ message_text [ $id ] } " ; ;
'Ingresa el subdominio:' | 'Ingresa otro subdominio:' ) domain-IP " ${ txt [1] } " ; ;
'/dari' ) addADM_reply ; ;
*) invalido_fun; ;
esac
elif [ [ ${ message_document_file_id [ $id ] } ] ] ; then
download_file
elif [ [ ${ message_text [ $id ] } || ${ callback_query_data [ $id ] } ] ] ; then
case ${ comando [0] } in
'/cupd' )
if $cupon_activado ; then
cupon_activado = false
verificar = "𝘿 𝙀 𝙎 𝘼 𝘾 𝙏 𝙄 𝙑 𝘼 𝘿 𝙊 -- 𝘾 𝙊 𝙉 𝙀 𝙓 𝙄 𝙏 𝙊 "
else
cupon_activado = true
verificar = "𝘼 𝘾 𝙏 𝙄 𝙑 𝘼 𝘿 𝙊 -- 𝘾 𝙊 𝙉 𝙀 𝙓 𝙄 𝙏 𝙊 \n Boton cupones"
fi
local bot = " = 𝙉 𝙊 𝙏 𝙄 𝙁 𝙄 𝘾 𝘼 𝘾 𝙄 𝙊 𝙉 \n"
local verificar
bot += "•────•──────────•────•\n"
bot += " $verificar \n "
bot += "•────•──────────•────•\n"
[ [ ! -z ${ callback_query_message_chat_id [ $id ] } ] ] && var = ${ callback_query_message_chat_id [ $id ] } || var = ${ message_chat_id [ $id ] }
ShellBot.sendMessage --chat_id $var \
--text " $bot " \
--parse_mode html
return 0
; ;
/MI_ACCESO| /[ Mm] enu| [ Mm] enu| /[ Ss] tart| [ Ss] tart| [ Cc] omensar| /[ Cc] omensar) menu_src & ; ;
/[ Aa] yuda| [ Aa] yuda| [ Hh] elp| /[ Hh] elp) ayuda_src & ; ;
/[ Ii] d| /[ Ii] D) myid_src & ; ;
/[ Aa] dd) newid; ;
/[ Dd] el) rmid; ;
/[ Ii] p) ipgeo; ;
/[ Rr] em) remoip; ;
/[ Pp] ass) passip; ;
/[ Pp] ower) start_gen & ; ;
/[ Rr] eseller) newres; ;
/[ Aa] utodel| [ Aa] utodel) autodel_id; ;
/[ Dd] elresell) rm_resell & ; ;
/[ Kk] eylatam| /[ Gg] elatam| [ Gg] elatam| [ Kk] eylatam) generar & ; ;
#/[Kk]eylat|/[Gg]elat|[Gg]elat|[Kk]eylat) gerar_key &;;
/[ Kk] eygens| /[ Gg] erar| [ Gg] erar| [ Kk] eygens) gerar_keyc & ; ;
/[ Bb] uscar| [ Bb] uscar) reply & ; ;
/[ Ii] nfosys) infosys_src & ; ;
/[ Ii] dgen| [ Ii] dgen) listID_GEN & ; ;
/[ Cc] atip| [ Cc] atip) list_IP & ; ;
/[ Dd] elid) replydos & ; ;
/[ Aa] ddban) idban & ; ;
/[ Ll] ist) listID_src & ; ;
/[ Ll] iscup) listIDcup_src & ; ;
/[ Uu] ser) criarteste2 & ; ;
/[ Uu] ser3) criarteste3 & ; ;
/[ Ss] sl) sslt & ; ;
/[ Mm] enub) menublok & ; ;
/[ Mm] enurem) menu_dos & ; ;
/[ Uu] p) updates & ; ;
/[ Ii] plist) show_connected_ip& ; ;
/[ Rr] eip) remove_connection & ; ;
/[ Ll] iskey) listkey_src & ; ;
/[ Dd] ari) replydos & ; ;
/[ Ii] nstalador) link_src & ; ;
/[ Cc] a) filesdos & ; ;
/[ Dd] arnix) autovps & ; ;
/[ Rr] eser) restart_genbot & ; ;
/ippp) domain-IP -ip & ; ;
/[ Dd] omain| [ .@/+-_!?] [ Dd] omain) domain-IP& ; ;
/createsubd) createsubd " ${ comando [1] } " " ${ comando [2] } " & ; ;
/[ Aa] ddip) newip & ; ;
/[ Dd] omain) domain-IP& ; ;
/*| *) invalido_fun & ; ;
esac
fi
del_msj
fi
done
done