nvirm / k8gatheriino Goto Github PK
View Code? Open in Web Editor NEWA bot for Discord that helps people to form pickup games (PUGs). Originally for Overwatch, but as the team size can be changed, works with any team based game.
A bot for Discord that helps people to form pickup games (PUGs). Originally for Overwatch, but as the team size can be changed, works with any team based game.
Add a parameter for dev-mode
Restrict some functions to DevelopmentMode = 1 (!fakeriino for instance)
I think that the asynchronous handling of the queue messages causes this when many people interact with the bot at the same time. Bad code in practice.
This should help a bit with this issue. People are unable to be patient with interacting with the bot, so...
Fix asap...
Parameters:
"MinTimeInQueue": 5 //number being minutes
"AddRmThrottleEnabled": 1 or 0 // yes or no
Enhancement project.
Just a tiny adjustment needed.
https://github.com/kitsun8/K8Gatheriino/blob/7300d60fac56e53bff2b3db7c904c26f134a7b08/project/K8GatherBot/Program.cs#L629
https://github.com/kitsun8/K8Gatheriino/blob/7300d60fac56e53bff2b3db7c904c26f134a7b08/project/K8GatherBot/Program.cs#L572
Adjust the announce to count Queuesize / Picked players total - 1, so that the lastpick is not announced (not needed anymore, since last pick is automatically done).
This has been overlooked in the past. We should check if the reconnecting feature/sharding could be improved in order to avoid manual reboots of the bot.
https://bundledsticksinkorperated.github.io/Discore/#/wiki/2x/Sharding
Goal: Automatically restart discord api connection when connection is lost, while preserving queue status etc.
New features need to be fixed, currently not showing the right amount of games.
It's a bit counter productive to force the team captain to pick when only 1 player is left to pick.
System.IndexOutOfRangeException: Index was outside the bounds of the array. at K8GatherBotv2.Program.PickTeamMember(DiscordUser author, String msg, List
1 teamIds, List1 team, String nextCaptain) in C:\Users\Niki\Documents\GitHub\K8Gatheriino\project\K8GatherBot-v2\Program.cs:line 887 at K8GatherBotv2.Program.<CmdPick>d__32.MoveNext() in C:\Users\Niki\Documents\GitHub\K8Gatheriino\project\K8GatherBot-v2\Program.cs:line 973
Seems like there could be more scrutiny to the picking commands.
This did not, however, crash the application.
Ability to choose random teams mode, without captains/picking
Would make it possible for new/inexperienced captains to not be captains.
Under investigation :)
To make PUG forming easier, we could add an option for the appsettings.json to use K8Directoriino's Database to announce player Battletags alongside of playernames when teams are ready.
Rename !fakeriino and the users generated with it to be more suitable for devs not familiar with Gatheriino
Is it possible in the near future to add more statistics like:
Great job so far tho! ๐
Part of making the software "easier to approach".
Check if file exists
If yes, proceed
If no, return "No valid appsettings.json file found, closing the application in 5 seconds"
Close application
Add a map vote function for the players when teams are complete.
Only the players in the queue can use the commands, but are not required to do so. After a short period of time (20seconds or so), the results are posted to the channel (Top 3 perhaps).
Parameter to use mapdraft needed (because not all games have maps to choose from), and read the list of maps from an array from appsettings as well.
This causes confusion and is not intended. Will fix.
To be more serious in other prod environments, we should lock //haHAA commented !add commands behind a parameter, so people who run this in other places are not confused.
Whoops. Investigating.
appsettings.json could have {instances:} parent item, in which each channel to listen + other parameters would be in. It would eliminate the need to run separate dotnet applications at once for multiple Gatheriinos.
!thinkid is calling !fatkid. Should be an easy fix.
Find and fix kpls. :P
Yeah, investigate.
Should be handled to be insensitive..
Currently using 2.4.1, latest is 4.1. 2.4.1. doesn't seem to handle reconnecting/api status well, so time to upgrade.
UPDATE: 4fc7ab5
When user activity gets logged in CSV files, we should update the username accordingly. Some people have different names in different CSV files, or old names in the lists.
We should add a permission parameter for resetting the bot, and another parameter for which role it is meant for.
Example
"ResetbotRestriction": 1,
"ResetbotRole": "Admin"
The inspiration for Gatheriino, Gatherbot, had a pickphase like so:
T1: 1 pick
T2: 2 picks
T1: 2 picks
T2: 2 picks
T1: 2 picks
T2: 2 picks
T1: 1 pick
I think we could make an alternative pick to follow this sequence, and make it a parameter in appsettings.json
Add one parameter to appsettings.json that decides if !fakeriino works. Just in case :)...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.