GravityWolfNotAmused / PlayerCountDiscordBot

A simple discord bot that updates their status' to show player counts.
MIT License
36 stars 16 forks source link

Serilog logging #68

Closed GravityWolfNotAmused closed 3 months ago

GravityWolfNotAmused commented 9 months ago

Added Tags:

Configuration Values Added:

Variable Name Type Is Required Notes Example Values
SunriseHour integer Nullable There is a hidden default of 6 am 6
Sunset Hour integer Nullable There is a hidden default of 8 pm 20

What is this?

Sunset and Sunrise hours are used to help determine when you consider it to be day and when you determine it's night based on server time.

How can I use it?

Steam Users When utilizing a game that speaks with Steam Web API and holds onto the game's time inside of its Gametype, I will parse it out and use it for the server's time. This will influence whether these tags work for you or not. The only servers I am aware of are DayZ, but many games use Gametype to hold information about the server and do.

Battlemetric When utilizing a game that is tracked by BattleMetrics, was already available to you, so I have added the SunMoon tag to your available tags.

What will it look like? image

image

What does my config look like now, and how can I configure when it's daytime or nighttime? There is no difference due to these variables not being required by older version configs. To configure what hour is after sunrise you will set SunriseHour to that value instead of null. To configure what hour is the last hour of daylight before night time set SunsetHour to a value instead of null. If both values are null, or only one is set the bot will default to 0600 - 2000 daytime cycle (July).


    {
      "Name": "My Server",
      "Address": "204.36.363.66:27016",
      "Token": "",
      "StatusFormat": "@Players/@MaxPlayers Q: @QueuedPlayers @Time @SunMoon",
      "Status": 3,
      "UseNameAsLabel": false,
      "ProviderType": 0,
      "ChannelID": null,
      "SunriseHour": null,
      "SunsetHour":  null
    }

New Data Providers: 5, 6 - RCONClient and SteamQuery

Added Exceptions: ParsingException for when Rcon response did not contain the minimum information RconAuthenticationException for when you fail to authenticate with RCON ConfigurationException for when you are missing a nullable value in your configuration due to the way you are configured.

Big Sads: Sadly it doesn't seem that Queued Players can be found by Steam Query 🥲