Hi, I'm Amelie

There are 18 of these


Sahasrara

Sahasrara is an open-source bot I built and maintain in Haskell whose primary purpose is to pull card data and images from NetrunnerDB.

It also provides a number of additional commands such as searching for cards, loading random cards (optionally under a given restriction), displaying the definition of Netrunner terminology, generating random selections of card and packs, and flipping coins for determining sides.

Sahasrara is currently the biggest public Netrunner Discord bot, replacing Jeeves and its predecessor Beanstalk, in use in over 50 servers spanning thousands of members.


Tablebot

Tablebot is the official bot for the Warwick Tabletop Games and Roleplaying Society's Discord server. I helped build the framework for the bot; most notably the exception handling, the random module, the contributor's guide, and a number of utility functions and parser improvements. The initial functionality of Sahasrara (card fetching and searching) was first developed in Tablebot before being separated into its own fork of the code for use in other servers.

Tablebot, and by extension Sahasrara, use a number of Haskell libraries. Most notable is Megaparsec, which we extended to implement command arguments at the type level.




Apollo

Apollo is the official bot for the University of Warwick Computing Society's Discord server. Apollo supports a wide range of features from time management, applying karma to phrases, setting reminders, and rolling dice.

During my time in the society I supported Apollo with my own functionality and maintenance, most notably in the form of the !roll command, which implements a micro functional language I called Funky supporting number and string types. It started as a dice roller but I extended it to cover general arithmetic, conditional statements, and function definitions. It's technically Turing Complete, but lacks convenient syntactic sugar. I intend to return to the language in the future and extend it with I/O functionality within Discord messages, using pointers to previous Discord messages as inputs or modules.

Funky was implemented using the Parsita Python library.


Parnassius

Parnassius is a sibling bot to Apollo responsible for the auto-moderation tools in the Discord server, for which I built some of the initial codebase. The repository remains private for security purposes.