Comments (5)
People are automatically updated after chatting in a channel RoVer can see
from rover.
That's pretty resource intensive, updating a users username and role by contacting roblox every time a message is sent by a verified user
from rover.
@Kiansjet That's not how it works. It's cached in memory.
from rover.
There are some big challenges with this.
- RoVer restarts on a regular interval. If RoVer restarts in the middle of updating everyone, the progress will be lost unless it's saved. Right now we don't have any good way to do this, since RoVer doesn't save any state information at all (only configuration, which is different from this).
- RoVer averages about 166 requests per minute (2.7 per second) so adding this to update every single member would add a lot of strain. Perhaps could get around this by using a prioritized queue. I wouldn't want the queue to go one at a time though, because that would be too slow and induce idle time while we wait for requests to come back. At the same time, we can't do too many at once because we will likely hit some sort of pending request limit on the APIs we access (almost all of them on Roblox's servers, some unofficial APIs) and they'll think we're trying to attack them (which, even if our intentions are good, sending that many requests at once would be an attack regardless of the intent).
- By a prioritized queue, I mean we have two queues wherein the system runs a loop that pulls the first few pending verifications off the front of the first queue, and if the first queue is empty, then go to the second queue. When someone joins a server or runs !verify, we add them to the front of the first queue, so they will always get verified before we go back to the second queue for lower-priority verifications.
- Even if we did a queue, that brings back the same problem as before with restarts clearing it. On the other hand, if we save the queue, then the queue could get so large from really big servers (or people being abusive with it) that it could take hours or actual days before a server's full update actually starts going. Not ideal either. Verifications can take anywhere from 1 to 5 seconds on average but can even get into the 20 second area depending on group rank bindings.
- Do guilds switch what shard ID they are on from one restart to the next if the number of shards changes? (Or even if it doesn't change?)
from rover.
Going to close this for now, as I don't think this will work. Best solution is to just make a channel for people to send a message in to update their roles.
from rover.
Related Issues (20)
- Roblox User Membership info api HOT 3
- Help HOT 1
- npm WARN deprecated [email protected]: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial). npm WARN deprecated [email protected]: CircularJSON is in maintenance only, flatted is its successor. HOT 1
- Bot not starting HOT 4
- Make join DM clear it is written by the server owner HOT 3
- Make it so RoVer will deny people whos Roblox's Account are under 13 HOT 1
- Diagnostic Command
- Add 'unverify' as an alias of 'support' HOT 3
- I can't start the bot... HOT 1
- DiscordMember double fetch? HOT 1
- Former Usernames Appearing HOT 3
- Bot not starting... HOT 2
- Repl Crash HOT 1
- Use rover for antoher website HOT 4
- displayname & smartname missing from https://rover.link/
- Bot Starting Error HOT 2
- Add support for removing Verified Role on users who have unverified.
- how to fix that HOT 1
- The bot keeps blacklisting the server HOT 2
- Add the ability to contribute to translations
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.
from rover.