Coder Social home page Coder Social logo

Feature Request: !update @everyone about rover HOT 5 CLOSED

evaera avatar evaera commented on May 29, 2024
Feature Request: !update @everyone

from rover.

Comments (5)

PhoenixShay avatar PhoenixShay commented on May 29, 2024

People are automatically updated after chatting in a channel RoVer can see

from rover.

Kiansjet avatar Kiansjet commented on May 29, 2024

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.

evaera avatar evaera commented on May 29, 2024

@Kiansjet That's not how it works. It's cached in memory.

from rover.

evaera avatar evaera commented on May 29, 2024

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.

evaera avatar evaera commented on May 29, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.