bot-mwsm 3.0.3 → 3.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bash/setup.sh CHANGED
@@ -31,20 +31,20 @@ cat <<'EOF'
31
31
  ###### ############ ########
32
32
  ###### #### ############ #### ######## ########
33
33
  #### ########## ######## #### ######## ########
34
- #### ############ ############ #### #### ## #### #### #### #### #### ######## ## ###### ######
35
- #### ## ################## #### #### #### #### #### #### #### ###### #### #### ## ###### ###### ####
36
- #### #### ########## #### #### #### #### ## #### #### ###### #### #### #### #### ####
37
- #### #### ###### #### #### #### ## #### #### #### ## ## ## ###### #### #### ####
38
- #### #### ###### #### #### #### ######## #### #### ## ######## #### #### #### ####
39
- #### #### ###### #### #### #### ###### #### ###### ######## #### #### #### ####
40
- #### #### ###### #### #### #### #### #### ###### #### ########## #### #### ####
41
- ###### ## ###### ## ####
42
- ######## ###### ########
43
- ######## ###### ##########
44
- ######## ## ##########
45
- ####################
46
- ##############
47
- ######
34
+ #### ############ ############ #### #### ## #### #### #### #### #### ######## ## ###### ######
35
+ #### ## ################## #### #### #### #### #### #### #### ###### #### #### ## ###### ###### ####
36
+ #### #### ########## #### #### #### #### ## #### #### ###### #### #### #### #### ####
37
+ #### #### ###### #### #### #### ## #### #### #### ## ## ## ###### #### #### ####
38
+ #### #### ###### #### #### #### ######## #### #### ## ######## #### #### #### ####
39
+ #### #### ###### #### #### #### ###### #### ###### ######## #### #### #### ####
40
+ #### #### ###### #### #### #### #### #### ###### #### ########## #### #### ####
41
+ ###### ## ###### ## ####
42
+ ######## ###### ########
43
+ ######## ###### ##########
44
+ ######## ## ##########
45
+ ####################
46
+ ##############
47
+ ######
48
48
 
49
49
  EOF
50
50
 
@@ -71,10 +71,51 @@ else
71
71
  SUDO="sudo"
72
72
  fi
73
73
 
74
+ # ==============================
75
+ # 🔍 Detectar distribuição
76
+ # ==============================
77
+ detect_distro() {
78
+ local id=""
79
+ local codename=""
80
+
81
+ if [ -f /etc/os-release ]; then
82
+ . /etc/os-release
83
+ id=$(echo "${ID:-}" | tr '[:upper:]' '[:lower:]')
84
+ codename=$(grep -E '^VERSION_CODENAME=' /etc/os-release | cut -d= -f2 | tr -d '"')
85
+ fi
86
+
87
+ if [[ "$id" == "devuan" ]] || grep -qi "devuan" /etc/os-release 2>/dev/null; then
88
+ DISTRO_DETECT="devuan"
89
+ return 0
90
+ fi
91
+
92
+ if [[ "$codename" == "bookworm" || "$codename" == "trixie" ]]; then
93
+ DISTRO_DETECT="debian"
94
+ return 0
95
+ fi
96
+
97
+ if [[ "$id" == "ubuntu" ]]; then
98
+ DISTRO_DETECT="ubuntu"
99
+ return 0
100
+ fi
101
+
102
+ # 🚀 Detecta Docker antes de qualquer fallback
103
+ if [ -f /.dockerenv ] || grep -qE '/docker/' /proc/1/cgroup 2>/dev/null; then
104
+ DISTRO_DETECT="docker"
105
+ return 0
106
+ fi
107
+
108
+ DISTRO_DETECT="other"
109
+ return 1
110
+ }
111
+
112
+ detect_distro
113
+
74
114
  # ==============================
75
115
  # 🧾 Log
76
116
  # ==============================
77
117
  LOG_FILE="/var/log/mwsm.log"
118
+ $SUDO mkdir -p "$(dirname "$LOG_FILE")" >/dev/null 2>&1
78
119
  $SUDO touch "$LOG_FILE" >/dev/null 2>&1
