bot-mwsm 3.0.5 → 3.0.7

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
@@ -4,8 +4,8 @@
4
4
  # 🧹 Limpeza e restauração do terminal
5
5
  # ==============================
6
6
  cleanup_terminal() {
7
- stty sane 2>/dev/null || true
8
- tput cnorm 2>/dev/null || true
7
+ stty sane 2>/dev/null || true
8
+ tput cnorm 2>/dev/null || true
9
9
  }
10
10
  trap cleanup_terminal EXIT INT TERM
11
11
 
@@ -15,7 +15,6 @@ trap cleanup_terminal EXIT INT TERM
15
15
  stty -echo -icanon -isig
16
16
  tput civis
17
17
  trap '' INT TSTP QUIT
18
-
19
18
  clear
20
19
 
21
20
  # ==============================
@@ -52,61 +51,55 @@ EOF
52
51
  # 🔄 Função spinner contínuo
53
52
  # ==============================
54
53
  spinner_start() {
55
- local message="$1"
56
- local spin='-\|/'
57
- local i=0
58
- while true; do
59
- i=$(( (i+1) %4 ))
60
- printf "\r ${spin:$i:1} %s" "$message"
61
- sleep 0.1
62
- done
54
+ local message="$1"
55
+ local spin='-\|/'
56
+ local i=0
57
+ while true; do
58
+ i=$(( (i+1) %4 ))
59
+ printf "\r ${spin:$i:1} %s" "$message"
60
+ sleep 0.1
61
+ done
63
62
  }
64
63
 
65
64
  # ==============================
66
65
  # 🔍 Detecta sudo
67
66
  # ==============================
68
67
  if [ "$(id -u)" -eq 0 ]; then
69
- SUDO=""
68
+ SUDO=""
70
69
  else
71
- SUDO="sudo"
70
+ SUDO="sudo"
72
71
  fi
73
72
 
74
73
  # ==============================
75
74
  # 🔍 Detectar distribuição
76
75
  # ==============================
77
76
  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
77
+ local id=""
78
+ local codename=""
79
+
80
+ if [ -f /etc/os-release ]; then
81
+ . /etc/os-release
82
+ id=$(echo "${ID:-}" | tr '[:upper:]' '[:lower:]')
83
+ codename=$(grep -E '^VERSION_CODENAME=' /etc/os-release | cut -d= -f2 | tr -d '"')
84
+ fi
85
+
86
+ if [[ "$id" == "devuan" ]] || grep -qi "devuan" /etc/os-release 2>/dev/null; then
87
+ DISTRO_DETECT="devuan"
88
+ return 0
89
+ fi
90
+
91
+ if [[ "$codename" == "bookworm" || "$codename" == "trixie" ]]; then
92
+ DISTRO_DETECT="debian"
93
+ return 0
94
+ fi
95
+
96
+ if [[ "$id" == "ubuntu" ]]; then
97
+ DISTRO_DETECT="ubuntu"
98
+ return 0
99
+ fi
100
+
101
+ DISTRO_DETECT="other"
102
+ return 1
110
103
  }
111
104
 
112
105
  detect_distro
@@ -118,6 +111,7 @@ LOG_FILE="/var/log/mwsm.log"
118
111
  $SUDO mkdir -p "$(dirname "$LOG_FILE")" >/dev/null 2>&1
119
112
  $SUDO touch "$LOG_FILE" >/dev/null 2>&1
120
113
  $SUDO chmod 666 "$LOG_FILE" >/dev/null 2>&1
114
+
121
115
  echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Iniciando instalador" >>"$LOG_FILE"
122
116
 
123
117
  # ==============================
@@ -127,87 +121,71 @@ spinner_start "Inicializando instalador..." &
127
121
  SPIN_PID=$!
128
122
 
