3301 lines
146 KiB
Bash
Executable File
3301 lines
146 KiB
Bash
Executable File
#!/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
|
||
#!/bin/bash
|
||
# -*- ENCODING: UTF-8 -*-
|
||
|
||
# --------------------------------------
|
||
# Sección de Constantes
|
||
# --------------------------------------
|
||
# Línea divisoria utilizada en la salida del bot
|
||
LINE="━━━━━━━━━━━━━━━━━━"
|
||
|
||
# Rutas principales
|
||
SCPT_DIR="/etc/scripts/latam"
|
||
SCPT_DIRC="/etc/scripts/vpsmx"
|
||
DIR="/etc/http-shell"
|
||
CIDdir="/etc/CAT-BOT"
|
||
USRdatabase2="/etc/CAT-BOT/Creditos"
|
||
|
||
# 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
|
||
#bot_token="$(cat ${CIDdir}/token)"
|
||
bot_token=$(cat /etc/CAT-BOT/data|awk -F '|' '{print $2}')
|
||
adm=$(cat $CIDdir/data|awk -F '|' '{print $1}')
|
||
[[ $bot_token == '' ]] && bot_token="$3"
|
||
adm="$4"
|
||
|
||
# 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}"
|
||
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)
|
||
[[ "$(( $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"
|
||
bot_retorno+="$(cat < /etc/CAT-BOT/resel)\n"
|
||
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
|
||
}
|
||
|
||
|
||
#==> run-cm
|
||
function run-cm(){
|
||
cmd=("$@")
|
||
eval ${cmd[@]} > ~/.runcmd
|
||
bot_retorno="\n$(cat ~/.runcmd)\n \nroot@$(wget -qO- ipv4.icanhazip.com):$PWD =>"
|
||
msj_fun
|
||
rm ~/.runcmd
|
||
}
|
||
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}"
|
||
if [[ "$(grep -o -i $nombrevalue /etc/CAT-BOT/num-key.cont | wc -l)" -ge "$(cat < /etc/CAT-BOT/limit)" ]]; then
|
||
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"
|
||
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"
|
||
bot_retorno+="Espera 12 horas a que se libere o contacta al ADM lo haga\n"
|
||
bot_retorno+="$LINE\n"
|
||
msj_fun
|
||
exit
|
||
else
|
||
echo "$nombrevalue" >> /etc/CAT-BOT/num-key.cont
|
||
fi
|
||
numkey_used=$(grep -o -i $nombrevalue /etc/gerar-sh-log | wc -l)
|
||
numkey_gen=$(grep -o -i $nombrevalue /etc/CAT-BOT/num-key.cont | wc -l)
|
||
#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}"
|
||
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)
|
||
[[ "$(( $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"
|
||
bot_retorno+="$(cat < /etc/CAT-BOT/resel)\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"
|
||
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}"
|
||
if [[ "$(grep -o -i $nombrevalue /etc/CAT-BOT/num-key.cont | wc -l)" -ge "$(cat < /etc/CAT-BOT/limit)" ]]; then
|
||
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"
|
||
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"
|
||
bot_retorno+="Espera 12 horas a que se libere o contacta al ADM lo haga\n"
|
||
bot_retorno+="$LINE\n"
|
||
msj_fun
|
||
exit
|
||
else
|
||
echo "$nombrevalue" >> /etc/CAT-BOT/num-key.cont
|
||
fi
|
||
numkey_used=$(grep -o -i $nombrevalue /etc/gerar-sh-log | wc -l)
|
||
numkey_gen=$(grep -o -i $nombrevalue /etc/CAT-BOT/num-key.cont | wc -l)
|
||
#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}"
|
||
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)
|
||
[[ "$(( $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"
|
||
bot_retorno+="$(cat < /etc/CAT-BOT/reselkey)\n"
|
||
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}"
|
||
if [[ "$(grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l)" -ge "$(cat < /etc/CAT-BOT/limita)" ]]; then
|
||
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"
|
||
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"
|
||
bot_retorno+="Espera 12 horas a que se libere o contacta al ADM lo haga\n"
|
||
bot_retorno+="$LINE\n"
|
||
msj_fun
|
||
exit
|
||
else
|
||
echo "$nombrevalue" >> /etc/CAT-BOT/num-keys.cont
|
||
fi
|
||
numkey_used=$(grep -o -i $nombrevalue /etc/gerar-sh-log | wc -l)
|
||
numkey_gen=$(grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l)
|
||
#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}"
|
||
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)
|
||
[[ "$(( $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"
|
||
bot_retorno+="$(cat < /etc/CAT-BOT/resel)\n"
|
||
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}"
|
||
if [[ "$(grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l)" -ge "$(cat < /etc/CAT-BOT/limita)" ]]; then
|
||
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"
|
||
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"
|
||
bot_retorno+="Espera 12 horas a que se libere o contacta al ADM lo haga\n"
|
||
bot_retorno+="$LINE\n"
|
||
msj_fun
|
||
exit
|
||
else
|
||
echo "$nombrevalue" >> /etc/CAT-BOT/num-keys.cont
|
||
fi
|
||
numkey_used=$(grep -o -i $nombrevalue /etc/gerar-sh-log | wc -l)
|
||
numkey_gen=$(grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l)
|
||
#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}"
|
||
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)
|
||
[[ "$(( $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"
|
||
bot_retorno+="$(cat < /etc/CAT-BOT/resel)\n"
|
||
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}"
|
||
if [[ "$(grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l)" -ge "$(cat < /etc/CAT-BOT/limita)" ]]; then
|
||
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"
|
||
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"
|
||
bot_retorno+="Espera 12 horas a que se libere o contacta al ADM lo haga\n"
|
||
bot_retorno+="$LINE\n"
|
||
msj_fun
|
||
exit
|
||
else
|
||
echo "$nombrevalue" >> /etc/CAT-BOT/num-keys.cont
|
||
fi
|
||
numkey_used=$(grep -o -i $nombrevalue /etc/gerar-sh-log | wc -l)
|
||
numkey_gen=$(grep -o -i $nombrevalue /etc/CAT-BOT/num-keys.cont | wc -l)
|
||
#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}
|
||
[[ ! -z $(cat /etc/CAT-BOT/Admin-ID|grep "${chatuser}" ) ]] && {
|
||
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}"
|
||
[[ -z "$(cat /etc/CAT-BOT/User-ID | grep ${idchek} )" ]] && {
|
||
[[ "$(cat /etc/CAT-BOT/Admin-ID)" == "${idchek}" ]] && {
|
||
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}"
|
||
[[ -z "$(cat /etc/CAT-BOT/User-ID | grep ${idchek} )" ]] && {
|
||
[[ "$(cat /etc/CAT-BOT/Admin-ID)" == "${idchek}" ]] && {
|
||
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
|
||
for i in $(cat /etc/CAT-BOT/User-ID | awk '{print $3}'); do
|
||
[[ "$(date -d $(date '+%C%y-%m-%d') +%s)" -ge "$(date -d $i +%s)" ]] && {
|
||
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
|
||
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)
|
||
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)
|
||
[[ "$(( $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
|
||
creditos="$(cat /etc/CAT-BOT/Creditos/Mensaje_$chatuser.txt)"
|
||
[[ ! $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)
|
||
numkey_gen=$(grep -o -i $message_chat_id /etc/CAT-BOT/num-key.cont | wc -l)
|
||
unset nombrevalue
|
||
[[ -z ${nombrevalue} ]] && nombrevalue="${message_from_id}"
|
||
[[ -z ${nombrevalue} ]] && nombrevalue="${callback_query_from_id}"
|
||
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)
|
||
[[ "$(( $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"
|
||
bot_retorno+="$(cat < /etc/CAT-BOT/resell)\n"
|
||
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
|
||
creditos="$(cat /etc/CAT-BOT/Creditos/Mensaje_$chatuser.txt)"
|
||
[[ ! $creditos ]] && credi="Defaul: ${firsnme} ${lastnme}" || credi="Personal: $creditos"
|
||
$(cat /etc/CAT-BOT/User-ID| wc -l)
|
||
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
|
||
bot_retorno+="🆔 |-- USUARIOS 𝗩𝗜𝗣 ACTIVOS: $(cat /etc/CAT-BOT/User-ID| wc -l)\n"
|
||
bot_retorno+="🟢 |-- BOT STATUS: $PID_GEN \n"
|
||
bot_retorno+="📵 |-- AUTO-DEL: $ve \n"
|
||
bot_retorno+="🔔NOTY BOT USUARIOS \n"
|
||
bot_retorno+="$checkPID_GEN\n"
|
||
bot_retorno+="$(cat < /etc/CAT-BOT/resell)\n"
|
||
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 ""
|
||
screen -dmS verificar /etc/CAT-BOT/veri &
|
||
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 () {
|
||
[[ $(cat /etc/CAT-BOT/Admin-ID | grep "${message_text[$id]}") = "" ]] && {
|
||
echo "${message_text[$id]}" >> /etc/CAT-BOT/Admin-ID
|
||
|
||
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
|
||
if grep -q "^${cupon_ingresado}$" /etc/CAT-BOT/Cupones-Canjeados; then
|
||
# 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
|
||
usuarios_que_intentaron=$(grep -c "^${cupon_ingresado}$" /etc/CAT-BOT/Intentos-Canje)
|
||
|
||
# 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
|
||
echo "${user_id}|${fecha_expiracion}" >> /etc/CAT-BOT/User-ID
|
||
echo "${user_id}|${fecha_expiracion}" >> /etc/CAT-BOT/regcup
|
||
|
||
# Marcar el cupón como canjeado en el archivo de cupones canjeados
|
||
echo "${cupon_ingresado}" >> /etc/CAT-BOT/Cupones-Canjeados
|
||
|
||
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}"
|
||
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)
|
||
[[ "$(( $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"
|
||
bot_retorno+="$(cat < /etc/CAT-BOT/resel)\n"
|
||
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)
|
||
permited=${adm}
|
||
|
||
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 \
|
||
--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")" \
|
||
--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 &;;
|
||
[/?!+-.$][Rr]un-cmd)run_cm ${comando[1]} ${comando[2]} &;;
|
||
/[Dd]omain)domain-IP&;;
|
||
/*|*) invalido_fun &;;
|
||
esac
|
||
fi
|
||
del_msj
|
||
fi
|
||
done
|
||
done
|