bot-mwsm 3.0.1

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.
Files changed (74) hide show
  1. package/.github/FUNDING.yml +2 -0
  2. package/.github/workflows/Mwsm.yml +188 -0
  3. package/.github/workflows/publish.yml +62 -0
  4. package/LICENSE +21 -0
  5. package/README.md +204 -0
  6. package/bash/mwsm.sh +1060 -0
  7. package/bash/setup.sh +173 -0
  8. package/docs/pix.html +146 -0
  9. package/fonts/OpenSans-Regular-webfont.html +0 -0
  10. package/fonts/css/font-awesome.min.css +4 -0
  11. package/fonts/fontawesome-webfont (1).eot +0 -0
  12. package/fonts/fontawesome-webfont.eot +0 -0
  13. package/fonts/fontawesome-webfont.ttf +0 -0
  14. package/fonts/fontawesome-webfont.woff +0 -0
  15. package/fonts/fontawesome-webfont.woff2 +0 -0
  16. package/fonts/fonts/fontawesome-webfont3e6e-2.html +0 -0
  17. package/fonts/fonts/fontawesome-webfont3e6e.eot +0 -0
  18. package/fonts/fonts/fontawesome-webfont3e6e.html +0 -0
  19. package/fonts/fonts/fontawesome-webfont3e6e.svg +2671 -0
  20. package/fonts/fonts/fontawesome-webfont3e6e.woff +0 -0
  21. package/fonts/fonts/fontawesome-webfontd41d.eot +0 -0
  22. package/fonts/glyphicons-halflings-regular.eot +0 -0
  23. package/fonts/glyphicons-halflings-regular.html +0 -0
  24. package/fonts/glyphicons-halflings-regular.svg +288 -0
  25. package/fonts/glyphicons-halflings-regular.woff +0 -0
  26. package/fonts/glyphicons-halflings-regulard41d.eot +0 -0
  27. package/fonts/texgyreadventor-regular-webfont.html +0 -0
  28. package/icon.png +0 -0
  29. package/img/Mwsm.png +0 -0
  30. package/img/auth.png +0 -0
  31. package/img/autobot.png +0 -0
  32. package/img/autupdate.png +0 -0
  33. package/img/cli.png +0 -0
  34. package/img/cronshed.png +0 -0
  35. package/img/debug.log +0 -0
  36. package/img/debug.png +0 -0
  37. package/img/delay.png +0 -0
  38. package/img/dev.png +0 -0
  39. package/img/endpoint.png +0 -0
  40. package/img/find.png +0 -0
  41. package/img/log.png +0 -0
  42. package/img/mkauth.png +0 -0
  43. package/img/msn.png +0 -0
  44. package/img/paycon.png +0 -0
  45. package/img/prevent.png +0 -0
  46. package/img/resent.png +0 -0
  47. package/img/reset.png +0 -0
  48. package/img/resync.png +0 -0
  49. package/img/settings.png +0 -0
  50. package/img/shifts.png +0 -0
  51. package/img/spam.png +0 -0
  52. package/img/spam2.png +0 -0
  53. package/img/status.png +0 -0
  54. package/img/status2.png +0 -0
  55. package/img/stop.png +0 -0
  56. package/img/success.png +0 -0
  57. package/img/sync.png +0 -0
  58. package/img/terminal.png +0 -0
  59. package/img/timers.png +0 -0
  60. package/img/uid.png +0 -0
  61. package/img/update.png +0 -0
  62. package/img/whatsapp.png +0 -0
  63. package/index.html +1543 -0
  64. package/jquery.js +2 -0
  65. package/mwsm.db +0 -0
  66. package/mwsm.js +4979 -0
  67. package/mwsm.json +25 -0
  68. package/mwsm.py +91 -0
  69. package/nodemon.json +3 -0
  70. package/package.json +62 -0
  71. package/script.js +24815 -0
  72. package/socket.io.js +9 -0
  73. package/style.css +8744 -0
  74. package/version.json +8 -0
package/mwsm.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "apps": [
3
+ {
4
+ "name": "Bot-Mwsm",
5
+ "script": "mwsm.js",
6
+ "cwd": "/var/api/Mwsm/",
7
+ "watch": ["mwsm.js"],
8
+ "ignore_watch": ["mwsm.db"],
9
+ "watch_options": {
10
+ "followSymlinks": false
11
+ }
12
+ },
13
+ {
14
+ "name": "Ask-Mwsm",
15
+ "script": "mwsm.py",
16
+ "cwd": "/var/api/Mwsm/",
17
+ "interpreter": "python3",
18
+ "watch": ["mwsm.py"],
19
+ "ignore_watch": ["mwsm.db"],
20
+ "watch_options": {
21
+ "followSymlinks": false
22
+ }
23
+ }
24
+ ]
25
+ }
package/mwsm.py ADDED
@@ -0,0 +1,91 @@
1
+ #!/usr/bin/env python3
2
+ import os
3
+ import sys
4
+ import logging
5
+ import warnings
6
+ from flask import Flask, request, jsonify
7
+ from sentence_transformers import SentenceTransformer
8
+ import huggingface_hub.file_download as fd
9
+ from huggingface_hub import constants
10
+
11
+ # =========================================
12
+ # 🔇 SILÊNCIO TOTAL NO TERMINAL
13
+ # =========================================
14
+ sys.stdout = open(os.devnull, 'w')
15
+ sys.stderr = open(os.devnull, 'w')
16
+ warnings.filterwarnings("ignore")
17
+
18
+ # =========================================
19
+ # 🧩 LOG CONFIG
20
+ # =========================================
21
+ log_path = "/var/api/Mwsm/mwsm.log"
22
+ os.makedirs(os.path.dirname(log_path), exist_ok=True)
23
+
24
+ # Prefixo fixo padronizado
25
+ PREFIX = "> Bot-Mwsm :"
26
+
27
+ def log(message, level="info"):
28
+ """Loga mensagens com prefixo padronizado."""
29
+ full_message = f"{PREFIX} {message}"
30
+ if level == "error":
31
+ logging.error(full_message)
32
+ else:
33
+ logging.info(full_message)
34
+
35
+ logging.basicConfig(
36
+ filename=log_path,
37
+ level=logging.INFO,
38
+ format="%(asctime)s - %(message)s",
39
+ )
40
+
41
+ # =========================================
42
+ # CONFIGURAÇÃO HUGGINGFACE
43
+ # =========================================
44
+ if not os.environ.get("HF_ENDPOINT"):
45
+ os.environ["HF_ENDPOINT"] = "https://huggingface.co"
46
+ os.environ["HF_HUB_OFFLINE"] = "0"
47
+
48
+ fd.HUGGINGFACE_CO_PREFIX = os.environ["HF_ENDPOINT"]
49
+ fd._CACHED_API_URL = f"{os.environ['HF_ENDPOINT']}/api"
50
+ constants.HUGGINGFACE_CO_URL_TEMPLATE = f"{os.environ['HF_ENDPOINT']}/{{repo_id}}/resolve/{{revision}}/{{filename}}"
51
+
52
+ log("Endpoint Hugging Face: https://huggingface.co")
53
+ log(f"_CACHED_API_URL: {fd._CACHED_API_URL}")
54
+ log(f"HUGGINGFACE_CO_URL_TEMPLATE: {constants.HUGGINGFACE_CO_URL_TEMPLATE}")
55
+
56
+ # =========================================
57
+ # CARREGAMENTO DO MODELO
58
+ # =========================================
59
+ log("Loading SentenceTransformer model...")
60
+ try:
61
+ model = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")
62
+ log("Model loaded successfully.")
63
+ except Exception as e:
64
+ log(f"Model loading failed: {e}", level="error")
65
+ sys.exit(1)
66
+
67
+ # =========================================
68
+ # SERVIDOR FLASK
69
+ # =========================================
70
+ app = Flask(__name__)
71
+
72
+ @app.route("/", methods=["GET"])
73
+ def home():
74
+ return jsonify({"status": "online", "model": "all-MiniLM-L6-v2"}), 200
75
+
76
+ @app.route("/embed", methods=["POST"])
77
+ def embed():
78
+ data = request.json or {}
79
+ text = data.get("text", "").strip()
80
+ if not text:
81
+ return jsonify({"error": "Missing or empty 'text' field"}), 400
82
+ try:
83
+ embedding = model.encode([text])[0].tolist()
84
+ return jsonify({"embedding": embedding}), 200
85
+ except Exception as e:
86
+ log(f"Embedding processing error: {e}", level="error")
87
+ return jsonify({"error": str(e)}), 500
88
+
89
+ if __name__ == "__main__":
90
+ log("Flask server started on http://0.0.0.0:5005")
91
+ app.run(host="0.0.0.0", port=5005)
package/nodemon.json ADDED
@@ -0,0 +1,3 @@
1
+ {
2
+ "ignore": ["whatsapp-session*.json", "whatsapp-sessions.json", "mwsm.db"]
3
+ }
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "bot-mwsm",
3
+ "version": "3.0.1",
4
+ "description": "Bot-Mwsm: based on Whatsapp API",
5
+ "main": "mwsm.js",
6
+ "scripts": {
7
+ "update:wa": "npm install whatsapp-web.js@latest --silent --no-audit --no-fund",
8
+ "prestart": "npm run update:wa",
9
+ "start": "node mwsm.js",
10
+ "start:dev": "nodemon mwsm.js",
11
+ "setup:mwsm": "npm run update:wa && pm2 start mwsm.json && pm2 save && pm2 startup && pm2 flush",
12
+ "setup:mkauth": "npm run update:wa && pm2 start mwsm.json && pm2 save && pm2 unstartup && pm2 flush",
13
+ "start:mwsm": "npm run update:wa && pm2 start mwsm.json && pm2 save && pm2 startup && pm2 flush && pm2 log 0",
14
+ "start:mkauth": "npm run update:wa && pm2 start mwsm.json && pm2 save && pm2 unstartup && pm2 flush && pm2 log 0",
15
+ "restart:mwsm": "npm run update:wa && pm2 restart mwsm.json && pm2 flush && pm2 log 0"
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://github.com/MKCodec/Mwsm.git"
20
+ },
21
+ "keywords": [
22
+ "whatsapp-api",
23
+ "node.js",
24
+ "automation",
25
+ "pm2",
26
+ "bot"
27
+ ],
28
+ "author": "ArsNova",
29
+ "license": "MIT",
30
+ "engines": {
31
+ "node": ">=20.0.0",
32
+ "npm": ">=9.0.0"
33
+ },
34
+ "dependencies": {
35
+ "axios": "^1.6.8",
36
+ "Emoji-API": "git+https://github.com/MKCodec/Emoji-API.git",
37
+ "express": "^4.19.2",
38
+ "express-fileupload": "^1.5.0",
39
+ "express-validator": "^7.0.1",
40
+ "http": "0.0.1-security",
41
+ "ip": "^2.0.1",
42
+ "mime-types": "^2.1.35",
43
+ "node-cron": "^3.0.3",
44
+ "qrcode": "^1.5.3",
45
+ "socket.io": "^2.5.0",
46
+ "Url2PDF": "git+https://github.com/MKCodec/Url2PDF.git",
47
+ "util": "^0.12.5",
48
+ "whatsapp-web.js": "latest"
49
+ },
50
+ "devDependencies": {
51
+ "better-sqlite3": "^9.4.3",
52
+ "nodemon": "^3.1.0",
53
+ "sqlite3": "^5.1.7"
54
+ },
55
+ "directories": {
56
+ "doc": "docs"
57
+ },
58
+ "bugs": {
59
+ "url": "https://github.com/MKCodec/Mwsm/issues"
60
+ },
61
+ "homepage": "https://github.com/MKCodec/Mwsm#readme"
62
+ }