Skip to content

ImThe00/VinTools-Public

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vinted Telegram Bot Template

Created with love by Théo.

Template open source, gratuit et auto-heberge pour construire un bot Vinted sur Telegram, avec interface admin web locale et configuration directe depuis Telegram.

Cette copie est preparee pour une publication GitHub publique:

  • aucun token reel n'est embarque
  • aucun chat_id personnel n'est conserve
  • aucun fichier data/*.json prive n'est commit
  • le mode gratuit est actif par defaut
  • les integrations de paiement restent optionnelles

Apercu

Le projet fournit une base complete pour un bot Telegram qui:

  • cree et gere des alertes Vinted depuis un chat Telegram
  • scanne Vinted de maniere recurrente
  • notifie les nouvelles annonces avec des messages visuels
  • propose des presets de marques et de tranches de prix
  • expose un panel admin web simple pour superviser le bot

Le template est pense pour etre:

  • simple a lancer
  • facile a forker
  • sans base de donnees externe
  • facile a adapter a un usage perso ou communautaire

Fonctionnalites

  • creation guidee d'alertes avec /new
  • creation rapide d'alertes avec /watch <recherche ou URL Vinted>
  • listes d'alertes, edition, pause, reprise et suppression
  • scan manuel et modes de boucle
  • anti-doublons persistant
  • panel admin web
  • stockage local JSON
  • validation stricte des URLs Vinted
  • cookie Vinted optionnel
  • architecture modulaire en Node.js natif

Fonctionnalites optionnelles deja presentes dans le code:

  • billing
  • Coinbase Business
  • PayPal

Par defaut, la copie publique reste en mode gratuit:

  • BILLING_ENABLED=false

Stack technique

  • Node.js 20+
  • JavaScript ESM
  • fetch natif
  • stockage JSON local
  • interface admin HTML / CSS / JS sans framework
  • tests avec node --test

Structure du projet

src/
  bot.js
  admin-override.js
  constants.js
  lib/
    engine.js
    vinted-client.js
    telegram-client.js
    telegram-ui.js
    admin-server.js
    logger.js
    json-store.js
    validator.js
public/
  admin/
test/
data/

Fichiers clefs:

  • src/bot.js: point d'entree
  • src/lib/engine.js: coeur du bot
  • src/lib/vinted-client.js: collecte Vinted
  • src/lib/telegram-client.js: appels Telegram
  • src/lib/admin-server.js: panel admin web
  • src/admin-override.js: overrides owner / admin / acces offerts

Demarrage rapide

1. Installer

npm install
cp .env.example .env

2. Configurer

Renseigne au minimum dans .env:

TELEGRAM_BOT_TOKEN=1234567890:replace-with-your-bot-token
TELEGRAM_ADMIN_IDS=123456789
ADMIN_PANEL_TOKEN=change-me-with-a-long-random-string

3. Lancer

npm start

4. Initialiser le bot

  1. ouvre une conversation privee avec ton bot Telegram
  2. envoie /start
  3. ouvre le menu avec /menu
  4. cree une premiere alerte avec /new ou /watch

Variables d'environnement

Principales:

  • TELEGRAM_BOT_TOKEN
  • TELEGRAM_ADMIN_IDS
  • ADMIN_PANEL_TOKEN
  • PUBLIC_BASE_URL
  • VINTED_BASE_URL
  • VINTED_COOKIE

Runtime:

  • POLL_INTERVAL_SECONDS
  • LOOP_INTERVAL_SECONDS
  • SCAN_COOLDOWN_SECONDS
  • RESULT_LIMIT
  • REQUEST_TIMEOUT_MS
  • USER_WATCHER_LIMIT

Paiements optionnels:

  • BILLING_ENABLED
  • PAYMENT_PROVIDER
  • variables Coinbase
  • variables PayPal

Le fichier d'exemple complet est dans .env.example.

Commandes Telegram

Utilisateur:

  • /start
  • /menu
  • /new
  • /watch <recherche ou URL Vinted>
  • /list
  • /status
  • /scan [#id]
  • /loop <#id>
  • /hunt <#id>
  • /stoploop <#id>
  • /pause <#id>
  • /resume <#id>
  • /delete <#id>
  • /edit <#id>
  • /cancel
  • /chatid

Admin:

  • /admin
  • /admin_users
  • /admin_watchers
  • /admin_scan
  • /admin_interval <secondes>
  • /admin_loopinterval <secondes>
  • /admin_cooldown <secondes>
  • /admin_limit <nombre>
  • /admin_userlimit <nombre>
  • /admin_cookie <cookie>
  • /admin_panel
  • /admin_broadcast <message>
  • /admin_add <chat_id>
  • /admin_remove <chat_id>

Panel admin

Disponible par defaut sur:

  • http://127.0.0.1:3000/admin

Le panel permet de:

  • voir les utilisateurs
  • voir les alertes
  • modifier les reglages
  • envoyer un broadcast
  • verifier l'etat global du bot

Personnalisation

Les points les plus simples a adapter:

  • src/admin-override.js
  • src/constants.js
  • src/lib/telegram-ui.js
  • public/admin/

Le fichier src/admin-override.js est volontairement vide d'identifiants reels.

Publication GitHub

Checklist recommandee avant push:

  1. verifier que .env n'est pas commit
  2. verifier que data/*.json n'est pas commit
  3. remplacer les exemples de variables par les tiennes localement uniquement
  4. regenerer tout secret qui aurait deja ete partage
  5. relancer npm test

Tests

npm test

Securite

  • ne commit jamais .env
  • ne commit jamais data/config.json ni data/state.json
  • utilise un ADMIN_PANEL_TOKEN long et unique
  • regenere ton token Telegram s'il a deja fuite
  • garde VINTED_COOKIE hors du repo

Limites et avertissements

  • ce projet n'est pas un produit officiel Vinted
  • ce projet n'est pas affilie a Telegram, Vinted, Coinbase ou PayPal
  • certaines integrations peuvent casser si les plateformes changent
  • verifie toujours que ton usage respecte les regles et CGU des services concernes

Licence

Ce projet est distribue sous licence MIT. Voir LICENSE.

Credit

Projet cree avec amour par Théo.

About

Spotter articles vinted sur Telegram

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors