Giter Club home page Giter Club logo

game-tracker's Introduction

Metrics

game-tracker's People

Contributors

allcontributors[bot] avatar dependabot-preview[bot] avatar dependabot[bot] avatar endbug avatar

Stargazers

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

Watchers

 avatar  avatar

game-tracker's Issues

Readme Improvements

Hi there!

I am interested in your Discord bot. I am not a Discord poweruser so I don't know what Discord bots do in general.
Can you add some screenshots or example data in your readme?
This would be very useful for everyone visiting your project.
Alternatively you could add a invite to a example Discord Server.

KR,
Jochen

Rewrite & update bot

The bot is currently down, and a rewrite is needed because Commando isn't kept up to date with discord.js, and it's a pain to keep them synched.
A beta version of this is already done in locally and is currently being tested.

CSGO?

Is it possible to create for CSGO servers ?

Don't sort r6s operators table alphabetically

In this commit you started to sort tables for r6s stuff alphabetically which doesn't really makes sense for operators, I'd argue it's harder to find operator in that order compare to default (same as in-game, sorted by release date and unit/org).

Would you consider making exception for operators table?

Move to supabase.io

Using a free "database as a service" will make it easier to maintain the bot. This could also mean that the bot could be moved to another hosting solution that doesn't require me to store the database on a local machine.

Move to slash commands

Moving current commands to slash commands will make it easier to parse arguments and more compatible with future Discord updates.

Non-english characters break ow link

Reported by Genji#9447 (<@297002583526998018>) on Discord

Using the ow link command with a username that has non-standard characters in it makes the bot show the following error:

An error occurred while running the command: TypeError: Cannot read property 'toString' of undefined
You shouldn't ever receive an error like this.
Please contact EndBug#3679.

Battletags that cause the issue:

  • PȄƝǦŬ#2796
  • Ɓae#2135

Rainbow Six Siege stats currently on hold

Seems like UBI has closed the API during unscheduled maintenance to "mitigate the impact on their servers". They say there's no current ETA on when they'll put the APIs back online.
That means that until they put them back online, nobody can fetch game stats.
Source tweet from Ubi:

To mitigate the impact on our system, we have temporarily closed the API routes gathering in-game statistics.
We currently do not have an ETA for their restauration.

— François R. (@Ubi_Fanch) March 20, 2020

Because of this, none of the r6 commands is usable and I won't make them available for now.

Ref issue: danielwerg/r6api.js#26

Repository archived 📁

Hey folks, I'll be archiving this repo as I'm not able to keep up with updating or hosting the bot.
Feel free to fork if you find that the project is still useful 💖

'devstats' command not working properly

The devstats command does not work with the guilds mode: the generated message goes exceeds the 2000 characters limit.

(node:12804) UnhandledPromiseRejectionWarning: DiscordAPIError: Invalid Form Body
content: Must be 2000 or fewer in length.
    at item.request.gen.end (/home/pi/Bots/game-tracker/node_modules/discord.js/src/client/rest/RequestHandlers/Sequential.js:79:15)
    at then (/home/pi/Bots/game-tracker/node_modules/snekfetch/src/index.js:215:21)
    at process._tickCallback (internal/process/next_tick.js:68:7)

Overwatch re-write

The current Overwatch commands mostly rely on the public version of Fuyukai/OWAPI: the problem with that is that its availability is not reliable and the author is not very responsive when it comes to fixing bugs & keeping up with Blizzard's changes. To make things worse, it's all written in Python so I'm not able to make any changes on my own if I need to.

That's why I want to switch to only using fatchan/overwatch-stats-api:

  • it' s a node package, so I can directly add that as dependencie
  • if Blizzard changes something I can edit it right away without waiting for somebody else to do it
  • I added typings to that package so that I get hints & type integration when writing my code (which is in TypeScript)

A preview of the re-write is available on the ow-rewrite branch of the repo.

Rainbow 6 Siege integration

The bot is used by more the 150 people now and it's the time to add a new game: after all this has been only an "Overwatch Tracker" for now, while the key concept of this bot is to have multiple games.
Rainbow 6 Siege is a good place to start since there are already APIs and packages that can help: I will use danielwerg/r6api.js to get the stats, since it covers pretty much everything and I've already added typings to it.

A preview of the R6S implementation can be found on the add-r6s branch.

Bot running out of memory

As the bot is added to more and more servers, discord.js is starting to cache so much data that it exceeds the memory limit.
This problem is, as of now, not going to be fixed, since discord.js relies pretty heavily on internal caching and won't work without it. For more info about that, check discordjs/discord.js#1409

These are the current possible solutions for the bot:

  • Deploy it to a server which has a lot more RAM: this would be both expensive and ineffective in the long term, since the bot could eventually use up more memory.
  • Use sharding and deploy the bot to multiple Heroku instances: this might work, but it would require some work to implement sharding and, considering how the bot works, may not be the best option. Eventually, if the bot approaches ~1000 guilds, it's something that I'll need to do anyway, but I think I'll procrastinate till then.
  • Easiest solution: make the bot reboot periodically. This will "manually" clear the cache, and it's the quickest way to solve the problem for now.

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.