Bonjour j'aimerais savoir s'il existe une api du site école direct car j'ai trouve un projet github mais je n'ai pas d’idée sur comment l'utiliser (il n'y a pas de README) Voici le lien github:
Personnellement j'envisage de créer un bot Discord pour mon serveur et mes amis, qui puisse (via l'API ecoledirecte) nous donner les devoirs par une commande...
Bonjour, pour se faire je vous recommande cet api.
Voici les modules compris avec cet API :
login:login,
getTimeline:getTimeline,
getMessages:getMessages,
getNotes:getNotes,
getCloud:getCloud,
getClassId:getClassId,
getClassLife:getClassLife,
getSanctions:getSanctions,
getHomeworks:getHomeworks,
getDocuments:getDocuments,
accounts:accounts
Pour créer un bot discord avec, il vous faudra utiliser JavaScript, donc pour faire un bot discord utilisez la librairie Discord.js. N'hésitez pas à aller dans les fichiers node modules pour mieux comprendre comment utiliser et appeler les fonctions. Voici un code d'example qui vous retourne les informations du compte sur la console:
<pre class="brush: jscript;">
constapi=require("api-ecoledirecte-france")
api.login("username","password")
.then((token)=>{
console.log(token)// Useful to access to the API...
})
.catch((err)=>{
throw err
})
api.accounts("username","password")
.then((accounts)=>{
console.log(accounts)
})
.catch((err)=>{
throw err
})
</pre>
Si vous réussissez à faire un bot discord avec ça, contactez moi sur Discord : LiyudButSpookier#6681 ou alors Liyud#6681
Bye!
- Edité par AdamQanfouh 10 octobre 2020 à 11:20:02
Merci de colorer votre code à l'aide du bouton Code
Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: jscript;">Votre code ici</pre>.
Merci de modifier votre message d'origine en fonction.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Bonjour AdamQanfouh, et merci pour votre réponse ! à vrai dire, j'ai entre temps commencé mon programme, que j'exécute avec nodeJS. Je n'ai donc pas utilisé l'API que vous venez de me recommander, mais je vais y jeter un coup d'oeil.
Mais je vous préviens tout de suite : le code que j'ai écrit est un carnage ! Je suis vraiment loin d'être un champion en javascript et n'ai que quelques bases.
J'ai donc fait ce que je pouvais avec mes connaissances et la documentation de Discord.JS.
Je vous mets donc le (pauvre ) code que j'ai écrit, qui récupère l'agenda :
const Discord = require('discord.js')
const bot = new Discord.Client()
bot.on('ready', function () {
bot.user.setActivity('-agenda', { type: 'LISTENING' })
})
bot.on('message', async function (message) {
if (message.content === "-agenda") {
//Bloc d'identification EcoleDirecte
const EcoleDirecte = require("node-ecole-directe")
const session = new EcoleDirecte.Session()
const account = await session.connexion("username", "password")
const emploiDuTemps = await account.fetchEmploiDuTemps(); // Sans date spécifiée
const emploiDuTempsDemande = await account.fetchEmploiDuTemps(
"2020-09-2",
"2020-10-9"
);
message.reply("Il y a **" + emploiDuTempsDemande.length + "** cours entre le 2 Sept et le 9.")
console.log(emploiDuTempsDemande[0])
let i = 0;
do {
message.reply(emploiDuTempsDemande[i].start_date + " : " + emploiDuTempsDemande[i].matiere+ " avec " + emploiDuTempsDemande[i].prof + " dans " + emploiDuTempsDemande[1].salle);
i += 1;
} while (i != emploiDuTempsDemande.length);
}
})
bot.login('tokenBotDiscord');
Je vous avait prévenu
Le problème le plus évident est ici que le bot ne sélectionne pas automatiquement les dates.
De plus, un message est écrit pour chaque matière... Encombrant je vous l'accorde...
Je suis le développeur de la librairie node-ecole-directe mentionnée plus haut. @Snowy-27, tu devrais utiliser l'API privée d'ecole-directe plutôt que du scraping, ce sera beaucoup plus rapide et plus stable (il y a plus de chances pour qu'Ecole Directe change le design et le html de son site plutôt que son API). Si jamais vous avez des questions sur ma lib node-ecole-directe ou des demandes de nouvelles fonctionnalités vous pouvez rejoindre mon discord https://androz2091.fr/discord ou utiliser le github de la librairie https://github.com/Androz2091/node-ecole-directe! Bon courage pour vos bots
Pas d'aide concernant le code par MP, le forum est là pour ça :)