aboutsummaryrefslogtreecommitdiffstats
path: root/bot/exts/core/internal_eval
diff options
context:
space:
mode:
authorGravatar Bradley Reynolds <[email protected]>2024-07-08 17:36:27 -0500
committerGravatar GitHub <[email protected]>2024-07-08 17:36:27 -0500
commit9063b750ff2aace7cb12b264eb6f11edc68e1e7f (patch)
treebf2638231c923cc22e65c979479c11026e0b1518 /bot/exts/core/internal_eval
parentDisable Poetry package mode (diff)
parentDisplay word on hangman timeout (#1561) (diff)
Merge branch 'main' into br/gh1560br/gh1560
Diffstat (limited to 'bot/exts/core/internal_eval')
-rw-r--r--bot/exts/core/internal_eval/_internal_eval.py18
1 files changed, 9 insertions, 9 deletions
diff --git a/bot/exts/core/internal_eval/_internal_eval.py b/bot/exts/core/internal_eval/_internal_eval.py
index 39ce558a..15db8d40 100644
--- a/bot/exts/core/internal_eval/_internal_eval.py
+++ b/bot/exts/core/internal_eval/_internal_eval.py
@@ -4,6 +4,7 @@ import textwrap
import discord
from discord.ext import commands
from pydis_core.utils.logging import get_logger
+from pydis_core.utils.paste_service import PasteFile, PasteTooLongError, PasteUploadError, send_to_paste_service
from bot.bot import Bot
from bot.constants import Client, Roles
@@ -86,17 +87,16 @@ class InternalEval(commands.Cog):
async def _upload_output(self, output: str) -> str | None:
"""Upload `internal eval` output to our pastebin and return the url."""
data = self.shorten_output(output, max_length=MAX_LENGTH)
+ file = PasteFile(content=data, lexer="text")
try:
- async with self.bot.http_session.post(
- "https://paste.pythondiscord.com/documents", data=data, raise_for_status=True
- ) as resp:
- data = await resp.json()
-
- if "key" in data:
- return f"https://paste.pythondiscord.com/{data['key']}"
- except Exception:
- # 400 (Bad Request) means there are too many characters
+ resp = await send_to_paste_service(
+ files=[file],
+ http_session=self.bot.http_session,
+ )
+ return resp.link
+ except (PasteTooLongError, PasteUploadError):
log.exception("Failed to upload `internal eval` output to paste service!")
+ return None
async def _send_output(self, ctx: commands.Context, output: str) -> None:
"""Send the `internal eval` output to the command invocation context."""