aboutsummaryrefslogtreecommitdiffstats
path: root/bot/exts/core
diff options
context:
space:
mode:
Diffstat (limited to 'bot/exts/core')
-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."""