Bonjour ! je cherche à ce que mon bot puisse voir le dernier message d'un salon, enfin, l'avant dernier car le dernier message aura toujours été supprimé, et voici mon problème !
Quand le bot me donne le dernier message il me donne :
Message {channel: TextChannel, deleted: true, id: "54674244381xxx3370", type: "DEFAULT", content: "message", …}
comme vous le voyez, on a le "deleted: true" qui indique que le message est supprimé. Moi je veux celui juste au dessus, n'y aurait il pas un moyen de faire une commande tel que
bot.channels.get("xx63xxxxxxx5365xxx").lastMessage.NOT-DELETED ?

Voila vous avez ma question et je vous remercie d'avance pour votre aise ^^
Maintenant si vous voulez le contexte, le voici :
Pour mes bots, j'utilise un hébergeur gratuit (ça a son importance plus tard)
Je voulais pouvoir enregistrer des données de joueurs de mon serveur RP (serveur discord hein)
J'ai donc tenté d'enregistrer dans un simple document texte les données
MAIS, comme l’hébergeur est gratuit, il reprend le code source du bot toutes les 24h et supprime donc le texte..
Du coup je me suis dit que j'allais enregistrer les données dans un salon uniquement accessible par le bot
ca marche à peux près, mais si aucun message n'est envoyé dans le salon a lire depuis le redémarrage du bot (toutes les 24h), le retour est "undefined"
donc, ce que je fais maintenant c'est que en cas de demande de la mémoire, j'envoie d'abord une commande "+//lecture" et j'attend 2 secondes
En dehors de l'attente, le bot supprime tout message "+//lecture"
A la fin des 2 secondes, je vais donc lire le message dans le salon, et cela devrait marcher puisque le salon a été actualisé... mais tu connais la suite, je relis la commande qui a été supprimée..

donc revoici mes questions qui j’espère vous donneront quelques pistes :
N'y a t-il pas un moyen de prendre le dernier message mais avec comme argument "pas supprimé"
Ou alors de supprimer VRAIMENT le message, comme s'il n'avait pas existé
Ou alors de régler ce problème d'actualisation de salon ?
Merci de votre aide ! ^^

2 réponses


Kareylo
Réponse acceptée

As-tu regardé la méthode "fetchMessages" des TextChannel ? Dans les options, tu peux avoir un "before" avec l'id d'un message
fetchMessages

[](ok merci, faudra que je m'y penche mais j'ai du mal avec les promises ')