79
120
  $SUDO chmod 666 "$LOG_FILE" >/dev/null 2>&1
80
121
  echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Iniciando instalador" >>"$LOG_FILE"
@@ -89,14 +130,34 @@ SPIN_PID=$!
89
130
  echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Verificando dependências..." >>"$LOG_FILE"
90
131
 
91
132
  # ==============================
92
- # 🧩 Correção silenciosa Debian antigo
133
+ # 🐋 Caso esteja em Docker
93
134
  # ==============================
94
- if [ -f /etc/os-release ]; then
95
- . /etc/os-release
96
- DISTRO=$(echo "${ID:-}" | tr '[:upper:]' '[:lower:]')
97
- DEBIAN_VERSION=$(grep -oP '(?<=VERSION_CODENAME=)\w+' /etc/os-release 2>/dev/null || echo "")
98
- if [[ ("$DISTRO" == "debian" || "$DISTRO" == "devuan") && ("$DEBIAN_VERSION" == "buster" || "$DEBIAN_VERSION" == "stretch" || -z "$DEBIAN_VERSION") ]]; then
99
- echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Corrigindo repositórios ($DEBIAN_VERSION)" >>"$LOG_FILE"
135
+ if [[ "$DISTRO_DETECT" == "docker" ]]; then
136
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Ambiente Docker detectado - iniciando modo ultrarrápido" >>"$LOG_FILE"
137
+ if ! systemctl is-active --quiet docker; then
138
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Iniciando serviço Docker" >>"$LOG_FILE"
139
+ $SUDO systemctl start docker >/dev/null 2>&1
140
+ fi
141
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Baixando imagem mkcodec/mwsm:latest" >>"$LOG_FILE"
142
+ $SUDO docker pull mkcodec/mwsm:latest >/dev/null 2>&1
143
+ if $SUDO docker ps -a --format '{{.Names}}' | grep -q '^mwsm$'; then
144
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Removendo container antigo Mwsm" >>"$LOG_FILE"
145
+ $SUDO docker stop mwsm >/dev/null 2>&1
146
+ $SUDO docker rm mwsm >/dev/null 2>&1
147
+ fi
148
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Iniciando container Mwsm" >>"$LOG_FILE"
149
+ $SUDO docker run -d --name mwsm -p 8000:8000 -p 5005:5005 mkcodec/mwsm:latest >/dev/null 2>&1
150
+ sleep 5
151
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Acessando logs do PM2 dentro do container" >>"$LOG_FILE"
152
+ $SUDO docker exec -it mwsm pm2 logs
153
+ else
154
+ # ==============================
155
+ # 🧩 Correção silenciosa Debian antigo
156
+ # ==============================
157
+ detect_distro
158
+
159
+ if [[ "$DISTRO_DETECT" == "devuan" ]]; then
160
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Corrigindo repositórios (Devuan)" >>"$LOG_FILE"
100
161
  $SUDO bash -c '
101
162
  sed -i "s|deb.debian.org|archive.debian.org|g" /etc/apt/sources.list
102
163
  sed -i "s|security.debian.org|archive.debian.org/debian-security|g" /etc/apt/sources.list
@@ -106,39 +167,47 @@ SPIN_PID=$!
106
167
  apt-get update --allow-releaseinfo-change -o Acquire::Check-Valid-Until=false -y -qq >/dev/null 2>&1
107
168
  ' >>"$LOG_FILE" 2>&1
108
169
  fi
109
- fi
110
170
 
111
- # ==============================
112
- # 📦 Curl e dependências
113
- # ==============================
114
- if ! command -v curl >/dev/null 2>&1; then
115
- echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Instalando curl" >>"$LOG_FILE"
116
- $SUDO apt-get update -qq >/dev/null 2>&1
117
- $SUDO apt-get install -y -qq curl >/dev/null 2>&1
118
- fi
171
+ # ==============================
172
+ # 📦 Curl e dependências
173
+ # ==============================
174
+ if ! command -v curl >/dev/null 2>&1; then
175
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Instalando curl" >>"$LOG_FILE"
176
+ $SUDO apt-get update -qq >/dev/null 2>&1
177
+ $SUDO apt-get install -y -qq curl >/dev/null 2>&1
178
+ fi
119
179
 
