Fix convert yt url message being too long

* Add long message check
* Minor lint rule fix
This commit is contained in:
BreadTube 2026-05-14 23:20:55 +09:00
commit 6d84205425
5 changed files with 60 additions and 22 deletions

View file

@ -31,6 +31,7 @@ class ApiEncoder(json.JSONEncoder):
class DiscordManager:
MIN_API_VERSION = 9
TOO_MANY_REQUEST_STATUS = 429
MAX_MESSAGE_LENGTH = 2000
@dataclass
class RateLimit:
@ -151,6 +152,9 @@ class DiscordManager:
def create_message(self, channel: TextChannel, params: Api.Message.CreateParams, request_timeout: float,
upload_files: list[tuple[str, FileMime, bytes]] | None = None) -> Message:
if 'content' in params and len(params['content']) >= self.MAX_MESSAGE_LENGTH:
raise RuntimeError(f"Cannot send message of length {len(params['content'])}"
f', max length is {self.MAX_MESSAGE_LENGTH}')
_, message_info = self._send_request(
*Api.Message.create(channel_id=channel.id), request_timeout=request_timeout,
data=json.dumps(params, cls=ApiEncoder).encode(), upload_files=upload_files)