Skip to content

Discord bot for the Bazooka Alliance Server (Alliance for Command and Conquer: Rivals Game)

Notifications You must be signed in to change notification settings

c-git/bazooka-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bazooka Bot

Source code for the Discord bot of the Bazooka Alliance Server (Alliance for Command and Conquer: Rivals Game)

This is the rust replacement for the bot originally written in python.

Features / TODO list

Note: Some checked off items my not be complete only started but at the time of writing (2024-04-07) all are completed. If they are not there will be TODO's in the code itself. The check off only denotes the start of the feature as then the TODOs are moved into the code as maintaining two places is not sustainable.

Alliance Management

Unranked event

  • /unranked idea
    • add(description)
    • edit(id, new_description)
    • remove(id)
    • vote(id)
    • unvote(id)
    • vote_all
    • unvote_all
  • /unranked score
    • set(score)
    • remove
    • results
    • other_set(user, score) (Auth Req)
    • other_remove(user) (Auth Req)
    • set_message(message) (Auth Req)
  • start_event (See event start for details) (Auth Req)
  • /unranked schedule_start_event(date_time) (Auth Req)

Event Start

At the start of unranked each season the following should happen. It should be scheduled manually each season by an officer.

  • Verify user is authorized
  • Print current info before clearing
  • Clear the scores for the last season
  • Determine the winning idea (Highest votes or lower ID if tied)
  • Set the new unranked message based on the winning idea (Should show with the scores so people know what the unranked is).
  • Clear the ideas. Discard any ideas less than or equal to discard_threshold votes plus the winning one.
  • Announce the new unranked challenge

Nice to have

  • Add ability for owner to download the data files to facilitate testing before uploading a version
  • Setup deploy from CI - https://github.com/shuttle-hq/deploy-action
  • Setup test deployment on shuttle (idle time of about 15 minutes should be good)
    • Naming
    • From release notes from 0.40.0
      • Added a --secrets arg to the run and deploy commands that allows you to use a different secrets file than the default
  • Add message ID to the trace at ingress
  • Sanitize input for markdown like ** for example rn causes problems with bolding the ideas
  • Add web page (with info and to wake up bot, would help for test bot that would go to sleep) https://docs.shuttle.rs/templates/tutorials/custom-service
  • Restrict unranked commands to that channel
  • Send a status messages when it connects (including the version)
  • Change results (vote counts and leader board) to (embeds)[https://docs.rs/poise/latest/poise/serenity_prelude/struct.CreateMessage.html#examples]
  • Make reset a 2 stage process with a confirmation
  • Add a permission that can be used as a default_permission to tell slash commands just not to show if a user doesn't have it instead of returning a no permissions message

About

Discord bot for the Bazooka Alliance Server (Alliance for Command and Conquer: Rivals Game)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages