crowbartools / firebot Goto Github PK
View Code? Open in Web Editor NEWA powerful all-in-one bot for Twitch streamers
Home Page: https://firebot.app
License: GNU General Public License v3.0
A powerful all-in-one bot for Twitch streamers
Home Page: https://firebot.app
License: GNU General Public License v3.0
Need to add in a second emulation method using KBM-Robot which is different from robotjs because it uses java. This means it works in a few games that robotjs doesn't work in.
I have two buttons set up to share a cooldown, Button 1 triggers the cooldown on both buttons consistently, but Button 0 only triggers its own cooldown most of the time. I also occasionally get a disconnect and error message stating "Error setting up robot events in setupRobotEvents." but I don't know if this is related.
We need to validate all fields before the user is able to submit them. This will help us dodge app breaking errors when the emulator tries to parse cooldowns and key presses. Most likely this can be done using the jquery validation plugin.
The validation for the button menu fires at a weird time after saving. It fires after the fields clear, but before the menu closes. This causes the user to see a flash of red on everything for a second.
You can currently set cooldowns for held buttons, which means you can't hold them anymore. Need to make note of this in the tooltip.
We need to add in the ability to emulate multiple keypresses at the same time with one button.
We need a credits page so any contributors and testers can be listed!
The disconnect function in beam-connect.js will try to kill the robot even if the robot has not been created yet. It probably needs an undefined check.
Right now it throws a console error if you try to disconnect somewhere before the robot is made.
Add in a new button that, when clicked, will load up a JS file and run a function. This would allow people to run custom scripts. This would be a very dangerous option for most people, so we'd need to have people specifically enable it in the settings area with some type of warning.
We need to put together a button that can send a message via websocket to an overlay in the streamers software. This button would trigger celebration effects.
We need some sort of visual save confirmation when users save any info.
If you have enough content in the main part of the page that you need to scroll down, you end up scrolling past the bottom of the picture. Background needs to be fixed position.
Right Div not scrolling back to top when adding button settings that requires you to scroll down to save. V2.0.0-Beta 2
We need to add a few additional options for modifying boards.
Right now both the streamer and bot login works by grabbing oauth info for whoever is logged in on Beam at the time. This means the login flow is somewhat confusing.
Current:
Login to beam as streamer -> login to app as streamer -> go to beam and log out -> log into beam as bot -> log in to app as bot
Can we fix this by opening the auth window in the app as "incognito" and force a sign in for both?
Progress updates and continually firing.
The field validation isn't allowing cooldown length to be blank. Need to remove requirement for that field.
BeamChatPlays has a JSON importer function which lets you copy JSON from the Beam dev lab and paste it into the app in order to quickly create all of the buttons. We need to incorporate this into Firebot as well. The script should mostly be done, but we need to account for the new html structure and also multiple button types.
Is there a way to trigger two keys being pressed simultaneously with one button?
Right now there is very little in the way of error feedback. For example, if someone doesn't toggle press frequency or holding for a key in the dev lab. This should be reported to the user somehow so it can be fixed.
Add in mouse speed settings so that users can adjust the sensitivity of the joystick mouse emulation.
When trying to build the app there are a few different errors.
If a button has no cooldown it's still being sent the "disabled" state which causes it to have around a one second cooldown. It should not have this at all.
The last beta(which btw has the wrong version # in package.json so it still says there is a new update) adds the option to post things to chat as the bot or the streamer based on settings, but at the current version it seems to chose bot/streamer on random instead of based on setting. I have setup one button with API Buttons -> Advice and set it up with Bot as chatter. When button is pushed it chats as bot or streamer, next time I connect it can be the other one. So it seems like somewhere in the code it mixes up pr connection.
Sometime the log outputs
Logged into chat as Bot
Logged into chat as Streamer
And other times vice versa:
Logged into chat as Streamer
Logged into chat as Bot
Not sure if the order it connects has something to do with this, since it seems that even if it says bot last it still post as either one of them even if the button is set to Bot. Just thought I should mention it.
Added a log line into apiProcessor.js at line 32:
if(apiType == "Advice"){
randomAdvice(chatter);
console.log("Talking as: "+chatter);
}
To see who the app itself thinks he is posting as, and as the board setting is set to Bot the variable chatter = bot according to the log
Talking as: Bot
But still it posts to chat as the Streamer so something isn't obeying the chatter setting later on in the code.
And I still have some issues with #30 now and then, specially if I add more than 2 cooldownButtons in the button settings. Just to mention that.
When the app is first starting up the window is white until the app can load the main html file. We need to keep the window hidden until it finishes loading to avoid that white screen and load smoother.
Button menu tooltips are actually slightly covered up. Z-index needs to be set higher on these.
Sometimes trying to log in to the app via OAuth people run into issues. The OAuth window will pop up, but doesn't wait for any user input and closes immediately. After that, it doesn't seem to update the UI.
We need to put together a screen somewhere that shows all of the activity currently taking place. We could do a real time section with text spam coming as quick as the buttons are pressed and then a separate list which has a running total for each button.
Options:
The app already has some basic tooltip functionality, however we need to make a pass so that these pop up for all options. They also need to be styled better.
Recommendation from people to allow attaching a sound to any type of button instead of only sound buttons.
Right now when you edit a button the general settings are pulled in but not the type specific settings.
We need a way to check on app launch for new versions of the app.
I was told today that perhaps Number Trivia might not be working in the build version with the newest commits.
This would be a new button. When it is clicked it would send a websocket message over to an HTML file the streamer has loaded up in their streaming software. When the message was received an image or gif would be shown for X seconds.
We need an icon for the app!
On the board page, if you add too many cooldown groups the tips bar will cover up content.
Adding in game controls with the ability to emulate keyboard and mouse movements using robotjs.
No issue.. just reminding you.. You're awesome!
Progress reports pass over the number of connected users and the number of people using the controls. We should take this information and show it somewhere in the app so people get a good idea of how many people are still using the controls.
I'm only updating the json on firebottle.tv for full releases to notify people. However, this means that people using beta versions get an update notification for older versions. For example 1.1.0-beta gets a notification to upgrade to 1.0.0.
The last change to the button form validation made some weird animations when saving button settings. Sometimes it animates it just nicely away and other times it just pushes you back to the "Start" page of the application with a white flash.
Add in the ability to enable mouse clicks for screen controls. This should be off by default.
I've not looked into this yet, but I think it should be possible with the fs module to move/copy the selected sounds into the directory structure of the bot inside the user-settings part. This would make it pretty hard to lose a sound file just because you accidentally removed the sound from your download folder when you cleared it all out because it was cluttered with all kinds of stuff.
Ahemm, this totally hasn't happened to me.. xD
Hey, FireBottle! I just wanted to say that I use Ctrl + Backspace every time I type. It actually deleted entire words at once and is a very helpful shortcut, especially when streaming and you need to type fast. Is there any way we can rebind this key to something barely used like Alt + Backspace? or Ctrl + Tilde, Alt + Tilde?? The program is looking super sweet already, and I can't wait to see more progress!
Add the option for all buttons to have a threshold number. This would allow a person to say, "only run this button when it has been clicked X number of times." The biggest issue being we'd need to keep track of the number of clicks in the app so that we could display the appropriate progress indicator amount.
This button would allow people to change between the different interactive board states. This means someone could have sounds on one board, and if you click a button it could go to game controls.
Options:
Ctrl + Backspace is the toggle to go interactive or kill interactive. It works inside games and lets you take control of everything until you're ready to accept interactive inputs again.
However, there is no place in the app that mentions this shortcut exists. It needs to be pretty up front.
The version checker is supposed to match the apps version in the package file to a json file on firebottle.tv and if they are different it should display a new version message with a link to the github releases page. Right now this works perfectly in dev, but upon building the app it breaks.
So when I use cooldown groups with my individual cooldowns go black after the countdown and can't be used again unless I refresh the bot, I have tried changing the settings and can't figure it out. https://gyazo.com/7548d32a949f537eca0a57270bf14b45
Edit now everything is getting this no matter what group they are in
Whenever a button is pressed on my board that is successful and not tied to a spark cost(in dev lab) Firebot disconnects and I get error message: "Error setting up robot events in setupRobotEvents." However, when I leave error message open, Firebot stays connected and board works fine.
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.