dotabod / backend Goto Github PK
View Code? Open in Web Editor NEWBackend services for dotabod, the popular twitch streamer tool
Home Page: https://dotabod.com
License: GNU Affero General Public License v3.0
Backend services for dotabod, the popular twitch streamer tool
Home Page: https://dotabod.com
License: GNU Affero General Public License v3.0
something to tell chatters if unranked, ranked, spectating, arcade
!gametype or !whatisit or !ranked?
show how many of your couriers have been killed, or how many you killed this game
perhaps add an overlay feature for that too. show a cute little courier icon with ☠ ?
available commands: MODS (asd asd asd) ALL (asd asd asd )
if a user types !commands just respond with asd asd asd
only two conditions allow us to hide aegis timer:
maybe a third condition, when the team without aegis scores 5 points (that means its a teamwipe) within like 1 minute. but this one is a little sus, not sure if its always true.
cause enemy can die to a neutral camp or get denied otherwise, and then team wont score so itll still be 4
auto update stream title with current mmr
when we make changes to the dota events code, when server restart we shouldn't have to reload the whole dota chat so that it joins all the channels again. that causes a lot of delay in dotabod communicating again
split to smaller node services that share state with redis
when obs is closed, and stream is offline, allow tracking mmr still when playing matches
currently only works when obs is on
all users WL 30d before dotabod, and after 30d of using dotabod
or x days since active, and same x days before active member of dotabod
https://clips.twitch.tv/ShinyFurtiveSalamanderHeyGirl-emy69W9FayDk5OPp
it should go back into hero pick blocker?
look into why the socket idles and disconnects, then reconnects, and swaps scenes around
https://stackoverflow.com/questions/30280530/socket-io-disconnects-clients-when-idle
then we will have all features that 9kmmrbot has
dotabod shouldn't chat with emotes if this is off
make !gm smaller
dotabod: Riki: Archon☆4 · Death Prophet: Archon☆4 · Sniper: Archon☆4 · Ogre Magi: Archon☆4 · Tiny: Archon☆5 · Pudge: Legend☆1 · Snapfire: Archon☆5 · Naga Siren: Archon☆5 · Crystal Maiden: Archon☆3 · Luna: Archon☆4
dotabod: Riki: Ar☆4 · Death Prophet: Ar☆4 · Sniper: Ar☆4 · Ogre Magi: Ar☆4 · Tiny: Ar☆5 · Pudge: L☆1 · Snapfire: Ar☆5 · Naga Siren: Ar☆5 · Crystal Maiden: Ar☆3 · Luna: Ar☆4
consolidate same ranks
dotabod: Ursa, Silencer, Crystal Maiden, Lich, Mirana, Bane, Legion Commander, Invoker are Archon☆5. Anti-Mage is Legend☆1.
is the medal difference for phoenix a bug? febby is the phoenix and his medal on the overlay is 887 (correct) but !gm shows 239 (wrong)
https://discord.com/channels/1039887907705593876/1053532358789308416/1053572809286234112
Then make 2 different commands and can toggle them as well
!medal !mmr
some users have preferred usernames that are weird characters and dont match their twitch username
save both
add +win +loss counter to the day for stream
allow commands to increase/decrease
this is if it gets out of sync will let streamers manually update it
reset on stream start / end
Would be nicer if you have some variables for user to pick up. Like Gorgc used midas but <45 seconds> late :meowthumbsup:
suggestion from discord
Count bounty runes. How many our team gets. If possible in events
dont open dotabod bets if streamer is offline
subscribe to streamer online/offline events
this forces streamers to manually refresh the dotabod source in OBS
this also prevents minimap blocker from going away when match ends, as the socket is broken and cant talk to server
Track timings of items "Streamer has purchased midas 1 minute earlier than their average" or "This is the highest networth streamer has had on Tiny before minute 15"
Have entire chat authenticate with dotabod to login with steam to validate dotabuff or opendota ranking and get average chat rank, top ranked chatter, and lowest ranked chatter
something to disable globally
this should part from the channel as well
maybe even switch all supabase to mongodb while we're at it. keeps connections local and blazing fast if memory isn't too bad
hey man, warching waga rn and realized something. wouldn't it be cool if you add a command for dotabod that shows the picking sequence like for example: sniper is 4th pick and allows us to know why he got countered hard
need to track match id to prediction id and only close if its equal. lookup match id for a prediction otherwise and close it if we started a new game by checking outcome from steam
or at least ping mods in chat if its too hard to figure out state of last game , like if its abandoned etc
i removed it to allow ez WL checking after a game
the dota livestats api doesnt tell me party size, so have to call opendota after or something to confirm
basically delay anything except commands
allow this to be configurable
need a global say(channel, msg, nDelay)
probably
GSI Delay (in seconds)
Specify the amount of seconds to delay the GSI data by. This delay should match your stream delay. (max 300s)
also add command to save match from spectate
dont show streamer overlay url to mods, as this should be private
reach out to twitch to get a list of mods for the streamer
add mod log for actions taken for streamer
with !lore, use a Tldr bot for posting hero lore in chat so its not too long. and link to the lore on dota2.com
Poll to ask chat to ban the person that got through after using !pleb
from dotabod dashboard. needs frontend as well
its an online video game with real people you Can’t just pause it - sound f9 on pause
this might be a frontend only issue since we already get paused event there
im dockerizing the app
im also trying to convert to redis instead of local memory so that different services can tap into the events and current gsi data
you can fully hide mmr but you can't hide mmr for certain accounts
this should hide the badge ingame when playing that account
or give an option to show the main badge ingame?
use protobuff probably? or check if match details tells you if its party
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.