Matchy matches matchees
Find a file
2024-08-11 12:16:23 +01:00
.github/workflows Fix the python version and cache pip 2024-08-11 10:32:52 +01:00
.vscode Ensure autopep8 uses the venv 2024-08-11 11:36:43 +01:00
.gitignore Rename history to state as it's now storing more than just the history 2024-08-11 12:16:23 +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 Rename history to state as it's now storing more than just the history 2024-08-11 12:16:23 +01:00
matching_test.py Rename history to state as it's now storing more than just the history 2024-08-11 12:16:23 +01:00
matchy.py Rename history to state as it's now storing more than just the history 2024-08-11 12:16:23 +01:00
README.md Add a few more TODO entries 2024-08-11 11:56:55 +01:00
requirements.txt Add flake to the requirements.txt 2024-08-11 10:33:56 +01:00
run.sh Fix the venv check in the run script 2024-08-11 10:42:10 +01:00
state.py Rename history to state as it's now storing more than just the history 2024-08-11 12:16:23 +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
  • venv - Used for the python virtual env, specs in requirements.txt

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
  • Version the config and history files
  • Implement /signup rather than using roles
  • Implement authorisation scopes instead of just OWNER values
  • Improve the weirdo