From 131f5e39536da14e8532b89f1c7f34107004a969 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Wed, 25 Jun 2025 11:18:48 +0200 Subject: [PATCH 01/33] New translations readme.md (French) --- fr/get-started/votes-integration/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fr/get-started/votes-integration/README.md b/fr/get-started/votes-integration/README.md index af84993..c0cc252 100644 --- a/fr/get-started/votes-integration/README.md +++ b/fr/get-started/votes-integration/README.md @@ -40,7 +40,7 @@ Vous en voulez plus ? Demandez-nous sur notre [serveur Discord](https://discorda 7. Cliquez sur "Save" puis sur "Send a Test". Si tout est correct, vous recevrez un e-mail de confirmation. 8. Profitez de vos stats :) - :: + :: ::tab [BotList.me] **Webhook endpoint:** `https://discordanalytics.xyz/api/bots/:your-bot-id/votes/webhooks/botlistme` (Replace `:your-bot-id` with your bot's ID)
@@ -75,7 +75,7 @@ Nous vous prions de nous excuser pour la gêne occasionnée. 7. Cliquez sur "Save" puis sur "Test Webhook". Si tout est correct, vous recevrez un e-mail de confirmation. 8. Profitez de vos stats :) - :: + :: ::tab [Discord List] @@ -90,7 +90,7 @@ Nous vous prions de nous excuser pour la gêne occasionnée. 7. Cliquez sur "Update Webhook". Si tout est correct, vous recevrez un e-mail de confirmation. 8. Enjoy your stats :) - :: + :: ::tab [Discordscom] @@ -100,8 +100,8 @@ Nous vous prions de nous excuser pour la gêne occasionnée. 4. Paste your Discord Analytics token in the "Webhook Authorization" field 5. Click on "Update Webhook". If everything is correct, you will receive a confirmation email. 6. Profitez de vos stats :) - :: - :::endtabs + :: + :::endtabs ## Pour aller plus loin From 487134fbd5726908b7f9f0e1798860c1747f61cd Mon Sep 17 00:00:00 2001 From: Nolhan Date: Wed, 25 Jun 2025 11:18:52 +0200 Subject: [PATCH 02/33] New translations readme.md (French) --- fr/get-started/advanced-usage/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/fr/get-started/advanced-usage/README.md b/fr/get-started/advanced-usage/README.md index b309900..c1f83f0 100644 --- a/fr/get-started/advanced-usage/README.md +++ b/fr/get-started/advanced-usage/README.md @@ -8,3 +8,4 @@ Quelques articles sur la façon de tirer le meilleur de Discord Analytics. ::card [/docs/main/get-started/advanced-usage/optimize-events] Optimiser les événements (Javascript) --- Économisez des performances en évitant d'avoir à déclarer le même événement deux fois ! :: ::card [/docs/main/get-started/advanced-usage/receive-votes] Recevoir des votes --- Configurer un webhook pour recevoir un webhook universel dans votre application ! :: ::: + From 4dfe6347b35c5107f921a9a864605c785a9147a4 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Wed, 25 Jun 2025 11:19:00 +0200 Subject: [PATCH 03/33] New translations readme.md (French) --- fr/reference/achievements/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/fr/reference/achievements/README.md b/fr/reference/achievements/README.md index cd310dc..5acb35b 100644 --- a/fr/reference/achievements/README.md +++ b/fr/reference/achievements/README.md @@ -25,3 +25,4 @@ Here is what you can do with a copied achievement: | Delete the achievement | ✅ | | Edit the achievement | ❌ | | Publish the achievement to the store | ❌ | + From 603584b40281dd2ee4ebfbd84b9d130fb443eb16 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 13:53:15 +0100 Subject: [PATCH 04/33] New translations readme.md (French) --- fr/get-started/installation/README.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/fr/get-started/installation/README.md b/fr/get-started/installation/README.md index 1377e21..21d35d0 100644 --- a/fr/get-started/installation/README.md +++ b/fr/get-started/installation/README.md @@ -7,11 +7,9 @@ We've provided some code snippets for your information to make it easier for you ::: :::cards -DiscordJS -JavaScript/TypeScript[endcard] [card]![CardImage](https://i.imgur.com/GHlKoc1.png) Eris -JavaScript/TypeScript[endcard] [card]![CardImage](https://i.imgur.com/GHlKoc1.png) Oceanic.js -JavaScript/TypeScript[endcard] [card]![CardImage](https://i.imgur.com/GHlKoc1.png) Java -Discord4J, Javacord, JDA[endcard] [card]![CardImage](https://i.imgur.com/GHlKoc1.png) Discord.py -Python[endcard] -[endcards] +::card [/docs/main/get-started/installation/discord.js](https://r2.discordanalytics.xyz/images/docs/get-started/installation/djs_banner.png) Discord.js --- JavaScript/TypeScript :: +::card [/docs/main/get-started/installation/eris](https://r2.discordanalytics.xyz/images/docs/get-started/installation/eris_banner.png) Eris --- JavaScript/TypeScript :: +::card [/docs/main/get-started/installation/oceanic.js](https://r2.discordanalytics.xyz/images/docs/get-started/installation/oceanic_banner.png) Oceanic.js --- JavaScript/TypeScript :: +::card [/docs/main/get-started/installation/java](https://r2.discordanalytics.xyz/images/docs/get-started/installation/java_banner.png) Java --- Discord4J, Javacord, JDA :: +::card [/docs/main/get-started/installation/discord.py](https://r2.discordanalytics.xyz/images/docs/get-started/installation/discordpy_banner.png) Discord.py --- Python :: ::: From 06f2694e7c19fa7ef868ab41d9e59dcdc49fe788 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 13:53:16 +0100 Subject: [PATCH 05/33] New translations readme.md (French) --- fr/get-started/bot-registration/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fr/get-started/bot-registration/README.md b/fr/get-started/bot-registration/README.md index b899653..8671967 100644 --- a/fr/get-started/bot-registration/README.md +++ b/fr/get-started/bot-registration/README.md @@ -3,16 +3,16 @@ 1. Tout d'abord, copiez [l'identifiant de votre bot](https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID-). 2. Ensuite, rendez-vous sur le tableau de bord et cliquez sur "ajouter un bot" -![Image](https://i.imgur.com/tEzxQv5.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/bot_registration/step_1.png) 3. Dans le popup qui apparaît, collez l'ID de votre bot et acceptez les conditions d'utilisation, puis validez. -![Image](https://i.imgur.com/knW5uCp.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/bot_registration/step_2.png) -4. Une fois que vous avez ajouté votre bot, vous êtes redirigé vers cette page : +4. Once you have added your bot, you are redirected to this page : -![Image](https://i.imgur.com/QKCS1c8.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/bot_registration/step_3.png) 5. Cliquez sur "Aller aux paramètres" et copiez le token de votre bot -![Image](https://i.imgur.com/mzoIAP6.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/bot_registration/step_4.png) From 65fa024539579a4dfb329146c0cdf2276e0b68db Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 13:53:17 +0100 Subject: [PATCH 06/33] New translations readme.md (French) --- .../installation/discord.js/README.md | 72 +++++++++---------- 1 file changed, 35 insertions(+), 37 deletions(-) diff --git a/fr/get-started/installation/discord.js/README.md b/fr/get-started/installation/discord.js/README.md index cbae466..305841c 100644 --- a/fr/get-started/installation/discord.js/README.md +++ b/fr/get-started/installation/discord.js/README.md @@ -6,13 +6,13 @@ Le package est compatible avec Discord.js v14 ou supérieur ## Dépendance -Nous allons installer le package `discord-analytics` : +Let's install `@discordanalytics/discordjs`'s package : :::tabs ::tab \[NPM] ```shell -npm install discord-analytics +npm install @discordanalytics/discordjs ``` :: @@ -20,7 +20,7 @@ npm install discord-analytics ::tab [YARN] ```bash -yarn add discord-analytics +yarn add @discordanalytics/discordjs ``` :: @@ -28,7 +28,7 @@ yarn add discord-analytics ::tab [PNPM] ```bash -pnpm install discord-analytics +pnpm install @discordanalytics/discordjs ``` :: @@ -40,34 +40,33 @@ pnpm install discord-analytics ::tab [JavaScript] ```javascript -// Importer le Client et des Intents de Discord.js +// Import Discord.js's client and intents const { Client, IntentsBitField } = require("discord.js") -// Importer discord-analytics -const { default: DiscordAnalytics } = require("discord-analytics/discordjs") +// import discord-analytics +const { default: DiscordAnalytics } = require("@discordanalytics/discordjs") -// Créer le client Discord.js +// Create Discord client const client = new Client({ - intents: [IntentsBitField.Flags.Guilds] // Cet Intent est requis + intents: [IntentsBitField.Flags.Guilds] // This intent is required }); -// Créer une instance Discord Analytics -// N'oubliez pas de remplacer YOUR_API_TOKEN par votre token Discord Analytics +// Create Discord Analytics instance +// Don't forget to replace YOUR_API_TOKEN by your Discord Analytics token ! const analytics = new DiscordAnalytics({ client: client, - apiToken: 'YOUR_API_TOKEN', - sharded: false // Remplacez par true si votre bot utilise les shards + api_key: 'YOUR_API_TOKEN', + sharded: false // Set it to true if your bot use shards }); -// Commencer à tracker les tous les évènements -analytics.trackEvents(); - -// Lorsque le client Discord.js est prêt -client.on('ready', () => { +// When Discord client is ready +client.on('clientReady', async () => { + await analytics.init(); + analytics.trackEvents(); console.log("Bot is ready!"); }); -// Se connecter à Discord -// N'oubliez pas de remplacer token par votre token Discord ! +// Login to Discord +// Don't forget to replace token by your Discord bot token ! client.login('token'); ``` @@ -76,34 +75,33 @@ client.login('token'); ::tab [TypeScript] ```typescript -// Importer le Client et des Intents de Discord.js -import { Client, IntentsBitField } from "discord.js" -// Importer discord-analytics -import DiscordAnalytics from "discord-analytics/discordjs" +// Import Discord.js's client and intents +import { Client, IntentsBitField } from "discord.js"; +// import discord-analytics +import DiscordAnalytics from "@discordanalytics/discordjs"; -// Créer le client Discord.js +// Create Discord client const client = new Client({ - intents: [IntentsBitField.Flags.Guilds] // Cet Intent est requis + intents: [IntentsBitField.Flags.Guilds] // This intent is required }); -// Créer une instance Discord Analytics -// N'oubliez pas de remplacer YOUR_API_TOKEN par votre token Discord Analytics +// Create Discord Analytics instance +// Don't forget to replace YOUR_API_TOKEN by your Discord Analytics token ! const analytics = new DiscordAnalytics({ client: client, - apiToken: 'YOUR_API_TOKEN', - sharded: false // Remplacez par true si votre bot utilise les shards + api_key: 'YOUR_API_TOKEN', + sharded: false // Set it to true if your bot use shards }); -// Commencer à tracker les tous les évènements -analytics.trackEvents(); - -// Lorsque le client Discord.js est prêt -client.on('ready', () => { +// When Discord client is ready +client.on('clientReady', async () => { + await analytics.init(); + analytics.trackEvents(); console.log("Bot is ready!"); }); -// Se connecter à Discord -// N'oubliez pas de remplacer token par votre token Discord ! +// Login to Discord +// Don't forget to replace token by your Discord bot token ! client.login('token'); ``` From 748c8b6f8364d11de78a36544ec5153e1017ba37 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 13:53:18 +0100 Subject: [PATCH 07/33] New translations readme.md (French) --- fr/get-started/votes-integration/README.md | 55 +++++++++++----------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/fr/get-started/votes-integration/README.md b/fr/get-started/votes-integration/README.md index c0cc252..675286d 100644 --- a/fr/get-started/votes-integration/README.md +++ b/fr/get-started/votes-integration/README.md @@ -11,11 +11,11 @@ Discord Analytics est compatible avec les fournisseurs de votes suivants : | [Top.gg](https://top.gg) | ✅Entièrement compatible | | [BotList.me](https://botlist.me) | 🏗️Compatible (mais peut contenir des bugs) | | [Discord Bot List](https://discordbotlist.com) | ✅ Entièrement compatible | -| [Discord List](https://discordlist.gg) | ✅ Entièrement compatible | +| [Discord Place](https://discord.place) | 🏗️Compatible (but may contain bugs) | | [Discords.com](https://discords.com) | ✅ Fully compatible | :::warn -Vous en voulez plus ? Demandez-nous sur notre [serveur Discord](https://discordanalytics.xyz/go/support) ;) +Vous en voulez plus ? Ask us on our [Discord Server](https://discordanalytics.xyz/support) ;) ::: ## Configuration @@ -27,26 +27,26 @@ Vous en voulez plus ? Demandez-nous sur notre [serveur Discord](https://discorda 2. Allez à la page de votre bot (`https://top.gg/bot/:your-bot-id`) 3. Et cliquez sur "edit" -![Image](https://i.imgur.com/qxNhBwF.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/votes-integration/topgg_step_1.png) 4. Aller à l'onglet "Webhooks" -![Image](https://i.imgur.com/Aw4jdqo.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/votes-integration/topgg_step_2.png) 5. Collez l'URL suivante dans le champ "URL Webhook" : `https://discordanalytics.xyz/api/bots/:your-bot-id/votes/webhooks/topgg` (Remplacez `:your-bot-id` par l'ID de votre bot) -6. Collez votre token Analytics Discord dans le champ "Webhook Secret" +6. Paste your Discord Analytics API key in the "Webhook Secret" field -![Image](https://i.imgur.com/RQJd8yt.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/votes-integration/topgg_step_3.png) 7. Cliquez sur "Save" puis sur "Send a Test". Si tout est correct, vous recevrez un e-mail de confirmation. 8. Profitez de vos stats :) - :: + :: ::tab [BotList.me] **Webhook endpoint:** `https://discordanalytics.xyz/api/bots/:your-bot-id/votes/webhooks/botlistme` (Replace `:your-bot-id` with your bot's ID)
-**Webhook Secret:** your Discord Analytics token +**Webhook Secret:** your Discord Analytics API key :::info -Nous n'avons pas de bot sur BotList.me, c'est pourquoi nous ne sommes pas en possibilité de vous fournir un tutoriel complet. Si vous avez la possibilité de l'écrire, nous vous invitons à vous rendre sur le dépôt de cette documentation. +We do not have a bot on BotList.me, which is why we are unable to provide you with a complete tutorial. Si vous avez la possibilité de l'écrire, nous vous invitons à vous rendre sur le dépôt de cette documentation. Nous vous prions de nous excuser pour la gêne occasionnée. ::: @@ -62,46 +62,45 @@ Nous vous prions de nous excuser pour la gêne occasionnée. 2. Allez à la page de votre bot (`https://discordbotlist.com/bots/:your-bot-id`) 3. Cliquez sur "Edit" -![Image](https://i.imgur.com/qxJJZNA.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/votes-integration/dbl_step_1.png) 4. Faites défiler vers le bas la section "Upvote Webhook" -![Image](https://i.imgur.com/L9iqvdv.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/votes-integration/dbl_step_2.png) 5. Collez l'URL suivante dans le champ "URL Webhook" : `https://discordanalytics.xyz/api/bots/:your-bot-id/votes/webhooks/dblist` (Remplacez `:your-bot-id` par l'ID de votre bot) -6. Paste your Discord Analytics token in the "Webhook Secret" field +6. Paste your Discord Analytics API key in the "Webhook Secret" field -![Image](https://i.imgur.com/WfDZ7Wz.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/votes-integration/dbl_step_3.png) 7. Cliquez sur "Save" puis sur "Test Webhook". Si tout est correct, vous recevrez un e-mail de confirmation. 8. Profitez de vos stats :) - :: + :: -::tab [Discord List] +::tab [Discord Place] -1. Connectez-vous sur [discordlist.gg](https://discordlist.gg) -2. Allez à la page de votre bot (`https://discordlist.gg/bot/:your-bot-id`) -3. Aller à l'onglet "Manage" -4. Aller à l'onglet "Webhooks" -5. Collez l'URL suivante dans le champ "URL Webhook" : `https://discordanalytics.xyz/api/bots/:your-bot-id/votes/webhooks/discordlist` (Remplacez `:your-bot-id` par l'ID de votre bot) -6. Collez votre token Analytics Discord dans le champ "Webhook Authorization" +1. Login on [discordlist.gg](https://discord.place) +2. Go to your bot's page (`c'est https://discord.place/bots/:your-bot-id/manage`) +3. Go to the "Webhook" section +4. Paste the following url in the "Webhook URL" field: `https://discordanalytics.xyz/api/bots/:your-bot-id/votes/webhooks/discordplace` (Replace `:your-bot-id` with your bot's ID) +5. Paste your Discord Analytics API key in the "Webhook Authorization" field -![Image](https://i.imgur.com/9V0KONL.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/votes-integration/discordplace.png) -7. Cliquez sur "Update Webhook". Si tout est correct, vous recevrez un e-mail de confirmation. +7. Click on "Save". Si tout est correct, vous recevrez un e-mail de confirmation. 8. Enjoy your stats :) - :: + :: ::tab [Discordscom] 1. Login on [discords.com](https://discords.com) 2. Go to your bot's settings 3. Paste the following url in the "Webhook URL" field: `https://discordanalytics.xyz/api/bots/:your-bot-id/votes/webhooks/discordscom` (Replace `:your-bot-id` with your bot's ID) -4. Paste your Discord Analytics token in the "Webhook Authorization" field -5. Click on "Update Webhook". If everything is correct, you will receive a confirmation email. +4. Collez votre token Analytics Discord dans le champ "Webhook Authorization" +5. Cliquez sur "Update Webhook". If everything is correct, you will receive a confirmation email. 6. Profitez de vos stats :) - :: - :::endtabs + :: + :::endtabs ## Pour aller plus loin From 5ccdae28d9e558b9cb53ad6a8c28fe8f24d1c8b4 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 13:53:19 +0100 Subject: [PATCH 08/33] New translations readme.md (French) --- fr/get-started/installation/eris/README.md | 44 ++++++++++++---------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/fr/get-started/installation/eris/README.md b/fr/get-started/installation/eris/README.md index a184b28..98a3ff5 100644 --- a/fr/get-started/installation/eris/README.md +++ b/fr/get-started/installation/eris/README.md @@ -14,13 +14,13 @@ Discord Analytics is not compatible with Eris shards. ## Dependency -Let's install `discord-analytics`'s package : +Let's install `@discordanalytics/eris`'s package : :::tabs ::tab \[NPM] ```sh -npm install discord-analytics +npm install @discordanalytics/eris ``` :: @@ -28,7 +28,7 @@ npm install discord-analytics ::tab [Yarn] ```bash -yarn add discord-analytics +yarn add @discordanalytics/eris ``` :: @@ -36,7 +36,7 @@ yarn add discord-analytics ::tab [PNPM] ```bash -pnpm install discord-analytics +pnpm install @discordanalytics/eris ``` :: @@ -49,19 +49,21 @@ pnpm install discord-analytics ```javascript const {Client} = require("eris"); -const {default: DiscordAnalytics} = require("discord-analytics/eris"); +const {default: DiscordAnalytics} = require("@discordanalytics/eris"); // Create Eris client. // Don't forget to replace token by your Discord bot token ! const bot = new Client("token"); -bot.on("ready", () => { - // Create Discord Analytics instance - // Don't forget to replace YOUR_API_TOKEN by your Discord Analytics token ! - const analytics = new DiscordAnalytics({ - client: client, - apiToken: 'YOUR_API_TOKEN' - }); +// Create Discord Analytics instance +// Don't forget to replace YOUR_API_TOKEN by your Discord Analytics token ! +const analytics = new DiscordAnalytics({ + client: bot, + api_key: 'YOUR_API_TOKEN' +}); + +bot.on("ready", async () => { + await analytics.init(); // start tracking selected events analytics.trackEvents(); @@ -79,19 +81,21 @@ bot.connect(); ```typescript import {Client} from "eris"; -import DiscordAnalytics from "discord-analytics/eris"; +import DiscordAnalytics from "@discordanalytics/eris"; // Create Eris client. // Don't forget to replace token by your Discord bot token ! const bot = new Client("token"); -bot.on("ready", () => { - // Create Discord Analytics instance - // Don't forget to replace YOUR_API_TOKEN by your Discord Analytics token ! - const analytics = new DiscordAnalytics({ - client: client, - apiToken: 'YOUR_API_TOKEN' - }); +// Create Discord Analytics instance +// Don't forget to replace YOUR_API_TOKEN by your Discord Analytics token ! +const analytics = new DiscordAnalytics({ + client: bot, + api_key: 'YOUR_API_TOKEN' +}); + +bot.on("ready", async () => { + await analytics.init(); // start tracking selected events analytics.trackEvents(); From 92c68df1c40a25d4e159b591b747505b9e8e1565 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 13:53:20 +0100 Subject: [PATCH 09/33] New translations readme.md (French) --- fr/get-started/installation/java/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fr/get-started/installation/java/README.md b/fr/get-started/installation/java/README.md index 42e15b3..9b32478 100644 --- a/fr/get-started/installation/java/README.md +++ b/fr/get-started/installation/java/README.md @@ -4,6 +4,10 @@ The package is compatible with Discord4J version 3.2.6 or higher, Javacord version 3.8.0 or higher, and JDA version 5.0.0-beta.8 or higher. +:::warn +This package is no longer maintained by the Discord Analytics team. Feal free to create a Pull Request at https://github.com/DiscordAnalytics/java-package +::: + ## Dependency Let's install `discord-analytics`'s package (To get the latest version of the package please see this [page](https://github.com/DiscordAnalytics/java-package/releases)) : From 083edc71cb0e18867a81e1de73ce885cbf736ff0 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 13:53:22 +0100 Subject: [PATCH 10/33] New translations readme.md (French) --- .../installation/oceanic.js/README.md | 44 ++++++++++--------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/fr/get-started/installation/oceanic.js/README.md b/fr/get-started/installation/oceanic.js/README.md index 47f0607..e012c02 100644 --- a/fr/get-started/installation/oceanic.js/README.md +++ b/fr/get-started/installation/oceanic.js/README.md @@ -10,13 +10,13 @@ Discord Analytics is not comptible with Oceanic.js shards. ## Dependency -Let's install `discord-analytics`'s package : +Let's install `@discordanalytics/oceanic`'s package : :::tabs ::tab \[NPM] ```sh -npm install discord-analytics +npm install ``` :: @@ -24,7 +24,7 @@ npm install discord-analytics ::tab [Yarn] ```bash -yarn add discord-analytics +yarn add @discordanalytics/oceanic ``` :: @@ -32,7 +32,7 @@ yarn add discord-analytics ::tab [PNPM] ```bash -pnpm install discord-analytics +pnpm install @discordanalytics/oceanic ``` :: @@ -46,8 +46,8 @@ pnpm install discord-analytics ```javascript // Import Oceanic.js's client const { Client } = require("oceanic.js") -// import discord-analytics -const { default: DiscordAnalytics } = require("discord-analytics/oceanic") +// import discordanalytics +const { default: DiscordAnalytics } = require("@discordanalytics/oceanic") // Create Discord client const client = new Client({ @@ -60,21 +60,23 @@ const client = new Client({ // Create Discord Analytics instance // Don't forget to replace YOUR_API_TOKEN by your Discord Analytics token ! const analytics = new DiscordAnalytics({ - client: client, - apiToken: 'YOUR_API_TOKEN' + client, + api_key: 'YOUR_API_TOKEN' }); -// start tracking selected events -analytics.trackEvents(); + // When Discord client is ready -client.on('ready', () => { +client.on('ready', async () => { + await analytics.init(); + // start tracking selected events + analytics.trackEvents(); console.log("Bot is ready!"); }); // Login to Discord // Don't forget to replace token by your Discord bot token ! -client.login('token'); +client.connect(); ``` :: @@ -84,8 +86,8 @@ client.login('token'); ```typescript // Import Oceanic.js's client import { Client} from "oceanic.js"; -// import discord-analytics -import DiscordAnalytics from "discord-analytics/oceanic"; +// import discordanalytics +import DiscordAnalytics from "@discordanalytics/oceanic"; // Create Discord client const client = new Client({ @@ -98,21 +100,21 @@ const client = new Client({ // Create Discord Analytics instance // Don't forget to replace YOUR_API_TOKEN by your Discord Analytics token ! const analytics = new DiscordAnalytics({ - client: client, - apiToken: 'YOUR_API_TOKEN' + client, + api_key: 'YOUR_API_TOKEN' }); -// start tracking selected events -analytics.trackEvents(); - // When Discord client is ready -client.on('ready', () => { +client.on('ready', async () => { + await analytics.init(); + // start tracking selected events + analytics.trackEvents(); console.log("Bot is ready!"); }); // Login to Discord // Don't forget to replace token by your Discord bot token ! -client.login('token'); +client.connect(); ``` :: From e3bffce4f75488de9605253d682adc4f483ae97c Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 13:53:23 +0100 Subject: [PATCH 11/33] New translations readme.md (French) --- fr/get-started/advanced-usage/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/fr/get-started/advanced-usage/README.md b/fr/get-started/advanced-usage/README.md index c1f83f0..1f6b199 100644 --- a/fr/get-started/advanced-usage/README.md +++ b/fr/get-started/advanced-usage/README.md @@ -7,5 +7,6 @@ Quelques articles sur la façon de tirer le meilleur de Discord Analytics. ::card [/docs/main/get-started/advanced-usage/esm] Utiliser ESM (Javascript) --- Utilisez-vous ESModules dans votre projet ? Pas de problème, vous aurez juste besoin d'adapter votre code. :: ::card [/docs/main/get-started/advanced-usage/optimize-events] Optimiser les événements (Javascript) --- Économisez des performances en évitant d'avoir à déclarer le même événement deux fois ! :: ::card [/docs/main/get-started/advanced-usage/receive-votes] Recevoir des votes --- Configurer un webhook pour recevoir un webhook universel dans votre application ! :: +::card [/docs/main/get-started/advanced-usage/custom-events] Custom Events --- Create the stats that best suit your bot! :: ::: From edb6dc9aecf9aca09f6efedf15fe3f9419028d4c Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 13:53:24 +0100 Subject: [PATCH 12/33] New translations readme.md (French) --- fr/get-started/advanced-usage/receive-votes/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fr/get-started/advanced-usage/receive-votes/README.md b/fr/get-started/advanced-usage/receive-votes/README.md index 4ff9ee8..a5fbc6f 100644 --- a/fr/get-started/advanced-usage/receive-votes/README.md +++ b/fr/get-started/advanced-usage/receive-votes/README.md @@ -58,13 +58,13 @@ npm run deploy Log in to your Cloudflare account, then return to your terminal. Once the deployment is complete, retrieve the URL and open it in your browser to verify that the deployment was successful. -![Image](https://i.imgur.com/rVdqs31.png) +![Image](https://r2.discordanalytics.xyz/images/docs/advanced-usage/receive-votes/terminal_screenshot.png) ### Registering webhook on Discord Analytics Login to Discord Analytics dashboard, then go to your bot's settings. Scroll to the "Votes Webhook" section -![Image](https://i.imgur.com/aP96t7G.png) +![Image](https://r2.discordanalytics.xyz/images/docs/advanced-usage/receive-votes/webhook_field.png) Paste your URL in the field and add `/webhook` at the end. @@ -80,7 +80,7 @@ This section of the page is designed for advanced users who want to integrate th ### How does it work? -![Image](https://i.imgur.com/2YDKEAI.png) +![Image](https://r2.discordanalytics.xyz/images/docs/advanced-usage/receive-votes/operating_diagram.png) When a user votes for your bot on a bot list, the bot list sends a POST request to the Discord Analytics webhook. Our API save the vote, if you have set up a webhook, it will send a POST request to your app. From 7d5ff7d594f2b3a10e3f5a2e0d50d0c8bb9e46a9 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 13:53:25 +0100 Subject: [PATCH 13/33] New translations readme.md (French) --- fr/get-started/advanced-usage/teams/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fr/get-started/advanced-usage/teams/README.md b/fr/get-started/advanced-usage/teams/README.md index 8a1d553..1014fd6 100644 --- a/fr/get-started/advanced-usage/teams/README.md +++ b/fr/get-started/advanced-usage/teams/README.md @@ -24,11 +24,11 @@ Pour les dernières versions de paquets, l'équipe est synchronisée avec l'équ - Ensuite, allez dans les paramètres de votre bot - Collez l'ID dans la section "Accès aux statistiques". -![Image](https://i.imgur.com/i55JUgL.png) +![Image](https://r2.discordanalytics.xyz/images/docs/advanced-usage/teams/edit_step_1.png) - Après avoir cliqué sur « Ajouter », il vous sera demandé de choisir un moyen d’envoyer l’invitation à votre futur coéquipier. -![Image](https://i.imgur.com/AGtiyIu.png) +![Image](https://r2.discordanalytics.xyz/images/docs/advanced-usage/teams/edit_step_2.png) :::warn L'option e-mail nécessite que l'utilisateur ait un compte Discord Analytics. From 93d7405a2643cbdc9e797e755511db927a173229 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 13:53:26 +0100 Subject: [PATCH 14/33] New translations readme.md (French) --- fr/legals/appeal-sanction/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fr/legals/appeal-sanction/README.md b/fr/legals/appeal-sanction/README.md index 254c41d..128a4ce 100644 --- a/fr/legals/appeal-sanction/README.md +++ b/fr/legals/appeal-sanction/README.md @@ -1,19 +1,19 @@ # Faire appel d'une sanction -Premièrement, rejoignez [notre serveur Discord](https://discordanalytics.xyz/go/support) et rendez-vous dans le salon #contact-us +First, join [our Discord server](https://discordanalytics.xyz/support) and go to #contact-us -![](https://i.imgur.com/IMRielZ.png) +![](https://r2.discordanalytics.xyz/images/docs/legals/appeal-sanction/appeal_step_1.png) Dans le menu, sélectionnez "I want to appeal a sanction" -![](https://i.imgur.com/oennmiN.png) +![](https://r2.discordanalytics.xyz/images/docs/legals/appeal-sanction/appeal_step_2.png) Sélectionnez un motif -![](https://i.imgur.com/lUKUL3J.png) +![](https://r2.discordanalytics.xyz/images/docs/legals/appeal-sanction/appeal_step_3.png) Remplissez le formulaire -![](https://i.imgur.com/RFk26GI.png) +![](https://r2.discordanalytics.xyz/images/docs/legals/appeal-sanction/appeal_step_4.png) Et attendez qu'un modérateur vous réponde ! From 24649a6803ddf4a2db8508d4d168f7f328d644fd Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 13:53:27 +0100 Subject: [PATCH 15/33] New translations readme.md (French) --- fr/legals/privacy-policy/README.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/fr/legals/privacy-policy/README.md b/fr/legals/privacy-policy/README.md index dea2ecd..0c72852 100644 --- a/fr/legals/privacy-policy/README.md +++ b/fr/legals/privacy-policy/README.md @@ -26,7 +26,12 @@ Cloudflare Analytics is disabled on our website. ## IV. Data storage -The data we collect is securely stored on our servers. We store locally (on your browser) only an encrypted token that allows interaction with our API. We take reasonable security measures to protect your data from unauthorized access or disclosure. All your data is hosted in France by [Neo-Serv](https://neo-serv.fr) and [OVH](https://www.ovhcloud.com), companies registered under SIREN numbers [`894 937 937`](https://www.pappers.fr/entreprise/lulinski-thibaut-894937937) and [`424 761 419`](https://www.pappers.fr/entreprise/ovh-424761419) respectively. +The data we collect is securely stored on our servers. We store locally (on your browser) only an encrypted token that allows interaction with our API. We take reasonable security measures to protect your data from unauthorized access or disclosure. All your data is hosted in Europe by: + +- [Neo-Serv](https://neo-serv.fr) (France): apps & logs +- [AWS](https://aws.com) (France): Database +- [Cloudflare](https://www.cloudflare.com) (Europe): Images +- Self-hosted: Plausible ## V. User rights @@ -38,7 +43,7 @@ This section is for users of bots tracked by Discord Analytics and their owners. ### The bot hasn't enabled advanced stats -We collect ONLY the following data : +We collect ONLY the following data : - Interactions : Interactions names (components customId, commands name), interactions locales and interactions count - Users : Users count @@ -65,4 +70,6 @@ If you have any questions regarding our privacy policy or if you wish to exercis We reserve the right to update this privacy policy at any time. Any changes will be indicated on this page, and the date of the last update will be modified accordingly. We encourage you to regularly review this policy to stay informed about how we protect your personal data. -**LAST UPDATE : 18 July 2024** +--- + +**LAST UPDATE : 19 December 2025** From d2309f18fd3ce899e5db99b3a9de57210032ac43 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 13:53:28 +0100 Subject: [PATCH 16/33] New translations readme.md (French) --- fr/reference/achievements/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fr/reference/achievements/README.md b/fr/reference/achievements/README.md index 5acb35b..3c14312 100644 --- a/fr/reference/achievements/README.md +++ b/fr/reference/achievements/README.md @@ -2,17 +2,17 @@ On Discord Analytics, you can find a list of achievements to make the adventure of your bot funnier ! -![Image](https://i.imgur.com/Mvvtk7x.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/achievements/page_overview.png) ## Creating an achievement First, click on the "+" button -![Image](https://i.imgur.com/62ar0Ay.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/achievements/create_step_1.png) Then, enter the details of your achievements (blue square) or browse the Achievement Store (red square) -![Image](https://i.imgur.com/tskWiQV.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/achievements/create_step_2.png) ## The Achievement store From 9caced9e24c58b8ed57d0806ab44f424f203e285 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 13:53:29 +0100 Subject: [PATCH 17/33] New translations readme.md (French) --- .../advanced-usage/custom-events/README.md | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 fr/get-started/advanced-usage/custom-events/README.md diff --git a/fr/get-started/advanced-usage/custom-events/README.md b/fr/get-started/advanced-usage/custom-events/README.md new file mode 100644 index 0000000..9791751 --- /dev/null +++ b/fr/get-started/advanced-usage/custom-events/README.md @@ -0,0 +1,75 @@ +# Custom Events + +Custom Events is a feature of Discord Analytics that allows you to define your own events. Currently, you can only create line charts. + +In this example we'll assume your bot uses Discord.js and you want to know how often the `messageReactionAdd` event is triggered. + +## Create the custom event + +Before we start, we need to create an event on Discord Analytics' dashboard. Log in at https://discordanalytics.xyz/dash, select your bot in the menu, and go to the "Custom Events" page. Then click "Create Custom Event": + +![Image](https://r2.discordanalytics.xyz/images/docs/advanced-usage/custom_events/step_1.png) + +Now you need to define two things: + +- The event key, which is a unique identifier for this event. It cannot be updated later, so don't use too generic a value. +- The Graph Name, which is the name of the graph shown on the dashboard. + +![Image](https://r2.discordanalytics.xyz/images/docs/advanced-usage/custom_events/step_2.png) + +Then open your bot's code and add the following lines: + +```js +const { default: DiscordAnalytics} = require("@discordanalytics/discordjs"); +const { + ActionRowBuilder, Client, IntentsBitField, InteractionType, ModalBuilder, + TextInputBuilder, TextInputStyle +} = require("discord.js"); +require('dotenv/config'); + +const client = new Client({ + intents: [ // GuildMessageReactions and GuildMessages are required to receive the messageReactionAdd event + IntentsBitField.Flags.Guilds, + IntentsBitField.Flags.GuildMessageReactions, + IntentsBitField.Flags.GuildMessages + ], +}); + +const analytics = new DiscordAnalytics({ + client: client, + api_key: process.env.DISCORD_ANALYTICS_API_KEY, + debug: true, +}); + +client.on('clientReady', async () => { + console.log('Client is ready!'); + + await analytics.init(); +}); + +client.on('messageReactionAdd', (reaction) => { + analytics.events('reaction_add').increment() +}) + +client.login(process.env.DISCORD_TOKEN); +``` + +Restart your bot and open a channel your bot can see. Send a message and add a reaction to it. Wait 10 minutes for the stats to update, then refresh the dashboard page. + +The `analytics.events()` function returns an `Event` object which provides the following methods: + +```js +const event = analytics.events("my_awesome_event"); + +event.increment() // Increment the event value by 1 +event.increment(2) // Increment the event value by 2 + +event.decrement() // Decrement the event value by 1 (value cannot be negative) +event.decrement(2) // Decrement the event value by 2 + +event.set(5) // Set the event value to 5 + +event.get() // Returns the current event value (e.g. 5) +``` + +You now know how to use this feature, and Discord Analytics can give you stats about features specific to your bot. \ No newline at end of file From 32332b02be1cecc562a2aea2d035d40a843ca980 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 13:53:31 +0100 Subject: [PATCH 18/33] New translations readme.md (French) --- fr/reference/graphs/README.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/fr/reference/graphs/README.md b/fr/reference/graphs/README.md index 61d396f..74344c2 100644 --- a/fr/reference/graphs/README.md +++ b/fr/reference/graphs/README.md @@ -4,13 +4,13 @@ ### Evolution of all interactions -![Image](https://i.imgur.com/mMjhakd.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/interactions_evolution.png) This graph gave you information about the evolution of received interactions over the selected time period. It uses all interaction types. ### Most used interactions -![Image](https://i.imgur.com/Kunv5jw.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/interactions_most_used.png) This graph shows you the 5 most received interactions (all types combined) over the last 30 days. To determine these 5 interactions, the website adds stats for the selected time period and picks the top 5. @@ -18,8 +18,8 @@ To determine these 5 interactions, the website adds stats for the selected time ### Most received per type
-![Image](https://i.imgur.com/GgIRiKB.png) -![Image](https://i.imgur.com/gU2htPT.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/interactions_most_used_commands.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/interactions_most_used_components.png)
These tree graphs show you the percentage of most received interactions, filtered per type (Commands, Components and Modals). To determine the 5 interactions, the website adds stats for the selected time period and picks the top 5. @@ -30,13 +30,13 @@ These tree graphs show you the percentage of most received interactions, filtere ### Evolution of guilds -![Image](https://i.imgur.com/hm2Tufm.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/guilds_evolution.png) This graph shows the evolution of the number of servers over the selected time period. ### Evolution of guilds' locales -![Image](https://i.imgur.com/YxWpxlq.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/guilds_locales_evolution.png) This graph allows you to see the evolution of the top 5 locales used by your bot's guilds. @@ -44,25 +44,25 @@ To determine these 5 locales, the website adds the statistics from the selected ### Distribution of guilds' locales -![Image](https://i.imgur.com/P09BiYO.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/guilds_locales_distribution.png) This pie chart allows you to see the percentage of your bot's guilds most used locales. ### Distribution of guilds by size -![Image](https://i.imgur.com/nlKyYHN.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/guilds_size_distribution.png) This graph allows you to see the size of the guilds that your bot is. ### Additions and removals -![Image](https://i.imgur.com/cU3tv08.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/guilds_adds_and_removes.png) This graph allows you to see how many times your bot has been added or removed from guilds. ### Guilds Rankings -![Image](https://i.imgur.com/QicrOib.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/guilds_rankings.png) These rankings allow you to see which servers use your bot the most or those that have the most members. @@ -80,32 +80,32 @@ These rankings allow you to see which servers use your bot the most or those tha ### Evolution of users -![Image](https://i.imgur.com/YcfCQID.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/users_evolution.png) This graph gave you information about the evolution of users over the selected time period. ### Evolution of users' locales -![Image](https://i.imgur.com/oCLZwY3.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/users_locales_evolution.png) This graph allows you to see the evolution of the top 5 locales used by your bot's users. To determine these 5 locales, the website adds the statistics from the selected time period and selects the top 5. ### Distribution of users' locales -![Image](https://i.imgur.com/Vq6whap.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/users_locales_distribution.png) This pie chart allows you to see the number of your bot's users most used locales. ### Distribution of activity over the week -![Image](https://i.imgur.com/Kz1w359.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/users_activity_distribution.png) This graph allows you to see which days of the week your users are active. It combines all the data from the selected period to capture all interactions for a given day. ### Type of users -![Image](https://i.imgur.com/B5eiDBN.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/users_type_distribution.png) This graph allows you to see what type of user is using your bot. From 86c0d952711ad9447ebed8c612c2aaec7ec181e2 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 15:00:23 +0100 Subject: [PATCH 19/33] Update source file README.md --- en/get-started/advanced-usage/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/en/get-started/advanced-usage/README.md b/en/get-started/advanced-usage/README.md index 00d1e25..6620a55 100644 --- a/en/get-started/advanced-usage/README.md +++ b/en/get-started/advanced-usage/README.md @@ -7,5 +7,6 @@ A few articles on how to get the most out of Discord Analytics. ::card [/docs/main/get-started/advanced-usage/esm] Using ESM (Javascript) --- Are you using ESModules in your project? No problem, you'll just need to adapt your code. :: ::card [/docs/main/get-started/advanced-usage/optimize-events] Optimize events (Javascript) --- Save performance by avoiding having to declare the same event twice! :: ::card [/docs/main/get-started/advanced-usage/receive-votes] Receive votes --- Setup a webhook to receive an universal webhook in your app! :: +::card [/docs/main/get-started/advanced-usage/custom-events] Custom Events --- Create the stats that best suit your bot! :: ::: From cc4cb10d63f314c274fb72be4068f602b2c12acd Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 15:00:24 +0100 Subject: [PATCH 20/33] Update source file README.md --- .../advanced-usage/custom-events/README.md | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 en/get-started/advanced-usage/custom-events/README.md diff --git a/en/get-started/advanced-usage/custom-events/README.md b/en/get-started/advanced-usage/custom-events/README.md new file mode 100644 index 0000000..bfe5501 --- /dev/null +++ b/en/get-started/advanced-usage/custom-events/README.md @@ -0,0 +1,72 @@ +# Custom Events + +Custom Events is a feature of Discord Analytics that allows you to define your own events. Currently, you can only create line charts. + +In this example we'll assume your bot uses Discord.js and you want to know how often the `messageReactionAdd` event is triggered. + +## Create the custom event + +Before we start, we need to create an event on Discord Analytics' dashboard. Log in at https://discordanalytics.xyz/dash, select your bot in the menu, and go to the "Custom Events" page. Then click "Create Custom Event": + +![Image](https://r2.discordanalytics.xyz/images/docs/advanced-usage/custom_events/step_1.png) + +Now you need to define two things: +- The event key, which is a unique identifier for this event. It cannot be updated later, so don't use too generic a value. +- The Graph Name, which is the name of the graph shown on the dashboard. + +![Image](https://r2.discordanalytics.xyz/images/docs/advanced-usage/custom_events/step_2.png) + +Then open your bot's code and add the following lines: +```js +const { default: DiscordAnalytics} = require("@discordanalytics/discordjs"); +const { + ActionRowBuilder, Client, IntentsBitField, InteractionType, ModalBuilder, + TextInputBuilder, TextInputStyle +} = require("discord.js"); +require('dotenv/config'); + +const client = new Client({ + intents: [ // GuildMessageReactions and GuildMessages are required to receive the messageReactionAdd event + IntentsBitField.Flags.Guilds, + IntentsBitField.Flags.GuildMessageReactions, + IntentsBitField.Flags.GuildMessages + ], +}); + +const analytics = new DiscordAnalytics({ + client: client, + api_key: process.env.DISCORD_ANALYTICS_API_KEY, + debug: true, +}); + +client.on('clientReady', async () => { + console.log('Client is ready!'); + + await analytics.init(); +}); + +client.on('messageReactionAdd', (reaction) => { + analytics.events('reaction_add').increment() +}) + +client.login(process.env.DISCORD_TOKEN); +``` + +Restart your bot and open a channel your bot can see. Send a message and add a reaction to it. Wait 10 minutes for the stats to update, then refresh the dashboard page. + +The `analytics.events()` function returns an `Event` object which provides the following methods: +```js +const event = analytics.events("my_awesome_event"); + +event.increment() // Increment the event value by 1 +event.increment(2) // Increment the event value by 2 + +event.decrement() // Decrement the event value by 1 (value cannot be negative) +event.decrement(2) // Decrement the event value by 2 + +event.set(5) // Set the event value to 5 + +event.get() // Returns the current event value (e.g. 5) +``` + +You now know how to use this feature, and Discord Analytics can give you stats about features specific to your bot. \ No newline at end of file From 41d9f77db9a1c2d937e4c11a7268e4273542babb Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 15:00:25 +0100 Subject: [PATCH 21/33] Update source file README.md --- en/get-started/advanced-usage/receive-votes/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/en/get-started/advanced-usage/receive-votes/README.md b/en/get-started/advanced-usage/receive-votes/README.md index 26a6621..34a42a5 100644 --- a/en/get-started/advanced-usage/receive-votes/README.md +++ b/en/get-started/advanced-usage/receive-votes/README.md @@ -58,13 +58,13 @@ npm run deploy Log in to your Cloudflare account, then return to your terminal. Once the deployment is complete, retrieve the URL and open it in your browser to verify that the deployment was successful. -![Image](https://i.imgur.com/rVdqs31.png) +![Image](https://r2.discordanalytics.xyz/images/docs/advanced-usage/receive-votes/terminal_screenshot.png) ### Registering webhook on Discord Analytics Login to Discord Analytics dashboard, then go to your bot's settings. Scroll to the "Votes Webhook" section -![Image](https://i.imgur.com/aP96t7G.png) +![Image](https://r2.discordanalytics.xyz/images/docs/advanced-usage/receive-votes/webhook_field.png) Paste your URL in the field and add `/webhook` at the end. @@ -80,7 +80,7 @@ This section of the page is designed for advanced users who want to integrate th ### How does it work? -![Image](https://i.imgur.com/2YDKEAI.png) +![Image](https://r2.discordanalytics.xyz/images/docs/advanced-usage/receive-votes/operating_diagram.png) When a user votes for your bot on a bot list, the bot list sends a POST request to the Discord Analytics webhook. Our API save the vote, if you have set up a webhook, it will send a POST request to your app. From bde6ecc91f5ddc2c7d53da01026a4fbcd88b7db0 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 15:00:26 +0100 Subject: [PATCH 22/33] Update source file README.md --- en/get-started/advanced-usage/teams/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/en/get-started/advanced-usage/teams/README.md b/en/get-started/advanced-usage/teams/README.md index 8eb4d26..866bd65 100644 --- a/en/get-started/advanced-usage/teams/README.md +++ b/en/get-started/advanced-usage/teams/README.md @@ -24,11 +24,11 @@ For the latest package versions, the team is synchronised with the discord.dev b - Then, go to your bot's settings - Paste the ID in the "Stats Access" section. -![Image](https://i.imgur.com/i55JUgL.png) +![Image](https://r2.discordanalytics.xyz/images/docs/advanced-usage/teams/edit_step_1.png) - After clicking on ‘Add’, you will be asked to choose a way of sending the invitation to your future teammate. -![Image](https://i.imgur.com/AGtiyIu.png) +![Image](https://r2.discordanalytics.xyz/images/docs/advanced-usage/teams/edit_step_2.png) :::warn The email option requires the user to have a Discord Analytics account. From d747583c736277f95fff283bc3697107196c1067 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 15:00:26 +0100 Subject: [PATCH 23/33] Update source file README.md --- en/get-started/bot-registration/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/en/get-started/bot-registration/README.md b/en/get-started/bot-registration/README.md index 99bc6e1..82b6ecc 100644 --- a/en/get-started/bot-registration/README.md +++ b/en/get-started/bot-registration/README.md @@ -3,16 +3,16 @@ 1. [First, copy your bot's ID.](https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID-) 2. Next, go to the dashboard and click on "add bot" -![Image](https://i.imgur.com/tEzxQv5.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/bot_registration/step_1.png) 3. In the popup that appears, paste your bot's ID and accept the Terms of Use, then validate. -![Image](https://i.imgur.com/knW5uCp.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/bot_registration/step_2.png) 4. Once you have added your bot, you are redirected to this page : -![Image](https://i.imgur.com/QKCS1c8.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/bot_registration/step_3.png) 5. Click on "Go to settings" and copy your bot's token -![Image](https://i.imgur.com/mzoIAP6.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/bot_registration/step_4.png) From 08455a8213db9650070b82858a9ed3a5b517aba0 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 15:00:27 +0100 Subject: [PATCH 24/33] Update source file README.md --- en/get-started/installation/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/en/get-started/installation/README.md b/en/get-started/installation/README.md index 9103d35..bc14957 100644 --- a/en/get-started/installation/README.md +++ b/en/get-started/installation/README.md @@ -7,9 +7,9 @@ We've provided some code snippets for your information to make it easier for you ::: :::cards -::card [/docs/main/get-started/installation/discord.js](https://i.imgur.com/WiVzrys.png) Discord.js --- JavaScript/TypeScript :: -::card [/docs/main/get-started/installation/eris](https://i.imgur.com/10WtUMU.png) Eris --- JavaScript/TypeScript :: -::card [/docs/main/get-started/installation/oceanic.js](https://i.imgur.com/LODQ0vh.png) Oceanic.js --- JavaScript/TypeScript :: -::card [/docs/main/get-started/installation/java](https://i.imgur.com/O0XXIbz.png) Java --- Discord4J, Javacord, JDA :: -::card [/docs/main/get-started/installation/discord.py](https://i.imgur.com/pM0NRFB.png) Discord.py --- Python :: +::card [/docs/main/get-started/installation/discord.js](https://r2.discordanalytics.xyz/images/docs/get-started/installation/djs_banner.png) Discord.js --- JavaScript/TypeScript :: +::card [/docs/main/get-started/installation/eris](https://r2.discordanalytics.xyz/images/docs/get-started/installation/eris_banner.png) Eris --- JavaScript/TypeScript :: +::card [/docs/main/get-started/installation/oceanic.js](https://r2.discordanalytics.xyz/images/docs/get-started/installation/oceanic_banner.png) Oceanic.js --- JavaScript/TypeScript :: +::card [/docs/main/get-started/installation/java](https://r2.discordanalytics.xyz/images/docs/get-started/installation/java_banner.png) Java --- Discord4J, Javacord, JDA :: +::card [/docs/main/get-started/installation/discord.py](https://r2.discordanalytics.xyz/images/docs/get-started/installation/discordpy_banner.png) Discord.py --- Python :: ::: From 9428800dbd1fa63d14af30bd9f38cc352ad1b2d9 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 15:00:28 +0100 Subject: [PATCH 25/33] Update source file README.md --- .../installation/discord.js/README.md | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/en/get-started/installation/discord.js/README.md b/en/get-started/installation/discord.js/README.md index a0cb7db..4465dea 100644 --- a/en/get-started/installation/discord.js/README.md +++ b/en/get-started/installation/discord.js/README.md @@ -6,24 +6,24 @@ The package is compatible with Discord.js v14 or higher ## Dependency -Let's install `discord-analytics`'s package : +Let's install `@discordanalytics/discordjs`'s package : :::tabs ::tab [NPM] ```shell -npm install discord-analytics +npm install @discordanalytics/discordjs ``` :: ::tab [YARN] ```bash -yarn add discord-analytics +yarn add @discordanalytics/discordjs ``` :: ::tab [PNPM] ```bash -pnpm install discord-analytics +pnpm install @discordanalytics/discordjs ``` :: :::endtabs @@ -36,7 +36,7 @@ pnpm install discord-analytics // Import Discord.js's client and intents const { Client, IntentsBitField } = require("discord.js") // import discord-analytics -const { default: DiscordAnalytics } = require("discord-analytics/discordjs") +const { default: DiscordAnalytics } = require("@discordanalytics/discordjs") // Create Discord client const client = new Client({ @@ -47,15 +47,14 @@ const client = new Client({ // Don't forget to replace YOUR_API_TOKEN by your Discord Analytics token ! const analytics = new DiscordAnalytics({ client: client, - apiToken: 'YOUR_API_TOKEN', + api_key: 'YOUR_API_TOKEN', sharded: false // Set it to true if your bot use shards }); -// start tracking selected events -analytics.trackEvents(); - // When Discord client is ready -client.on('ready', () => { +client.on('clientReady', async () => { + await analytics.init(); + analytics.trackEvents(); console.log("Bot is ready!"); }); @@ -70,7 +69,7 @@ client.login('token'); // Import Discord.js's client and intents import { Client, IntentsBitField } from "discord.js"; // import discord-analytics -import DiscordAnalytics from "discord-analytics/discordjs"; +import DiscordAnalytics from "@discordanalytics/discordjs"; // Create Discord client const client = new Client({ @@ -81,15 +80,14 @@ const client = new Client({ // Don't forget to replace YOUR_API_TOKEN by your Discord Analytics token ! const analytics = new DiscordAnalytics({ client: client, - apiToken: 'YOUR_API_TOKEN', + api_key: 'YOUR_API_TOKEN', sharded: false // Set it to true if your bot use shards }); -// start tracking selected events -analytics.trackEvents(); - // When Discord client is ready -client.on('ready', () => { +client.on('clientReady', async () => { + await analytics.init(); + analytics.trackEvents(); console.log("Bot is ready!"); }); From 603b813ea9450701a4b508f7588e4948c6a1dd86 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 15:00:29 +0100 Subject: [PATCH 26/33] Update source file README.md --- en/get-started/installation/eris/README.md | 44 ++++++++++++---------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/en/get-started/installation/eris/README.md b/en/get-started/installation/eris/README.md index 89e2724..6701592 100644 --- a/en/get-started/installation/eris/README.md +++ b/en/get-started/installation/eris/README.md @@ -14,24 +14,24 @@ Discord Analytics is not compatible with Eris shards. ## Dependency -Let's install `discord-analytics`'s package : +Let's install `@discordanalytics/eris`'s package : :::tabs ::tab [NPM] ```sh -npm install discord-analytics +npm install @discordanalytics/eris ``` :: ::tab [Yarn] ```bash -yarn add discord-analytics +yarn add @discordanalytics/eris ``` :: ::tab [PNPM] ```bash -pnpm install discord-analytics +pnpm install @discordanalytics/eris ``` :: :::endtabs @@ -42,19 +42,21 @@ pnpm install discord-analytics ::tab [JavaScript] ```javascript const {Client} = require("eris"); -const {default: DiscordAnalytics} = require("discord-analytics/eris"); +const {default: DiscordAnalytics} = require("@discordanalytics/eris"); // Create Eris client. // Don't forget to replace token by your Discord bot token ! const bot = new Client("token"); -bot.on("ready", () => { - // Create Discord Analytics instance - // Don't forget to replace YOUR_API_TOKEN by your Discord Analytics token ! - const analytics = new DiscordAnalytics({ - client: client, - apiToken: 'YOUR_API_TOKEN' - }); +// Create Discord Analytics instance +// Don't forget to replace YOUR_API_TOKEN by your Discord Analytics token ! +const analytics = new DiscordAnalytics({ + client: bot, + api_key: 'YOUR_API_TOKEN' +}); + +bot.on("ready", async () => { + await analytics.init(); // start tracking selected events analytics.trackEvents(); @@ -70,19 +72,21 @@ bot.connect(); ::tab [TypeScript] ```typescript import {Client} from "eris"; -import DiscordAnalytics from "discord-analytics/eris"; +import DiscordAnalytics from "@discordanalytics/eris"; // Create Eris client. // Don't forget to replace token by your Discord bot token ! const bot = new Client("token"); -bot.on("ready", () => { - // Create Discord Analytics instance - // Don't forget to replace YOUR_API_TOKEN by your Discord Analytics token ! - const analytics = new DiscordAnalytics({ - client: client, - apiToken: 'YOUR_API_TOKEN' - }); +// Create Discord Analytics instance +// Don't forget to replace YOUR_API_TOKEN by your Discord Analytics token ! +const analytics = new DiscordAnalytics({ + client: bot, + api_key: 'YOUR_API_TOKEN' +}); + +bot.on("ready", async () => { + await analytics.init(); // start tracking selected events analytics.trackEvents(); From f2776dbe3be52acad878b362e48b03a002bcb770 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 15:00:29 +0100 Subject: [PATCH 27/33] Update source file README.md --- en/get-started/installation/java/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/en/get-started/installation/java/README.md b/en/get-started/installation/java/README.md index bfd091a..e6b2959 100644 --- a/en/get-started/installation/java/README.md +++ b/en/get-started/installation/java/README.md @@ -4,6 +4,10 @@ The package is compatible with Discord4J version 3.2.6 or higher, Javacord version 3.8.0 or higher, and JDA version 5.0.0-beta.8 or higher. +:::warn +This package is no longer maintained by the Discord Analytics team. Feal free to create a Pull Request at https://github.com/DiscordAnalytics/java-package +::: + ## Dependency Let's install `discord-analytics`'s package (To get the latest version of the package please see this [page](https://github.com/DiscordAnalytics/java-package/releases)) : From e87202fdf00f156acf380c8084dbf9f2075b2abb Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 15:00:30 +0100 Subject: [PATCH 28/33] Update source file README.md --- .../installation/oceanic.js/README.md | 44 ++++++++++--------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/en/get-started/installation/oceanic.js/README.md b/en/get-started/installation/oceanic.js/README.md index dc08b1a..8b8d72b 100644 --- a/en/get-started/installation/oceanic.js/README.md +++ b/en/get-started/installation/oceanic.js/README.md @@ -10,24 +10,24 @@ Discord Analytics is not comptible with Oceanic.js shards. ## Dependency -Let's install `discord-analytics`'s package : +Let's install `@discordanalytics/oceanic`'s package : :::tabs ::tab [NPM] ```sh -npm install discord-analytics +npm install ``` :: ::tab [Yarn] ```bash -yarn add discord-analytics +yarn add @discordanalytics/oceanic ``` :: ::tab [PNPM] ```bash -pnpm install discord-analytics +pnpm install @discordanalytics/oceanic ``` :: :::endtabs @@ -39,8 +39,8 @@ pnpm install discord-analytics ```javascript // Import Oceanic.js's client const { Client } = require("oceanic.js") -// import discord-analytics -const { default: DiscordAnalytics } = require("discord-analytics/oceanic") +// import discordanalytics +const { default: DiscordAnalytics } = require("@discordanalytics/oceanic") // Create Discord client const client = new Client({ @@ -53,21 +53,23 @@ const client = new Client({ // Create Discord Analytics instance // Don't forget to replace YOUR_API_TOKEN by your Discord Analytics token ! const analytics = new DiscordAnalytics({ - client: client, - apiToken: 'YOUR_API_TOKEN' + client, + api_key: 'YOUR_API_TOKEN' }); -// start tracking selected events -analytics.trackEvents(); + // When Discord client is ready -client.on('ready', () => { +client.on('ready', async () => { + await analytics.init(); + // start tracking selected events + analytics.trackEvents(); console.log("Bot is ready!"); }); // Login to Discord // Don't forget to replace token by your Discord bot token ! -client.login('token'); +client.connect(); ``` :: @@ -75,8 +77,8 @@ client.login('token'); ```typescript // Import Oceanic.js's client import { Client} from "oceanic.js"; -// import discord-analytics -import DiscordAnalytics from "discord-analytics/oceanic"; +// import discordanalytics +import DiscordAnalytics from "@discordanalytics/oceanic"; // Create Discord client const client = new Client({ @@ -89,21 +91,21 @@ const client = new Client({ // Create Discord Analytics instance // Don't forget to replace YOUR_API_TOKEN by your Discord Analytics token ! const analytics = new DiscordAnalytics({ - client: client, - apiToken: 'YOUR_API_TOKEN' + client, + api_key: 'YOUR_API_TOKEN' }); -// start tracking selected events -analytics.trackEvents(); - // When Discord client is ready -client.on('ready', () => { +client.on('ready', async () => { + await analytics.init(); + // start tracking selected events + analytics.trackEvents(); console.log("Bot is ready!"); }); // Login to Discord // Don't forget to replace token by your Discord bot token ! -client.login('token'); +client.connect(); ``` :: :::endtabs From 5a7d70726e8ed12689678c22d8aeece792cb923e Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 15:00:31 +0100 Subject: [PATCH 29/33] Update source file README.md --- en/get-started/votes-integration/README.md | 39 +++++++++++----------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/en/get-started/votes-integration/README.md b/en/get-started/votes-integration/README.md index 5922819..6747eeb 100644 --- a/en/get-started/votes-integration/README.md +++ b/en/get-started/votes-integration/README.md @@ -11,11 +11,11 @@ Discord Analytics is compatible with the following votes providers: | [Top.gg](https://top.gg) | ✅Fully compatible | | [BotList.me](https://botlist.me) | 🏗️Compatible (but may contain bugs) | | [Discord Bot List](https://discordbotlist.com) | ✅ Fully compatible | -| [Discord List](https://discordlist.gg) | ✅ Fully compatible | +| [Discord Place](https://discord.place) | 🏗️Compatible (but may contain bugs) | | [Discords.com](https://discords.com) | ✅ Fully compatible | :::warn -Want more? Ask us on our [Discord Server](https://discordanalytics.xyz/go/support) ;) +Want more? Ask us on our [Discord Server](https://discordanalytics.xyz/support) ;) ::: ## Configuration @@ -26,16 +26,16 @@ Want more? Ask us on our [Discord Server](https://discordanalytics.xyz/go/suppor 2. Go to your bot's page (`https://top.gg/bot/:your-bot-id`) 3. And click on "edit" -![Image](https://i.imgur.com/qxNhBwF.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/votes-integration/topgg_step_1.png) 4. Go to "Webhooks" tab -![Image](https://i.imgur.com/Aw4jdqo.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/votes-integration/topgg_step_2.png) 5. Paste the following url in the "Webhook URL" field: `https://discordanalytics.xyz/api/bots/:your-bot-id/votes/webhooks/topgg` (Replace `:your-bot-id` with your bot's ID) -6. Paste your Discord Analytics token in the "Webhook Secret" field +6. Paste your Discord Analytics API key in the "Webhook Secret" field -![Image](https://i.imgur.com/RQJd8yt.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/votes-integration/topgg_step_3.png) 7. Click on "Save" then "Send a Test". If everything is correct, you will receive a confirmation email. 8. Enjoy your stats :) @@ -44,7 +44,7 @@ Want more? Ask us on our [Discord Server](https://discordanalytics.xyz/go/suppor ::tab [BotList.me] **Webhook endpoint:** `https://discordanalytics.xyz/api/bots/:your-bot-id/votes/webhooks/botlistme` (Replace `:your-bot-id` with your bot's ID)
-**Webhook Secret:** your Discord Analytics token +**Webhook Secret:** your Discord Analytics API key :::info We do not have a bot on BotList.me, which is why we are unable to provide you with a complete tutorial. If you are able to write it, we invite you to visit the GitHub repository of this documentation. @@ -61,32 +61,31 @@ We apologize for the inconvenience caused. 2. Go to your bot's page (`https://`discordbotlist.com`/bots/:your-bot-id`) 3. Click on "Edit" -![Image](https://i.imgur.com/qxJJZNA.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/votes-integration/dbl_step_1.png) 4. Scroll down to the "Upvote Webhook" section -![Image](https://i.imgur.com/L9iqvdv.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/votes-integration/dbl_step_2.png) 5. Paste the following url in the "Webhook URL" field: `https://discordanalytics.xyz/api/bots/:your-bot-id/votes/webhooks/dblist` (Replace `:your-bot-id` with your bot's ID) -6. Paste your Discord Analytics token in the "Webhook Secret" field +6. Paste your Discord Analytics API key in the "Webhook Secret" field -![Image](https://i.imgur.com/WfDZ7Wz.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/votes-integration/dbl_step_3.png) 7. Click on "Save" then "Test Webhook". If everything is correct, you will receive a confirmation email. 8. Enjoy your stats :) :: -::tab [Discord List] -1. Login on [discordlist.gg](https://discordlist.gg) -2. Go to your bot's page (`https://discordlist.gg/bot/:your-bot-id`) -3. Go to "Manage" tab -4. Go to "Webhooks" tab -5. Paste the following url in the "Webhook URL" field: `https://discordanalytics.xyz/api/bots/:your-bot-id/votes/webhooks/discordlist` (Replace `:your-bot-id` with your bot's ID) -6. Paste your Discord Analytics token in the "Webhook Authorization" field +::tab [Discord Place] +1. Login on [discordlist.gg](https://discord.place) +2. Go to your bot's page (`c'est https://discord.place/bots/:your-bot-id/manage`) +4. Go to the "Webhook" section +5. Paste the following url in the "Webhook URL" field: `https://discordanalytics.xyz/api/bots/:your-bot-id/votes/webhooks/discordplace` (Replace `:your-bot-id` with your bot's ID) +6. Paste your Discord Analytics API key in the "Webhook Authorization" field -![Image](https://i.imgur.com/9V0KONL.png) +![Image](https://r2.discordanalytics.xyz/images/docs/get-started/votes-integration/discordplace.png) -7. Click on "Update Webhook". If everything is correct, you will receive a confirmation email. +7. Click on "Save". If everything is correct, you will receive a confirmation email. 8. Enjoy your stats :) :: From 63cad6e65ba0eec4562774e515e7d1262e4ffa77 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 15:00:32 +0100 Subject: [PATCH 30/33] Update source file README.md --- en/legals/appeal-sanction/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/en/legals/appeal-sanction/README.md b/en/legals/appeal-sanction/README.md index 12f9d6a..93ff229 100644 --- a/en/legals/appeal-sanction/README.md +++ b/en/legals/appeal-sanction/README.md @@ -1,19 +1,19 @@ # Appeal sanction -First, join [our Discord server](https://discordanalytics.xyz/go/support) and go to #contact-us +First, join [our Discord server](https://discordanalytics.xyz/support) and go to #contact-us -![](https://i.imgur.com/IMRielZ.png) +![](https://r2.discordanalytics.xyz/images/docs/legals/appeal-sanction/appeal_step_1.png) In the select menu, select "I want to appeal a sanction" -![](https://i.imgur.com/oennmiN.png) +![](https://r2.discordanalytics.xyz/images/docs/legals/appeal-sanction/appeal_step_2.png) Select a reason -![](https://i.imgur.com/lUKUL3J.png) +![](https://r2.discordanalytics.xyz/images/docs/legals/appeal-sanction/appeal_step_3.png) Complete the form -![](https://i.imgur.com/RFk26GI.png) +![](https://r2.discordanalytics.xyz/images/docs/legals/appeal-sanction/appeal_step_4.png) And wait a moderator ! From e0e0b85309163ae6956a838f6f6c1e4a1d55b62a Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 15:00:32 +0100 Subject: [PATCH 31/33] Update source file README.md --- en/legals/privacy-policy/README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/en/legals/privacy-policy/README.md b/en/legals/privacy-policy/README.md index f5192b4..23daa75 100644 --- a/en/legals/privacy-policy/README.md +++ b/en/legals/privacy-policy/README.md @@ -28,7 +28,11 @@ Cloudflare Analytics is disabled on our website. ## IV. Data storage -The data we collect is securely stored on our servers. We store locally (on your browser) only an encrypted token that allows interaction with our API. We take reasonable security measures to protect your data from unauthorized access or disclosure. All your data is hosted in France by [Neo-Serv](https://neo-serv.fr) and [OVH](https://www.ovhcloud.com), companies registered under SIREN numbers [`894 937 937`](https://www.pappers.fr/entreprise/lulinski-thibaut-894937937) and [`424 761 419`](https://www.pappers.fr/entreprise/ovh-424761419) respectively. +The data we collect is securely stored on our servers. We store locally (on your browser) only an encrypted token that allows interaction with our API. We take reasonable security measures to protect your data from unauthorized access or disclosure. All your data is hosted in Europe by: + - [Neo-Serv](https://neo-serv.fr) (France): apps & logs + - [AWS](https://aws.com) (France): Database + - [Cloudflare](https://www.cloudflare.com) (Europe): Images + - Self-hosted: Plausible ## V. User rights @@ -67,4 +71,6 @@ If you have any questions regarding our privacy policy or if you wish to exercis We reserve the right to update this privacy policy at any time. Any changes will be indicated on this page, and the date of the last update will be modified accordingly. We encourage you to regularly review this policy to stay informed about how we protect your personal data. -**LAST UPDATE : 18 July 2024** +--- + +**LAST UPDATE : 19 December 2025** From c2cce85e942b8967929ab37e3e0ea0cc063f1158 Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 15:00:33 +0100 Subject: [PATCH 32/33] Update source file README.md --- en/reference/achievements/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/en/reference/achievements/README.md b/en/reference/achievements/README.md index f8e2059..9fff71a 100644 --- a/en/reference/achievements/README.md +++ b/en/reference/achievements/README.md @@ -2,17 +2,17 @@ On Discord Analytics, you can find a list of achievements to make the adventure of your bot funnier ! -![Image](https://i.imgur.com/Mvvtk7x.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/achievements/page_overview.png) ## Creating an achievement First, click on the "+" button -![Image](https://i.imgur.com/62ar0Ay.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/achievements/create_step_1.png) Then, enter the details of your achievements (blue square) or browse the Achievement Store (red square) -![Image](https://i.imgur.com/tskWiQV.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/achievements/create_step_2.png) ## The Achievement store From 74268e2118436dd895c50dea0c6630be67d73e5f Mon Sep 17 00:00:00 2001 From: Nolhan Date: Sat, 20 Dec 2025 15:00:34 +0100 Subject: [PATCH 33/33] Update source file README.md --- en/reference/graphs/README.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/en/reference/graphs/README.md b/en/reference/graphs/README.md index 5a8b1c1..9424a6e 100644 --- a/en/reference/graphs/README.md +++ b/en/reference/graphs/README.md @@ -4,13 +4,13 @@ ### Evolution of all interactions -![Image](https://i.imgur.com/mMjhakd.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/interactions_evolution.png) This graph gave you information about the evolution of received interactions over the selected time period. It uses all interaction types. ### Most used interactions -![Image](https://i.imgur.com/Kunv5jw.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/interactions_most_used.png) This graph shows you the 5 most received interactions (all types combined) over the last 30 days. To determine these 5 interactions, the website adds stats for the selected time period and picks the top 5. @@ -18,8 +18,8 @@ To determine these 5 interactions, the website adds stats for the selected time ### Most received per type
-![Image](https://i.imgur.com/GgIRiKB.png) -![Image](https://i.imgur.com/gU2htPT.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/interactions_most_used_commands.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/interactions_most_used_components.png)
These tree graphs show you the percentage of most received interactions, filtered per type (Commands, Components and Modals). To determine the 5 interactions, the website adds stats for the selected time period and picks the top 5. @@ -30,13 +30,13 @@ These tree graphs show you the percentage of most received interactions, filtere ### Evolution of guilds -![Image](https://i.imgur.com/hm2Tufm.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/guilds_evolution.png) This graph shows the evolution of the number of servers over the selected time period. ### Evolution of guilds' locales -![Image](https://i.imgur.com/YxWpxlq.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/guilds_locales_evolution.png) This graph allows you to see the evolution of the top 5 locales used by your bot's guilds. @@ -44,25 +44,25 @@ To determine these 5 locales, the website adds the statistics from the selected ### Distribution of guilds' locales -![Image](https://i.imgur.com/P09BiYO.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/guilds_locales_distribution.png) This pie chart allows you to see the percentage of your bot's guilds most used locales. ### Distribution of guilds by size -![Image](https://i.imgur.com/nlKyYHN.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/guilds_size_distribution.png) This graph allows you to see the size of the guilds that your bot is. ### Additions and removals -![Image](https://i.imgur.com/cU3tv08.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/guilds_adds_and_removes.png) This graph allows you to see how many times your bot has been added or removed from guilds. ### Guilds Rankings -![Image](https://i.imgur.com/QicrOib.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/guilds_rankings.png) These rankings allow you to see which servers use your bot the most or those that have the most members. @@ -80,32 +80,32 @@ These rankings allow you to see which servers use your bot the most or those tha ### Evolution of users -![Image](https://i.imgur.com/YcfCQID.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/users_evolution.png) This graph gave you information about the evolution of users over the selected time period. ### Evolution of users' locales -![Image](https://i.imgur.com/oCLZwY3.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/users_locales_evolution.png) This graph allows you to see the evolution of the top 5 locales used by your bot's users. To determine these 5 locales, the website adds the statistics from the selected time period and selects the top 5. ### Distribution of users' locales -![Image](https://i.imgur.com/Vq6whap.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/users_locales_distribution.png) This pie chart allows you to see the number of your bot's users most used locales. ### Distribution of activity over the week -![Image](https://i.imgur.com/Kz1w359.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/users_activity_distribution.png) This graph allows you to see which days of the week your users are active. It combines all the data from the selected period to capture all interactions for a given day. ### Type of users -![Image](https://i.imgur.com/B5eiDBN.png) +![Image](https://r2.discordanalytics.xyz/images/docs/reference/graphs/users_type_distribution.png) This graph allows you to see what type of user is using your bot.