(there may already be a task out there floating around that's similar to this)
Tasks remaining (made this list on Thu 02/29/2024):
[x] Make sure the bot isn't responding to messages from a long time ago. It should keep track of when it started and only respond to messages that appeared after about ~1 minute before it started (to accommodate the is-live checks).
[x] Get built-in commands to work on YouTube
[x] The problem is that the commands have their own handlers, and the commands are shared between YouTube and Twitch, so even though the command comes in on YouTube, the "Twitch" code is being called (and it doesn't have a database). I should change that around so that it actually works.
[x] Read commands from the database outside of Bot.ts so that the Twitch bot doesn't become a dependency for the YouTube bot.
[ ] Commit my outstanding code
[ ] Handle TODO items in the code
[ ] Clean up the tests
[ ] Rename twitch/Bot.ts → twitch/TwitchBot.ts
[ ] Consider refactoring the database functions so that they're no longer in a class. I need to see how I would test these things.
[ ] Make sure cooldowns still work. I could either have the bot keep track of the cooldowns for each command or I could have the commands track the last-used time by platform.
[ ] On YouTube, remember that the commands will essentially be batched, so 3 people may type !today in one poll cycle. In that case, I don't want it to be outputted three times even if all of the people who typed it are moderators. I.e. most commands should minimally have a 1-second cooldown. The only time I wouldn't want something like that is for some user-specific data fetching, which we don't have yet (e.g. !followage PERSON).
[ ] Deploy to the mini PC (make sure to modify the .env files).
[ ] Consider making a test account for when the real bot is online. You can't chat in a completed livestream, but you can schedule a livestream without going live and that will create a chat.
Goal: get commands like !today to work on YouTube.
Probably need to make a test account or something for this. With Twitch, there's one live chat. On YouTube, there's a different chat URL per stream. I'm not sure how to test this.
Request an API key
Register my application
Maybe eventually, consider whether Jump Royale should be able to take in YouTube chat (this would probably be a task in that repo).
(there may already be a task out there floating around that's similar to this)
Tasks remaining (made this list on Thu 02/29/2024):
Bot.ts
so that the Twitch bot doesn't become a dependency for the YouTube bot.twitch/Bot.ts
→twitch/TwitchBot.ts
!today
in one poll cycle. In that case, I don't want it to be outputted three times even if all of the people who typed it are moderators. I.e. most commands should minimally have a 1-second cooldown. The only time I wouldn't want something like that is for some user-specific data fetching, which we don't have yet (e.g.!followage PERSON
)..env
files).Goal: get commands like
!today
to work on YouTube.