guild_memory_store.py 1.15 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
"""

Litecord
Copyright (C) 2018-2019  Luna Mendes

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 3 of the License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

"""
Luna's avatar
Luna committed
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

class GuildMemoryStore:
    """Store in-memory properties about guilds.

    I could have just used Redis... probably too overkill to add
    aioredis to the already long depedency list, plus, I don't need
    """
    def __init__(self):
        self._store = {}

    def get(self, guild_id: int, attribute: str, default=None):
        """get a key"""
        return self._store.get(f'{guild_id}:{attribute}', default)

    def set(self, guild_id: int, attribute: str, value):
        """set a key"""
        self._store[f'{guild_id}:{attribute}'] = value