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_idpersonnel n'est conserve - aucun fichier
data/*.jsonprive n'est commit - le mode gratuit est actif par defaut
- les integrations de paiement restent optionnelles
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
- 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
- Node.js 20+
- JavaScript ESM
fetchnatif- stockage JSON local
- interface admin HTML / CSS / JS sans framework
- tests avec
node --test
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'entreesrc/lib/engine.js: coeur du botsrc/lib/vinted-client.js: collecte Vintedsrc/lib/telegram-client.js: appels Telegramsrc/lib/admin-server.js: panel admin websrc/admin-override.js: overrides owner / admin / acces offerts
npm install
cp .env.example .envRenseigne 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-stringnpm start- ouvre une conversation privee avec ton bot Telegram
- envoie
/start - ouvre le menu avec
/menu - cree une premiere alerte avec
/newou/watch
Principales:
TELEGRAM_BOT_TOKENTELEGRAM_ADMIN_IDSADMIN_PANEL_TOKENPUBLIC_BASE_URLVINTED_BASE_URLVINTED_COOKIE
Runtime:
POLL_INTERVAL_SECONDSLOOP_INTERVAL_SECONDSSCAN_COOLDOWN_SECONDSRESULT_LIMITREQUEST_TIMEOUT_MSUSER_WATCHER_LIMIT
Paiements optionnels:
BILLING_ENABLEDPAYMENT_PROVIDER- variables Coinbase
- variables PayPal
Le fichier d'exemple complet est dans .env.example.
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>
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
Les points les plus simples a adapter:
src/admin-override.jssrc/constants.jssrc/lib/telegram-ui.jspublic/admin/
Le fichier src/admin-override.js est volontairement vide d'identifiants reels.
Checklist recommandee avant push:
- verifier que
.envn'est pas commit - verifier que
data/*.jsonn'est pas commit - remplacer les exemples de variables par les tiennes localement uniquement
- regenerer tout secret qui aurait deja ete partage
- relancer
npm test
npm test- ne commit jamais
.env - ne commit jamais
data/config.jsonnidata/state.json - utilise un
ADMIN_PANEL_TOKENlong et unique - regenere ton token Telegram s'il a deja fuite
- garde
VINTED_COOKIEhors du repo
- 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
Ce projet est distribue sous licence MIT. Voir LICENSE.
Projet cree avec amour par Théo.