Skip to content

Feature Planning

Mingde Yin edited this page May 20, 2023 · 2 revisions

The purpose of this page is to outline planned features for Comrade NEXT.

Reworks from Comrade V5 and Requiem (V6)

Dynamic Emote System

  • Porting full system over to Python (ditching the Go bot)
  • Keeping data hosted on MongoDB
  • Changing system to explicitly split into two different streams
    1. Big Emotes
      • Retains pretty much identical functionality to current big emotes
    2. Discord Emojis
      • Changed to allow for loading of emojis into the server using different strategies (e.g. LRU caching)
  • Document schema is changing; both types will be stored as serialized dataclasses with an underlying structure much more similar to how emojis are defined in Discord's API
  • More methods for finding and extracting emojis from other sources
  • (Stretch) adding functionality for parsing, modifying, loading, stealing stickers

Macros

  • Completely transform the macro language into a restricted subset of Python using asteval
    • Add in full feature functionality from Comrade V6 System (e.g. using random methods)
  • Allow for evaluation of any available slash command using classic prefixed commands, converting arguments automatically as needed

Reminders

  • Reworked system to function similarly to Slack's reminders

Live Patching

  • Using jurigged as a part of a system to patch the bot automatically whenever I push and tag commits to main

New Additions

Project Organization, Tests

  • Applying everything I've learned about developing good software over the past year
  • Bot will be split into online and offline segments, with offline segments having thorough automated testing
  • (Stretch) online automated testing

Clone this wiki locally