Abeille stocke des données pour fonctionner
Les fonctionnalités d'Abeille nécessite d'analyser un grand nombre de messages instantanément. Pour que cela fonctionne efficacement, Abeille doit mettre en cache les messages du serveur pour trouver les informations plus rapidement.
Aujourd'hui, l'API Discord (l'interface permettant de demander des données à Discord) ne permet pas de réaliser des recherches avancées, par exemple tel qu'on pourrait le faire manuellement en utilisant la fonction "recherche" de Discord. Les bots n'ont aujourd'hui même pas de moyen de rechercher un message, via la fonction qui est pourtant accessible via l'IHM pour les humains.
Pour un bot, le seul moyen de rechercher les messages est donc de les parcourir un par un, de la même manière qu'un humain scrollerait pour charger les messages... Cela prend du temps, même pour un bot. Pour parcourir 1000 messages, il faut compter environ 10 secondes. Et parmi ces 1000 messages, certains seulement sont nécessaires pour générer un graphique de tendance.
Sur des serveurs de plusieurs milliers de messages, il devient donc impossible de ne compter que sur l'API Discord.
Plus précisément, Abeille enregistre pour chaque message les informations suivantes :
- Identifiant Discord du message ;
- Identifiant Discord du salon sur lequel a été posté le message ;
- Date et heure de publication du message ;
- Contenu du message.
Plusieurs choses sont à noter :
- Les messages détectés comme supprimés sur la guild sont également supprimés de la base de données d'Abeille. Les messages édités sont également édités dans la base de données, sans laisser la trace de l'ancien contenu. Les messages non détectés comme supprimés peuvent l'être en utilisant la commande
/delete. - Les messages provenant des bots ne sont pas enregistrés.
- Les images et fichiers envoyés sur le salon ne sont pas enregistrés en tant que tels. Seuls les liens vers ces fichiers sont susceptibles d’être enregistrés.
Le message est ensuite lié à son auteur, à travers l'identifiant Discord de l'utilisateur. Ici, deux cas de figure :
- Si l'utilisateur n'est pas enregistré (il s'agit du comportement par défaut) : son identifiant Discord est pseudonymisé avant enregistrement.
- Si l'utilisateur est enregistré (via la commande
/register) : son identifiant Discord réel est enregistré.
La pseudonymisation permet de ne pas enregistrer l'identifiant réel de l'utilisateur (ce qui protège son identité) tout en lui permettant de gérer ses données personnelles et d'accéder à un minimum de fonctionnalités.
Si vous pensez être enregistré dans Abeille, et ne souhaitez plus qu'Abeille stocke votre identifiant Discord réel, exécutez la commande /unregister.
Abeille récolte uniquement les messages qu'il peut voir
Chaque nouveau message posté sur la guild et vu par Abeille est susceptible d’être enregistré. Abeille ne dispose par défaut d'aucune autorisation particulière sur la guild ; il ne peut par conséquent voir que les channels qui lui sont accessibles. Cela dépend donc uniquement des permissions qui lui sont accordées et des rôles qui lui sont attribués. Il est recommandé de ne pas donner un statut d'administrateur à Abeille.
Abeille ne transmet pas de données personnelles à des tiers
Abeille et les données enregistrées sont stockées sur la même machine. La base de données n’est pas exposée sur internet. Les traitements sur les données, ainsi que les graphiques, sont réalisés localement.