Add a preview to truths
All checks were successful
Build and Publish college-bot-v2 / build_and_publish (push) Successful in 13s

This commit is contained in:
Nexus 2024-06-07 20:56:23 +01:00
parent 7f500db043
commit 8b21954443
Signed by: nex
GPG key ID: 0FA334385D0B689F

View file

@ -1053,14 +1053,13 @@ class Ollama(commands.Cog):
ctx.author, ctx.author,
system system
) )
async with httpx.AsyncClient() as client:
r = CONFIG["truth"].get("api", "https://bots.nexy7574.co.uk/jimmy/v2/api") r = CONFIG["truth"].get("api", "https://bots.nexy7574.co.uk/jimmy/v2/api")
username = CONFIG["truth"].get("username", "1") username = CONFIG["truth"].get("username", "1")
password = CONFIG["truth"].get("password", "2") password = CONFIG["truth"].get("password", "2")
response = await client.get( async with httpx.AsyncClient(base_url=r, auth=(username, password)) as http_client:
r + "/truths", response = await http_client.get(
"/truths",
timeout=60, timeout=60,
auth=(username, password),
) )
response.raise_for_status() response.raise_for_status()
truths = response.json() truths = response.json()
@ -1130,8 +1129,17 @@ class Ollama(commands.Cog):
if similar: if similar:
if len(similar) > 1: if len(similar) > 1:
lns = [] lns = []
for truth_id, _ratio in similar.items(): keys = sorted(similar.keys(), key=lambda k: similar[k], reverse=True)
lns.append(f"* `{truth_id}`: {_ratio:.2f}%") for truth_id in keys:
_ratio = similar[truth_id]
truth = discord.utils.get(truths, id=truth_id)
first_line = truth.content.splitlines()[0]
preview = discord.utils.escape_markdown(textwrap.shorten(first_line, 100))
lns.append(f"* `{truth_id}`: {_ratio}% - `{preview}`")
if len(lns) > 5:
lc = len(lns) - 5
lns = lns[:5]
lns.append(f"*... and {lc} more*")
embed.add_field( embed.add_field(
name="Possibly repeated truth", name="Possibly repeated truth",
value="This truth was similar to the following existing ones:\n" + "\n".join(lns), value="This truth was similar to the following existing ones:\n" + "\n".join(lns),
@ -1140,9 +1148,12 @@ class Ollama(commands.Cog):
else: else:
truth_id = tuple(similar)[0] truth_id = tuple(similar)[0]
_ratio = similar[truth_id] _ratio = similar[truth_id]
truth = discord.utils.get(truths, id=truth_id)
first_line = truth.content.splitlines()[0]
preview = discord.utils.escape_markdown(textwrap.shorten(first_line, 512))
embed.add_field( embed.add_field(
name="Possibly repeated truth", name="Possibly repeated truth",
value=f"This truth was {_ratio:.2f}% similar to `{truth_id}`." value=f"This truth was {_ratio}% similar to `{truth_id}`.\n>>> {preview}"
) )
embed.set_footer( embed.set_footer(