From f3b257b3426601eb3366c67e8aa224ebcdb00565 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Sun, 12 Jun 2016 22:41:30 -0400 Subject: [PATCH] Fix bug with uploading file-like objects. I would require bytes-like objects instead due to its usage inside the HTTPClient. Release this restriction so old `send_file` code works. --- discord/client.py | 4 ++-- discord/http.py | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/discord/client.py b/discord/client.py index 3ef5bd748..4c1e36d19 100644 --- a/discord/client.py +++ b/discord/client.py @@ -49,7 +49,7 @@ import aiohttp import websockets import logging, traceback -import sys, re +import sys, re, io import tempfile, os, hashlib import itertools import datetime @@ -873,7 +873,7 @@ class Client: try: with open(fp, 'rb') as f: - buffer = f.read() + buffer = io.BytesIO(f.read()) if filename is None: filename = fp except TypeError: diff --git a/discord/http.py b/discord/http.py index 15cd08ef9..d83989204 100644 --- a/discord/http.py +++ b/discord/http.py @@ -29,7 +29,6 @@ import asyncio import json import sys import logging -import io import inspect import weakref from random import randint as random_integer @@ -239,7 +238,7 @@ class HTTPClient: form.add_field('content', str(content)) form.add_field('tts', 'true' if tts else 'false') - form.add_field('file', io.BytesIO(buffer), filename=filename, content_type='application/octet-stream') + form.add_field('file', buffer, filename=filename, content_type='application/octet-stream') return self.post(url, data=form, bucket='messages:' + str(guild_id))