Giter Club home page Giter Club logo

promcord's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar gigafyde avatar nimarion avatar pierreschwang avatar rssnyder avatar zigsphere avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

promcord's Issues

Resolve & cache username/display names

Feature Request

We could make the dashboards easier to parse through if the user IDs were resolved to display names and usernames which could be bundled into the metrics.
I'm aware this would come at a significant API quota cost, and potentially would require some caching & persistence, so it should be opt-in.

same here with docker-compose 1.29.2

same here with docker-compose 1.29.2

10:37:28,235 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
10:37:28,237 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
10:37:28,238 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/promcord.jar!/logback.xml]
10:37:28,257 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@3d8314f0 - URL [jar:file:/promcord.jar!/logback.xml] is not of type file
10:37:28,353 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
10:37:28,357 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [net.dv8tion.jda] to ERROR
10:37:28,358 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
10:37:28,362 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [Console]
10:37:28,371 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] pr

10:37:28,461 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [io.sentry.logback.SentryAppender]
10:37:28,547 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [Sentry]
10:37:28,563 |-WARN in io.sentry.logback.SentryAppender[Sentry] - Failed to init Sentry during appender initialization: DSN is required. Use empty string to disable SDK.
10:37:28,563 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
10:37:28,563 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [Console] to Logger[ROOT]
10:37:28,563 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [Sentry] to Logger[ROOT]
10:37:28,563 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
10:37:28,564 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2df32bf7 - Registering current configuration as safe fallback point

Originally posted by @mazzma12 in #151 (comment)

The issue for logback-test can br fixed by adding "logback-test.xml" under src/main/ressource with the same data as logback.xml


<configuration>

    <logger name="net.dv8tion.jda" level="ERROR"/>


    <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="Sentry" class="io.sentry.logback.SentryAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>WARN</level>
        </filter>
    </appender>

    <root level="INFO">
        <appender-ref ref="Console"/>
        <appender-ref ref="Sentry"/>
    </root>

</configuration>

Correct me if anything is wrong

Add basic database.

Whenever the docker container is restarted all the message statistics reset, would be nice if the latest "stats" where written to a file that is loaded again when starting up.

Can I use it for multiple discord server?

Hello.

I would like to use this for a couple of my servers. Now, I can see it is tracking both of my servers but is it possible to set it, so on one dashboard, it tracks one server and on another one, it tracks a different one?

Also, instead of reading server ID, could it be possible, to have it be named? Like instead of showing 18 numbers, it would show server name? Same for the users.

Announcement annotations

Feature Request

Annotations for messages in a certain channel, eg. an announcements channel. Can be used to see how announcements might influence user activity.

Bot reports wrong user count.

General Troubleshooting

  • I have checked for similar issues.
  • I have updated to the latest promcord version
  • I have checked the branches or the maintainers' PRs for upcoming bug fixes.

Bug Report

The Bot reports a wrong user count.
image

Expected Behavior

The bot should report the right user count.
image

Exception or Error

N/A

How to change promcord port?

General Troubleshooting

  • I have checked for similar issues.
  • I have updated to the latest promcord version

Question

Hello, I want to change the port of promcord exporter. I change it in docker-compose.yaml, prometheus.yml and grafana.json but it still not working. I would like to know if there is something else to change?

Steps to reproduce

docker-compose.yml:

  promcord:
    image: "biospheere/promcord"
    restart: always
    env_file: .env
    container_name: "promcord"
    expose:
      - 7000

prometheus.yml:

scrape_configs:
  - job_name: 'discord'
    static_configs:
      - targets: ['promcord:7000']

grafana.json (l.83-84):

"fields": "/^discord_ping_websocket{instance=\"promcord:7000\", job=\"discord\"}$/",
"values": false

No Data

I got my personal token and it seems like it's not getting any data. The dashboard is completely empty and showing N/A everywhere.

docker log promcord is showing:

