Matchy matches matchees
Find a file
2024-08-11 10:32:52 +01:00
.github/workflows Fix the python version and cache pip 2024-08-11 10:32:52 +01:00
.vscode Add vscode files 2024-08-10 09:45:22 +01:00
.gitignore Add loading config and history from memory 2024-08-10 10:06:13 +01:00
config.py Implement a history-based matching algorythm 2024-08-10 15:12:14 +01:00
coverage.sh Update the README with more infomation 2024-08-10 22:04:21 +01:00
files.py Implement a history-based matching algorythm 2024-08-10 15:12:14 +01:00
history.py Implement a history-based matching algorythm 2024-08-10 15:12:14 +01:00
matching.py Fix whitespace 2024-08-10 21:53:20 +01:00
matching_test.py Update the matching algorythm to take into account role similarity 2024-08-10 21:47:32 +01:00
matchy.py Update the matching algorythm to take into account role similarity 2024-08-10 21:47:32 +01:00
README.md Add a tests badge 2024-08-10 22:49:50 +01:00
requirements.txt Add venv requirements file 2024-08-11 10:26:21 +01:00
run.sh Use a release branch for the github action 2024-08-10 22:24:58 +01:00

Matchy

Matchy matches matchees.

Tests

Matchy is a Discord bot that groups up users for fun and vibes. Matchy can be installed by clicking here.

Commands

/match [group_min: int(3)] [matchee_role: str(@Matchee)]

Matches groups of users with a given role and posts those groups to the channel. Tracks historical matches and attempts to match users to make new connections with people with divergent roles, in an attempt to maximise diversity.

$sync and $close

Only usable by OWNER users, reloads the config and syncs commands, or closes down the bot. Only usable in DMs with the bot user.

Dependencies

  • python3 - Obviously

Python modules

  • discord.py - Discord bot functionality
  • pytest - Testing
  • schema - File format validation
  • pytest-cov - Code coverage testing

Config

Matchy is configured by a config.json file that takes this format:

{
    "token": "<<github bot token>>",
    "owners": [
        <<owner id>>
    ]
}

User IDs can be grabbed by turning on Discord's developer mode and right clicking on a user.

TODO

  • Write bot tests with dpytest
  • Add scheduling functionality
  • Improve the weirdo