Brief Overview

Lionpaw is a Discord Bot made within C#. Its purpose is to help with the management of roleplay servers and provide tools to drive member engagement. The bot features moderation tools, character parsing, user role playing statistics, among other fun features like a built in gacha system. At its peak, the bot managed around five different discord servers for a total user base of around five hundred people.

Some technical features include:

  • Async C# with DSharpPlus.
  • Basic persistent JSON data storage.
  • Discord, Google, and real-world Weather API integration.
  • Document parsing to bring unstructured data into a structured format, utilizing regexes, language structure, and a fallback template-structure.
  • Event driven architecture to respond to events in real-time.

Some design features include:

  • Customizable plugin/feature boggling.
  • Multi-server scaling.
  • Optional opt-in per user features .
  • User retention tackling.
Lionpaw
Lionpaw

Synopsis

I built Lionpaw originally to help one of my friends flesh out their Warrior Cats RP server - hence the name “Lionpaw”. The actual substance of the roleplaying content became inconsequential once I ported the framework to another friend's Pokémon themed server, but the name stuck since it became a joke within our group.

For those unfamiliar with role-playing, a helpful correlation that is mainstream is that it's a lot like Dungeon and Dragons. Users create their own character(s) and interact with each other to create a developing story playing as those characters. While this can be done through voice, the medium that is more popular (and the medium Lionpaw was created for) is text. These laid the foundation of what Lionpaw did.

Lionpaw

Core Features

Lionpaw's features were sectioned off into modules, of which server owners could enable or disable to customize their experience. For instance, Lionpaw had built in moderation features, but if server owners already had a more popular moderation bot (E.g. Carl Bot), they can disable this module entirely. This can be done at any time, but was typically recommended when it was first added to a server.

The core features that defined Lionpaw include character management as well as automatic document parsing. These two features were the most utilized features of Lionpaw, as it streamlined user management within the server.

Most roleplay servers have users submit character ideas and concepts for approval. The most common practice was to create all your character information in a Google Document or PowerPoint, of which the server's staff team can review for accuracy or any offensive behavior. As it can be imagined, this can be a time consuming process, and it can be hard to track characters that have already been approved and that have yet to be approved.

Lionpaw alleviates both of these issues by automatically parsing the Google Document and grabbing all relevant information about the character before categorizing them and stashing them in its database. Lionpaw stores standard fields like the character's name, gender, and owner, all of which can be queried by anyone by interacting with Lionpaw. This can also be helpful for server administrators, as they can very easily see statistics regarding guild coverages, user characters, as well as if a name is already taken.

Lionpaw also had a weather feature, which server owners could set to monitor a specific weather station on Earth. Lionpaw would then query that station before deciding pseudo randomized weather that would make sense for that area. This helped users have more to roleplay around, as they can refer to Lionpaw's given weather to have an idea on how to create a scene.

Lionpaw

User Experience

Another big aspect of Lionpaw is that it gives users an easy way to track their own statistics and roleplays. Users that opt-in to statistics tracking can see fun stats like their favorite words and punctuation to use, their most played and played with character/user, and how many words they have typed. Another feature was that it would notify users when it was their time to respond to a roleplay, and remind them according to their preference.

One server also requested a gacha system, of which users can use tokens they obtain by participating to roll for characters. This became probably the most popular user feature of Lionpaw, as people really enjoyed pulling and comparing their database of characters. Players could also use their pulls in integrated games. An example is that a user's pulled characters could be assigned to manage a shop, of which other users could interact with.

Moderation Features

Lionpaw held a database of problematic users that servers could report, and then notify other server owners if those problematic people joined. Other moderation features included hateful language detection as well as tracking nickname and profile picture changes.