07:22:51.016 [main] INFO de.biosphere.promcord.Promcord - Starting promcord
07:22:51.055 [main] INFO de.biosphere.promcord.Configuration - Configuration lo aded!
07:22:52.236 [main] ERROR de.biosphere.promcord.Promcord - Encountered exception while initializing JDA!
07:22:52.271 [main] WARN io.sentry.dsn.Dsn - *** Couldn't find a suitable DSN, Sentry operations will do nothing! See documentation: https://docs.sentry.io/cli ents/java/ ***
07:22:52.282 [main] WARN io.sentry.DefaultSentryClientFactory - No 'stacktrace. app.packages' was configured, this option is highly recommended as it affects st acktrace grouping and display on Sentry. See documentation: https://docs.sentry. io/clients/java/config/#in-application-stack-frames
07:22:52.287 [main] ERROR de.biosphere.promcord.Promcord - Encountered exception while initializing the bot!
javax.security.auth.login.LoginException: The provided token is invalid!
at net.dv8tion.jda.internal.JDAImpl.verifyToken(JDAImpl.java:365)
at net.dv8tion.jda.internal.JDAImpl.login(JDAImpl.java:282)
at net.dv8tion.jda.internal.JDAImpl.login(JDAImpl.java:249)
at net.dv8tion.jda.api.JDABuilder.build(JDABuilder.java:1869)
at de.biosphere.promcord.Promcord.initializeJDA(Promcord.java:56)
at de.biosphere.promcord.Promcord.(Promcord.java:29)
at de.biosphere.promcord.Promcord.main(Promcord.java:72)
07:22:56.744 [main] INFO de.biosphere.promcord.Promcord - Starting promcord
07:22:56.784 [main] INFO de.biosphere.promcord.Configuration - Configuration lo aded!
07:22:57.913 [main] ERROR de.biosphere.promcord.Promcord - Encountered exception while initializing JDA!
07:22:57.943 [main] WARN io.sentry.dsn.Dsn - *** Couldn't find a suitable DSN, Sentry operations will do nothing! See documentation: https://docs.sentry.io/cli ents/java/ ***
07:22:57.954 [main] WARN io.sentry.DefaultSentryClientFactory - No 'stacktrace. app.packages' was configured, this option is highly recommended as it affects st acktrace grouping and display on Sentry. See documentation: https://docs.sentry. io/clients/java/config/#in-application-stack-frames
07:22:57.958 [main] ERROR de.biosphere.promcord.Promcord - Encountered exception while initializing the bot!
javax.security.auth.login.LoginException: The provided token is invalid!
at net.dv8tion.jda.internal.JDAImpl.verifyToken(JDAImpl.java:365)
at net.dv8tion.jda.internal.JDAImpl.login(JDAImpl.java:282)
at net.dv8tion.jda.internal.JDAImpl.login(JDAImpl.java:249)
at net.dv8tion.jda.api.JDABuilder.build(JDABuilder.java:1869)
at de.biosphere.promcord.Promcord.initializeJDA(Promcord.java:56)
at de.biosphere.promcord.Promcord.(Promcord.java:29)
at de.biosphere.promcord.Promcord.main(Promcord.java:72)

The Token is 100% working

docker installed promcord process keeps restarting

General Troubleshooting

Bug Report

promcord docker process keeps restarting. Not sure if this is a bug or a misconfiguration of the bot on our server.

18:47:31.632 [main] INFO  de.biosphere.promcord.Promcord - Starting promcord
18:47:31.702 [main] INFO  de.biosphere.promcord.Configuration - Configuration loaded!
18:47:44.083 [main] ERROR de.biosphere.promcord.Promcord - Encountered exception while initializing JDA!
18:47:44.102 [main] ERROR de.biosphere.promcord.Promcord - Encountered exception while initializing the bot!
java.lang.IllegalStateException: Could not acquire lock in a reasonable timeframe! (10 seconds)
        at net.dv8tion.jda.api.utils.MiscUtil.tryLock(MiscUtil.java:164)
        at net.dv8tion.jda.api.utils.MiscUtil.locked(MiscUtil.java:126)
        at net.dv8tion.jda.internal.requests.ratelimit.BotRateLimiter.stop(BotRateLimiter.java:169)
        at net.dv8tion.jda.internal.requests.Requester.stop(Requester.java:321)
        at net.dv8tion.jda.internal.JDAImpl.shutdownInternals(JDAImpl.java:701)
        at net.dv8tion.jda.internal.JDAImpl.shutdown(JDAImpl.java:682)
        at net.dv8tion.jda.internal.JDAImpl.shutdownNow(JDAImpl.java:671)
        at net.dv8tion.jda.internal.JDAImpl.verifyToken(JDAImpl.java:360)
        at net.dv8tion.jda.internal.JDAImpl.login(JDAImpl.java:281)
        at net.dv8tion.jda.internal.JDAImpl.login(JDAImpl.java:248)
        at net.dv8tion.jda.api.JDABuilder.build(JDABuilder.java:1929)
        at de.biosphere.promcord.Promcord.initializeJDA(Promcord.java:56)
        at de.biosphere.promcord.Promcord.<init>(Promcord.java:29)
        at de.biosphere.promcord.Promcord.main(Promcord.java:72)
18:47:46,779 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
18:47:46,785 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
18:47:46,793 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/promcord.jar!/logback.xml]
18:47:46,856 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@3d8314f0 - URL [jar:file:/promcord.jar!/logback.xml] is not of type file
18:47:47,227 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
18:47:47,248 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [net.dv8tion.jda] to ERROR
18:47:47,248 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
18:47:47,267 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [Console]
18:47:47,308 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
18:47:47,603 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [io.sentry.logback.SentryAppender]
18:47:47,777 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [Sentry]
18:47:47,807 |-WARN in io.sentry.logback.SentryAppender[Sentry] - Failed to init Sentry during appender initialization: DSN is required. Use empty string to disable SDK.
18:47:47,807 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
18:47:47,807 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [Console] to Logger[ROOT]
18:47:47,809 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [Sentry] to Logger[ROOT]
18:47:47,809 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
18:47:47,810 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2df32bf7 - Registering current configuration as safe fallback point

Server insights metrics

Feature Request

  • I have checked for similar issues.
  • I have checked the branches or the maintainers' PRs for upcoming features.

Feature Request

It could be useful to add the same stats using the "Server Insights" options in community servers, or something similar to get more data
image
image

Prefix metric names with `promcord_`

Feature Request

It'd be ideal if the metrics could all start with promcord_ so they can be easily found in a large list of metrics & to avoid any duplicates, for example; msg_count was already in use by another one of our sources.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.