Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

[English Version Below]

Top Chart Bot (Version Publique)

(Statut du 14/12/2025: Le bot est down car l'API gratuite de X empêche de tweet autant chaque jour.)

Description du projet

Il s'agit d'un bot pour le réseau social X ex Twitter qui poste toutes les 2 heures (depuis le 9/11/2024 avant c'était toutes les heures) la chanson la plus populaire pour un pays aléatoire et une année aléatoire, le post contient aussi le lien YouTube qui mène vers la chanson. Depuis le 26/11/2024, le bot est présent aussi sur BlueSky ! Ce repo contient la version publique du bot, i.e. les clées API utilisées dans le fichier .env sont cachées.

Liens des comptes

Technologies utilisées

Le bot est codé entièrement en JavaScript, et est conteneurisé dans un container Docker. Le fichier index.js contient le code pour faire fonctionner le bot et le fichier package.json contient toutes les dépendances pour faire fonctionner le projet. Le Dockerfile est écrit de telle sorte pour déployer le bot sur une machine virtuelle gratuite de Render . Le bot utilise les API de X, de BlueSky (atproto API) et celle de Google (pour le lien YouTube), il récupère la donnée à poster sur https://www.thisdayinmusic.com/birthday-no1/ (USA 🇺🇸, UK 🇬🇧, Allemagne 🇩🇪, Australie 🇦🇺, Canada 🇨🇦), https://www.chartsinfrance.net/charts/ (France 🇫🇷) et https://kma.kkbox.com (Japon 🇯🇵) en scrappant avec Puppeteer. Un cronjob permet l'exécution de la fonction principale toutes les 2 heures (à chaque fois que le chiffre des minutes est égal à 0 toutes les 2 heures).

Déploiment du bot

  • Créer un repo GitHub à partir de celui-ci
  • Mettre les clés API correspondantes dans le fichier .env
  • Créer un Web Service sur Render et le lier à votre repo.
  • Rajouter dans "Advanced" les variables suivantes

PUPPETEER_SKIP_CHROMIUM_DONWLOAD=true et PUPPETEER_EXECUTABLE_PATH=/usr/bin/google-chrome-stable

  • Créer le service et tout est prêt

English Version

Top Chart Bot (Public Version)

(Status as of 12/14/2025: The bot is down because X's free API prevents it from tweeting as much every day.)

Project description

This is a bot for the social network X, formerly Twitter, which posts every 2 hours (since November 9, 2024; previously it was every hour) the most popular song for a random country and a random year. The post also contains a YouTube link to the song. Since November 26, 2024, the bot has also been available on BlueSky! This repo contains the public version of the bot, i.e., the API keys used in the .env file are hidden.

Account links

Technologies used

The bot is coded entirely in JavaScript and is containerized in a Docker container. The index.js file contains the code to run the bot, and the package.json file contains all the dependencies to run the project. The Dockerfile is written in such a way as to deploy the bot on a free virtual machine from Render. The bot uses the APIs from X, BlueSky (atproto API), and Google (for the YouTube link), and retrieves the data to be posted from https://www.thisdayinmusic.com/birthday-no1/. (USA 🇺🇸, UK 🇬🇧, Germany 🇩🇪, Australia 🇦🇺, Canada 🇨🇦), https://www.chartsinfrance.net/charts/ (France 🇫🇷) and https://kma.kkbox.com (Japan 🇯🇵) by scraping with Puppeteer. A cronjob allows the main function to be executed every 2 hours (whenever the minute count is 0 every 2 hours).

Deploying the bot

  • Create a GitHub repo from this one
  • Put the corresponding API keys in the .env file
  • Create a Web Service on Render and link it to your repo.
  • Add the following variables in “Advanced”

PUPPETEER_SKIP_CHROMIUM_DONWLOAD=true and PUPPETEER_EXECUTABLE_PATH=/usr/bin/google-chrome-stable

  • Create the service and everything is ready

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages