ToogaInc / ToogaBooga

An open-source Realm of the Mad God Discord chat bot designed for advanced cross-verification, moderation, and raid management.
MIT License
8 stars 4 forks source link

Automatic Rune/Key HC that refreshes itself every ~30 mins #251

Open sjkd23 opened 1 year ago

sjkd23 commented 1 year ago

We want to add an automatic headcount for runes that raiders can react to, so that RLs can see if/how many runes they have without even putting up an HC of their own.

This will hopefully help our RLs put up more runs, since they wont have to commit to a headcount and then risk having to abort it.

dmansdman commented 1 year ago

has hold flag? Will hold off until no longer on hold.

dmansdman commented 1 year ago

Reaction Poll

dmansdman commented 1 year ago

image

dmansdman commented 1 year ago

/* reactionmanager

reactions: list of reactions
lastResetTime: time of last reset
message: the message containing the embed

What happens is:

when bot starts (or if we have a command)
send first message with embed
add reactions and start the collectors 
run the update message timer thing

when times out:
stop the collectors
delete the message
clear the data

resend start command

updateReactionMessage(){

    if(currentTime > lastResetTime + 15mins){
        stop listeners
        empty reactions list
        delete Message
        resend it
    }

    embed = getReactionsEmbed()
    update message with the new embed
    call itself after 60s
}

 getReactionsEmbed(){

    load the list of reactions
    format an embed based on these (number of each rune type, total number of keys)
    return the embed
 }

 reactionsCollector(){

    listens to the buttons on the message
    depending on which button was pressed, do:
        add reaction
        send message
        if its key, do more stuff
        if all rune, ping

 }

 Look in HeadcountInstance for how collectors are started and stopped
 in around line 1000

*/