Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Voice activity XP contribution #199

Open
Fripe070 opened this issue Jul 30, 2024 · 10 comments
Open

Voice activity XP contribution #199

Fripe070 opened this issue Jul 30, 2024 · 10 comments
Assignees

Comments

@Fripe070
Copy link
Contributor

Problem

There are multiple cases where a server member might be far more active in voice channels than in text channels. At the moment, voice activity is at all factored into the XP calculation, leading to these members having extremely low levels despite being some of the most active ones.

Proposed solution

To solve this issue, I propose that voice activity (perhaps only during microphone activation? I can’t recall if that’s visible to the bot without being in the call) contributes to a secondary experience stat, that is added onto the currently existing XP system upon level calculation.
The advantage of it being a separately tracked statistic is that it is trivial to dynamically change how much influence voice activity should have upon the calculated levels on a per-server configurable basis.

@Fripe070
Copy link
Contributor Author

In case a separately tracked statistic would be too annoying to implement, it might be fine to pre-multiply the XP when adding it? Though I’m unsure if that would work too well

@randomairborne
Copy link
Owner

A separately tracked stat would be perfectly fine to implement. I think the annoying part here is just tracking voice states.

Do you want to work on this at all?

@Fripe070
Copy link
Contributor Author

Do you want to work on this at all?

I'm not familiar with how experienced is structured, but maybe. I wouldn't count on it though

@randomairborne
Copy link
Owner

randomairborne commented Aug 14, 2024

I can help if you wish. I might also be able to work on this directly at some point.

@strich3
Copy link

strich3 commented Nov 4, 2024

Is this still planned?

@randomairborne
Copy link
Owner

randomairborne commented Nov 4, 2024

Yes, this is still planned for someday. I have a few other things I want to get to first, and the demand for this has seemed pretty low. If you really want it, I will get to it (and please let me know, so i can prioritize accordingly)- however, if you know a little rust, I can also absolutely coach you through working on the codebase.

@randomairborne randomairborne self-assigned this Dec 31, 2024
@randomairborne
Copy link
Owner

Thinking about the design for this- my main concern is giving people new roles? that seems like it would be a lot of database requests made passively? not sure

@strich3
Copy link

strich3 commented Jan 1, 2025

Yes, this is still planned for someday. I have a few other things I want to get to first, and the demand for this has seemed pretty low. If you really want it, I will get to it (and please let me know, so i can prioritize accordingly)- however, if you know a little rust, I can also absolutely coach you through working on the codebase.

I would love to, but I‘m currently overrun by school. If I ever have free time, why not?

@strich3
Copy link

strich3 commented Jan 1, 2025

Thinking about the design for this- my main concern is giving people new roles? that seems like it would be a lot of database requests made passively? not sure

Maybe just every minute to the database and checking?

@randomairborne
Copy link
Owner

On the other hand, database load is currently very low. So it may not be a problem. The other problem is just tracking who's in voice, and having an interval timer for each- not sure how i feel about running an arbitrary number of background tasks? on the other hand, that's what tokio is designed for.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants