Merge branch 'lendemor/restruct' of gitlab.epicsparrow.com:Anselme/perefouras into lendemor/restruct

This commit is contained in:
Lendemor 2023-06-17 16:22:13 +02:00
commit 95ae305f9e
2 changed files with 27 additions and 9 deletions

View File

@ -27,6 +27,14 @@ class FourasModule(BaseModule):
self._client.answers = [line.strip() for line in a_file.readlines()] self._client.answers = [line.strip() for line in a_file.readlines()]
print(f"Loaded {len(self._client.riddles)} riddles") print(f"Loaded {len(self._client.riddles)} riddles")
def save(self):
dump = {}
for key, value in self._client.ongoing_riddles.items():
dump_channel = dict(value)
dump_channel["message"] = dump_channel["message"].id
dump[key.id] = dump_channel
return dump
def new_riddle(self, channel, index): def new_riddle(self, channel, index):
current_riddle = dict( current_riddle = dict(
index=index, index=index,
@ -119,20 +127,15 @@ class FourasModule(BaseModule):
await message.channel.send(ABOUT.format(user=author_user.mention, url=API_URL)) await message.channel.send(ABOUT.format(user=author_user.mention, url=API_URL))
return return
if message_content == "debug fouras": if message_content == "debug":
dump = {} dump = {}
cooldowns = {}
for key, value in self._client.cooldown.items():
channel_name = await self.get_channel_name(key)
cooldowns[channel_name] = value - time.time()
dump["poil_au_cooldown"] = cooldowns
for key, value in self._client.ongoing_riddles.items(): for key, value in self._client.ongoing_riddles.items():
dump_channel = value dump_channel = dict(value)
dump_channel.pop("message", None) dump_channel.pop("message", None)
dump_channel["answer"] = "||{0}||".format(dump_channel["answer"]) dump_channel.pop("answer", None)
channel_name = await self.get_channel_name(key) channel_name = await self.get_channel_name(key)
dump[channel_name] = dump_channel dump[channel_name] = dump_channel
await message.author.send(json.dumps(dump, ensure_ascii=False, indent=4)) await message.author.send("```json\n{0}```".format(json.dumps(dump, ensure_ascii=False, indent=4)))
return return
# if current channel has ongoing riddle # if current channel has ongoing riddle

View File

@ -14,6 +14,12 @@ class RhymesModule(BaseModule):
with open("rhymes.json", "r") as f: with open("rhymes.json", "r") as f:
self.rhymes = json.load(f) self.rhymes = json.load(f)
def save(self):
dump = {}
for key, value in self.cooldown.items():
dump[key.id] = value - time.time()
return dump
def get_last_word(self, ch: str) -> str: def get_last_word(self, ch: str) -> str:
truncated = ch truncated = ch
while True: while True:
@ -33,6 +39,15 @@ class RhymesModule(BaseModule):
async def handle_message(self, message): async def handle_message(self, message):
message_content = message.content.lower() message_content = message.content.lower()
if message_content == "debug":
dump = {}
for key, value in self.cooldown.items():
channel_name = await self.get_channel_name(key)
dump[channel_name] = value - time.time()
await message.author.send('```json\n{0}```'.format(json.dumps(dump, ensure_ascii=False, indent=4)))
return
last_word = self.get_last_word(message_content) last_word = self.get_last_word(message_content)
if message.author != self._client.user and last_word: if message.author != self._client.user and last_word:
poil = self.poil_auquel(last_word) poil = self.poil_auquel(last_word)