http://images.bb2.cyanide-studio.com/skillicons/
gymbot's Introduction
gymbot's People
gymbot's Issues
As a developer I want to parse match reports
Might be able to use https://github.com/rleroy/dicedornot
Refactor to use Cyanide API instead of GoblinSpy
If and when we get access to fetch data directly from Cyanide, we can update the fetch logic. Hopefully this can be done with a REST api, so we no longer have to use a webscraper.
If we can do this switch, we can remove the nodejs-web-scraper
dependency.
When a new match sent to chat, mark it as sent
Will make it easier to throttle sending multiple reports
Add slash command to show current standings
As a coach I want to see easy link to players statistics
Can show a link to GoblinSpy, or maybe have statistics in MongoDB
Generate match statistics as png
Maybe using
https://flaviocopes.com/canvas-node-generate-image/
Or maybe serve the images from a local express server
https://stackoverflow.com/questions/64834944/discordjs-using-base64-image-in-webhook-embed
Refactor add logic for new matches
Currently the logic finds in the database first, and then goes along to add, that logic can be simplified using a logic similar to this
await Promise.all(
a.map(async (standing) => {
logger.info(standing.idstanding, 'standig');
// The selection criteria to find the record
const filter = {
idstanding: standing.idstanding,
};
// Fields to select when querying the database
const projection = 'idstanding';
// Find the document
StandingsModel.findOne(filter, projection, (error, result) => {
if (!error) {
// If the document doesn't exist
if (!result) {
logger.info(
`Creating new standing model for ${standing.idstanding}`
);
// Create it
result = new StandingsModel(standing);
}
// Save the document
result.save((error) => {
if (!error) {
logger.info('no error');
// Do something with the document
} else {
logger.error(error, 'some error');
throw error;
}
});
} else {
logger.error(error);
}
});
})
);
As a coach I want to see ko and stuns in match report
Add help command
To show the available commands, and how to use the bot
Since the commands show up pr. default when you do / in the chat, this is maybe not as important?
Add competition to data collection
Make it possible to select what competition to follow in a given discord channel
Add logic to handle different competitions
Add slashcommand to register a competition id, and monitor that competition for news, show standings etc.
Add README with details
The readme should contain information about how to setup a bot setup
Convert from webscraper to GoblinSpy api
Make register-competition only accept competitions from the League table
Since its not possible to make the options in a selection dynamic, as they have to be registered when the bot initializes, we need to fix this by only accepting the competitionid's listed on the league in the database
Only show date/timestamp in logger for dev build
When watching the Heroku logs, heroku adds timestamp also, so no need to do it twice
Update registered leagues periodically, to catch newly started competitions
Format timestamp on match reports correctly
Seems its using som US format
As a coach I want to see the schedule for my team
Should be able to list the next opponent, and possibly the coming matches as well.
As a coach I want to see dice statistics
The stats could be for each match, or it could be for each competition.
The reason is to see if someone really is cursed by back luck, or if it is in fact evened out.
As a coach I want to see impact players on a match report
Command to check the current registered competition
It could be a sub command to the /competition
command
Prepare for BB3
Will BB3 use same data api as the current? Will GoblinSpy keep working?
Only show certain slashcommands to admins
Commands to set competition should only be visible to admins
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.