Merge pull request #11 from mdiluz/follow-up-fixes

A few follow-up fixes
This commit is contained in:
Marc Di Luzio 2024-08-16 10:27:14 +01:00 committed by GitHub
commit 37e1e7a7ae
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 17 additions and 11 deletions

View file

@ -3,7 +3,7 @@
Matchy matches matchees.
Matchy is a Discord bot that groups up users for fun and vibes. Matchy can be installed on your server by clicking [here](https://discord.com/oauth2/authorize?client_id=1270849346987884696). Matchy only allows authorised users to trigger posts in channels.
Matchy is a Discord bot that groups up users for fun and vibes. Matchy can be installed on your server by clicking [here](https://discord.com/oauth2/authorize?client_id=1270849346987884696&permissions=0&integration_type=0&scope=bot). Matchy only allows authorised users to trigger posts in channels.
![Tests](https://github.com/mdiluz/matchy/actions/workflows/test.yml/badge.svg)

View file

@ -24,8 +24,8 @@ bot = commands.Bot(command_prefix='$',
@bot.event
async def setup_hook():
await bot.add_cog(matchy.cogs.matchy.Cog(bot, state))
await bot.add_cog(matchy.cogs.owner.Cog(bot, state))
await bot.add_cog(matchy.cogs.matchy.MatchyCog(bot, state))
await bot.add_cog(matchy.cogs.owner.OwnerCog(bot, state))
@bot.event

View file

@ -8,15 +8,15 @@ from discord.ext import commands, tasks
from datetime import datetime, timedelta, time
import matchy.views.match as match
import matching
import matchy.matching as matching
from matchy.files.state import State, AuthScope
import util
import matchy.util as util
logger = logging.getLogger("cog")
logger.setLevel(logging.INFO)
class Cog(commands.Cog):
class MatchyCog(commands.Cog):
def __init__(self, bot: commands.Bot, state: State):
self.bot = bot
self.state = state

View file

@ -9,7 +9,7 @@ logger = logging.getLogger("owner")
logger.setLevel(logging.INFO)
class Cog(commands.Cog):
class OwnerCog(commands.Cog):
def __init__(self, bot: commands.Bot, state: State):
self._bot = bot
self._state = state

View file

@ -1,6 +1,8 @@
"""File operation helpers"""
import json
import shutil
import pathlib
import os
def load(file: str) -> dict:
@ -12,8 +14,12 @@ def load(file: str) -> dict:
def save(file: str, content: dict):
"""
Save out a content dictionary to a file
Stores it in an intermediary file first incase the dump fails
"""
# Ensure the save directory exists first
dir = pathlib.Path(os.path.dirname(file))
dir.mkdir(parents=True, exist_ok=True)
# Store in an intermediary directory first
intermediate = file + ".nxt"
with open(intermediate, "w") as f:
json.dump(content, f, indent=4)

View file

@ -6,7 +6,7 @@ import discord
import re
import matchy.files.state as state
import matching
import matchy.matching as matching
logger = logging.getLogger("match_button")
logger.setLevel(logging.INFO)

View file

@ -5,7 +5,7 @@ import pytest_asyncio
import matchy.files.state as state
import discord.ext.test as dpytest
from matchy.cogs.owner import Cog
from matchy.cogs.owner import OwnerCog
# Primarily borrowing from https://dpytest.readthedocs.io/en/latest/tutorials/using_pytest.html
# TODO: Test more somehow, though it seems like dpytest is pretty incomplete
@ -20,7 +20,7 @@ async def bot():
b = commands.Bot(command_prefix="$",
intents=intents)
await b._async_setup_hook()
await b.add_cog(Cog(b, state.State(state._EMPTY_DICT)))
await b.add_cog(OwnerCog(b, state.State(state._EMPTY_DICT)))
dpytest.configure(b)
yield b
await dpytest.empty_queue()