129
123
  {
130
- echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Verificando dependências..." >>"$LOG_FILE"
131
-
132
- # ==============================
133
- # 🐋 Caso esteja em Docker
134
- # ==============================
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"
161
- $SUDO bash -c '
124
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Verificando dependências..." >>"$LOG_FILE"
125
+
126
+ # ==============================
127
+ # 🧩 Correção silenciosa Debian antigo
128
+ # ==============================
129
+ detect_distro
130
+ if [[ "$DISTRO_DETECT" == "devuan" ]]; then
131
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Corrigindo repositórios (Devuan)" >>"$LOG_FILE"
132
+ $SUDO bash -c '
162
133
  sed -i "s|deb.debian.org|archive.debian.org|g" /etc/apt/sources.list
163
134
  sed -i "s|security.debian.org|archive.debian.org/debian-security|g" /etc/apt/sources.list
164
135
  echo "Acquire::Check-Valid-Until false;" > /etc/apt/apt.conf.d/99archive
165
136
  apt-get clean -qq >/dev/null 2>&1
166
137
  rm -rf /var/lib/apt/lists/* >/dev/null 2>&1
167
138
  apt-get update --allow-releaseinfo-change -o Acquire::Check-Valid-Until=false -y -qq >/dev/null 2>&1
168
- ' >>"$LOG_FILE" 2>&1
169
- fi
139
+ ' >>"$LOG_FILE" 2>&1
140
+ fi
170
141
 
171
142
  # ==============================
172
143
  # 📦 Curl e dependências
173
144
  # ==============================
174
145
  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
146
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Instalando curl" >> "$LOG_FILE"
147
+ $SUDO apt-get update -qq >/dev/null 2>&1
148
+ $SUDO apt-get install -y -qq curl >/dev/null 2>&1
178
149
  fi
179
150
 
180
151
  # ==============================
181
152
  # 🕒 Ajuste de fuso horário e NTP
182
153
  # ==============================
183
154
  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
192
- $SUDO ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime >/dev/null 2>&1
193
- echo "America/Sao_Paulo" | $SUDO tee /etc/timezone >/dev/null 2>&1
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"
155
+ $SUDO timedatectl set-timezone America/Sao_Paulo >/dev/null 2>&1
156
+ $SUDO timedatectl set-ntp true >/dev/null 2>&1
157
+
158
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] timedatectl detectado - timezone e NTP configurados" >>"$LOG_FILE"
159
+
196
160
  CURRENT_TIME="$(date '+%Y-%m-%d %H:%M:%S')"
197
- echo "$CURRENT_TIME - [SETUP] Fallback manual aplicado (sem timedatectl)" >>"$LOG_FILE"
161
+ echo "$CURRENT_TIME - [SETUP] timedatectl detectado - timezone e NTP configurados" >>"$LOG_FILE"
198
162
  echo "$CURRENT_TIME - [SETUP] Hora atual do sistema: $(date '+%Y-%m-%d %H:%M:%S')" >>"$LOG_FILE"
199
- fi
163
+
164
+ else
165
+ if [ -f /usr/share/zoneinfo/America/Sao_Paulo ]; then
166
+ $SUDO ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime >/dev/null 2>&1
167
+ echo "America/Sao_Paulo" | $SUDO tee /etc/timezone >/dev/null 2>&1
168
+ command -v hwclock >/dev/null 2>&1 && $SUDO hwclock --systohc >/dev/null 2>&1
169
+
170
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Fallback manual aplicado (sem timedatectl)" >>"$LOG_FILE"
171
+
172
+ CURRENT_TIME="$(date '+%Y-%m-%d %H:%M:%S')"
173
+ echo "$CURRENT_TIME - [SETUP] Fallback manual aplicado (sem timedatectl)" >>"$LOG_FILE"
174
+ echo "$CURRENT_TIME - [SETUP] Hora atual do sistema: $(date '+%Y-%m-%d %H:%M:%S')" >>"$LOG_FILE"
175
+ fi
200
176
  fi
201
177
 
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
178
+ # ==============================
179
+ # ⬇️ Download do mwsm.sh (modo normal)
180
+ # ==============================
181
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Baixando mwsm.sh" >>"$LOG_FILE"
182
+
183
+ $SUDO mkdir -p /var/api/Mwsm >/dev/null 2>&1
184
+
185
+ MWSM_URL="https://raw.githubusercontent.com/MKCodec/Mwsm/refs/heads/main/bash/mwsm.sh?nocache=$(date +%s)"
186
+
187
+ $SUDO curl -sSL "$MWSM_URL" -o /var/api/Mwsm/mwsm.sh >/dev/null 2>&1
188
+ $SUDO chmod +x /var/api/Mwsm/mwsm.sh >/dev/null 2>&1
211
189
 
212
190
  } >>"$LOG_FILE" 2>&1
213
191
 
@@ -222,8 +200,10 @@ wait $SPIN_PID 2>/dev/null
222
200
  # 🧪 Verificação
223
201
  # ==============================
224
202
  if ! grep -q '# 📦 Gerenciador do Bot-Mwsm' /var/api/Mwsm/mwsm.sh 2>/dev/null; then
225
- echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Erro ao baixar mwsm.sh" >>"$LOG_FILE"
226
- stty sane; tput cnorm; exit 1
203
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Erro ao baixar mwsm.sh" >>"$LOG_FILE"
204
+ stty sane
205
+ tput cnorm
206
+ exit 1
227
207
  fi
228
208
 
229
209
  echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Setup concluído com sucesso" >>"$LOG_FILE"
@@ -235,8 +215,10 @@ clear
235
215
  cd /var/api/Mwsm >/dev/null 2>&1
236
216
  stty sane
237
217
  tput cnorm
218
+
238
219
  if [ -f /var/api/Mwsm/mwsm.sh ]; then
239
- ln -sf /var/api/Mwsm/mwsm.sh /usr/local/bin/mwsm 2>/dev/null || $SUDO ln -sf /var/api/Mwsm/mwsm.sh /usr/local/bin/mwsm
240
- chmod +x /usr/local/bin/mwsm 2>/dev/null || $SUDO chmod +x /usr/local/bin/mwsm
220
+ ln -sf /var/api/Mwsm/mwsm.sh /usr/local/bin/mwsm 2>/dev/null || $SUDO ln -sf /var/api/Mwsm/mwsm.sh /usr/local/bin/mwsm
221
+ chmod +x /usr/local/bin/mwsm 2>/dev/null || $SUDO chmod +x /usr/local/bin/mwsm
241
222
  fi
223
+
242
224
  exec bash ./mwsm.sh
package/img/emojis.png ADDED
Binary file
Binary file
package/mwsm.db CHANGED
Binary file