Всем привет, недавно я создал панель статистики для своего бота Discord под названием PenguBot на Datadog, используя Discord.js и Hot-shots (библиотека Node.js для Datadog). Когда я поделился этим, многие люди проявили интерес к тому, как они могут сделать это сами. Итак, сегодня я пойду шаг за шагом и расскажу вам, как воспроизвести мои результаты, которые выглядят примерно так:

Итак, давайте начнем!

  1. Создайте бесплатную учетную запись на Datadog, посетив https://datadoghq.com.
  2. Теперь установите их агент на свой VPS или виртуальную машину, найдя соответствующие инструкции на https://app.datadoghq.com/account/settings#agent.
  3. Хорошо, как только вы это сделаете, давайте свяжем Datadog с вашим ботом Discord.
    - Для этого сначала установите hot-shots, выполнив npm i hot-shots
    - Теперь давайте настроим hot-shots, добавив следующий код в ваш клиентский файл:< br /> const { StatsD } = require("горячие кадры");

client.on(“готово”, client =› {
client.dogstats = new StatsD(localhost, 8125)
});

Примечание. Если у вас уже есть настраиваемая структура клиента, в которой вы можете определять вещи внутри конструктора вашего клиента, просто добавьте оператор require вверху файла и this.dogstats = new StatsD("localhost", 8125) внутри самого конструктора.

4. Теперь мы будем ссылаться на yourbot как на основную переменную, которую мы будем использовать в нашем коде для guildCreate и guildDelete событий.

5. Внутри guildCreate и guildDelete добавьте соответствующий код.

// guildCreate
this.client.dogstats.increment(“yourbot.guildcreate”);

// guildDelete
this.client.dogstats.increment («yourbot.guilddelete»);

Примечание: я не буду добавлять эти причудливые графики, если вам нужен подробный учебник по ним, дайте мне знать.

Важно! Эти переменные не будут отображаться на панели управления Datadog, если они не были созданы хотя бы один раз.

6. Теперь войдите в Datadog и нажмите «Информационные панели», создайте новую «Таймборд» и добавьте «Значение запроса» для добавленных гильдий
Внутренний показатель введите: yourbot.guildcreate.
Теперь измените «Взять среднее» ниже «Метрика» на «Возьмите сумму».
После этого в разделе «Единицы измерения и форматирование» измените «Автомасштабирование» на Выкл. и «Десятичное число» на 0.

7. Повторите то же самое, добавив еще одно «Значение запроса» для удаленных гильдий, и выполните 6-й шаг ниже, но просто измените Метрику на: yourbot.guilddelete, и все готово.

8. Чтобы добавить цвета, как у меня, отредактируйте значение запроса и измените «Условный формат», удалив все и добавив новое правило, которое говорит, что если метрика › 0, то сделайте ее зеленой и так далее и тому подобное. Отсюда легко догадаться.

Если у вас возникнут неясности или вопросы, пишите мне в Дискорд и задавайте вопросы там.

Спасибо, что прочитали, я буду обновлять и добавлять больше информации в эту статью, но пока об этом!