120
- # ==============================
121
- # 🕒 Ajuste de fuso horário e NTP
122
- # ==============================
123
- echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Ajustando fuso horário e NTP" >>"$LOG_FILE"
124
- if command -v timedatectl >/dev/null 2>&1; then
125
- $SUDO timedatectl set-timezone America/Sao_Paulo >/dev/null 2>&1
126
- $SUDO timedatectl set-ntp true >/dev/null 2>&1
127
- else
180
+ # ==============================
181
+ # 🕒 Ajuste de fuso horário e NTP
182
+ # ==============================
183
+ if command -v timedatectl >/dev/null 2>&1; then
184
+ $SUDO timedatectl set-timezone America/Sao_Paulo >/dev/null 2>&1
185
+ $SUDO timedatectl set-ntp true >/dev/null 2>&1
186
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] timedatectl detectado - timezone e NTP configurados" >>"$LOG_FILE"
187
+ CURRENT_TIME="$(date '+%Y-%m-%d %H:%M:%S')"
188
+ echo "$CURRENT_TIME - [SETUP] timedatectl detectado - timezone e NTP configurados" >>"$LOG_FILE"
189
+ echo "$CURRENT_TIME - [SETUP] Hora atual do sistema: $(date '+%Y-%m-%d %H:%M:%S')" >>"$LOG_FILE"
190
+ else
191
+ if [ -f /usr/share/zoneinfo/America/Sao_Paulo ]; then
128
192
  $SUDO ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime >/dev/null 2>&1
129
193
  echo "America/Sao_Paulo" | $SUDO tee /etc/timezone >/dev/null 2>&1
130
194
  command -v hwclock >/dev/null 2>&1 && $SUDO hwclock --systohc >/dev/null 2>&1
195
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Fallback manual aplicado (sem timedatectl)" >>"$LOG_FILE"
196
+ CURRENT_TIME="$(date '+%Y-%m-%d %H:%M:%S')"
197
+ echo "$CURRENT_TIME - [SETUP] Fallback manual aplicado (sem timedatectl)" >>"$LOG_FILE"
198
+ echo "$CURRENT_TIME - [SETUP] Hora atual do sistema: $(date '+%Y-%m-%d %H:%M:%S')" >>"$LOG_FILE"
131
199
  fi
200
+ fi
132
201
 
133
- # ==============================
134
- # ⬇️ Download do mwsm.sh
135
- # ==============================
136
- echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Baixando mwsm.sh" >>"$LOG_FILE"
137
- $SUDO mkdir -p /var/api/Mwsm >/dev/null 2>&1
138
- MWSM_URL="https://raw.githubusercontent.com/MKCodec/Mwsm/refs/heads/main/bash/mwsm.sh?nocache=$(date +%s)"
139
- MWSM_FILE="/var/api/Mwsm/mwsm.sh"
140
- $SUDO curl -sSL "$MWSM_URL" -o "$MWSM_FILE" >/dev/null 2>&1
141
- $SUDO chmod +x "$MWSM_FILE" >/dev/null 2>&1
202
+ # ==============================
203
+ # ⬇️ Download do mwsm.sh (modo normal)
204
+ # ==============================
205
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Baixando mwsm.sh" >>"$LOG_FILE"
206
+ $SUDO mkdir -p /var/api/Mwsm >/dev/null 2>&1
207
+ MWSM_URL="https://raw.githubusercontent.com/MKCodec/Mwsm/refs/heads/main/bash/mwsm.sh?nocache=$(date +%s)"
208
+ $SUDO curl -sSL "$MWSM_URL" -o /var/api/Mwsm/mwsm.sh >/dev/null 2>&1
209
+ $SUDO chmod +x /var/api/Mwsm/mwsm.sh >/dev/null 2>&1
210
+ fi
142
211
 
143
212
  } >>"$LOG_FILE" 2>&1
144
213
 
package/img/menu-mwsm.png CHANGED
Binary file
package/mwsm.db CHANGED
Binary file