发送二维码给不和谐的用户
Sending qr codes to discord user
我的 discord 机器人在某个命令后创建二维码。但是我无法将此二维码作为消息发送给用户:
import qrcode
def create_qr_code(string : str):
qr = qrcode.make(string)
return qr
# sending qr to user
qr_code = create_qr_code('some text')
# check if qr_code is None
print(qr_code)
await ctx.send(file=discord.File(fp=qr_code))
我的print
声明returns类似
<qrcode.image.pil.PilImage object at 0x000001BD735FCF28>
,
很好,表明二维码创建成功。
不知为何发送似乎不起作用
您可以使用名为 qrcode 的包,然后使用此代码:
async def qrcode(self, ctx, *, url):
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=10,
border=4,
)
qr.add_data(str(url))
qr.make(fit=True)
img = qr.make_image(fill_color="black",
back_color="white").convert('RGB')
img.save('qrcode.png')
await ctx.send(file=discord.File('qrcode.png'))
顺便说一句,如果您想继续使用 PyQRCode,查看 pypi 文档,您似乎可以这样做:
qr_code.png('code.png', scale=6, module_color=[0, 0, 0, 128], background=[0xff, 0xff, 0xcc])
保存起来。
实际上我自己找到了一个可行的解决方案 解决方案:
首先我创建了一个二维码和return这个对象
import qrcode
def create_qr_code(string : str):
qr_code = qrcode.make(string)
return qr_code
我现在可以使用 BytesIO()
将此二维码作为二进制文件发送到 discord:
import io
def some_other_function():
qr_code = create_qr_code('my string')
with io.BytesIO() as image_binary:
qr_code.save(image_binary, 'PNG')
image_binary.seek(0)
await ctx.send(file=discord.File(fp=image_binary, filename='qr.png'))
我的 discord 机器人在某个命令后创建二维码。但是我无法将此二维码作为消息发送给用户:
import qrcode
def create_qr_code(string : str):
qr = qrcode.make(string)
return qr
# sending qr to user
qr_code = create_qr_code('some text')
# check if qr_code is None
print(qr_code)
await ctx.send(file=discord.File(fp=qr_code))
我的print
声明returns类似
<qrcode.image.pil.PilImage object at 0x000001BD735FCF28>
,
很好,表明二维码创建成功。 不知为何发送似乎不起作用
您可以使用名为 qrcode 的包,然后使用此代码:
async def qrcode(self, ctx, *, url):
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=10,
border=4,
)
qr.add_data(str(url))
qr.make(fit=True)
img = qr.make_image(fill_color="black",
back_color="white").convert('RGB')
img.save('qrcode.png')
await ctx.send(file=discord.File('qrcode.png'))
顺便说一句,如果您想继续使用 PyQRCode,查看 pypi 文档,您似乎可以这样做:
qr_code.png('code.png', scale=6, module_color=[0, 0, 0, 128], background=[0xff, 0xff, 0xcc])
保存起来。
实际上我自己找到了一个可行的解决方案
首先我创建了一个二维码和return这个对象
import qrcode
def create_qr_code(string : str):
qr_code = qrcode.make(string)
return qr_code
我现在可以使用 BytesIO()
将此二维码作为二进制文件发送到 discord:
import io
def some_other_function():
qr_code = create_qr_code('my string')
with io.BytesIO() as image_binary:
qr_code.save(image_binary, 'PNG')
image_binary.seek(0)
await ctx.send(file=discord.File(fp=image_binary, filename='qr.png'))